이 글에는 제휴 링크가 없고 OpenAI·앤트로픽과 아무 관계가 없습니다. 제가 직접 만든 중계기의 개발 기록을 바탕으로 썼습니다. 삽화는 GPT 이미지 생성, 도식은 직접 제작했습니다.
AI가 허락을 기다리다 멈췄다 — 결재 도장을 기다리는 서류 (LLM 중계기 개발기)
결재 서류 한 장을 올렸다고 해 볼게요. 담당자는 “팀장님 도장을 받아야 다음 일을 할 수 있다”며 손을 놓고 기다립니다. 그런데 서류를 나르던 사람이 이 서류를 ‘내가 보낸 서류에 온 답장’으로 착각했어요. 장부를 뒤져 보니 그런 서류를 보낸 기록이 없어서, 조용히 버렸습니다.
팀장님은 서류를 본 적도 없어요. 담당자는 도장이 오기만을 기다리며 아무 일도 못 하고요. 해가 지고 나서야 누군가 “이 일, 멈춘 거 아니야?” 하며 일을 접습니다.
제가 만든 LLM 중계기에서 AI가 바로 이 담당자 신세가 된 날이 있었어요.
이 글은 LLM 중계기 개발기의 30편입니다. 지난 29편 「생각하지 않고 고르기만 하는 창구」에서는 정해진 보기 중에서 고르기만 하는 ‘판정 창구’가 처음에는 보기마다 확률을 다 적느라 느렸던 이야기를 했어요. 오늘은 7편에서 “6부에서 자세히 하겠다”고 약속한 작업 폴더 모드, 그리고 그 기능을 처음 돌린 날 AI가 허락을 기다리다 멈춘 이야기예요.

결론 요약
- 작업 폴더 모드 — Claude와 Codex가 내가 등록한 폴더 안에서 파일을 읽고 고치고 명령까지 실행하게 하는 기능이에요. 진짜 코딩 도구처럼, 위험할 수 있는 일 앞에서는 “해도 될까요?” 하고 허락을 구합니다
- 사고 — 중계기가 그 질문을 아무에게도 전하지 않고 조용히 버렸어요. Codex는 대답을 기다리며 멈췄고, 5분(300초) 동안 아무 진행이 없자 중계기의 시간 초과 장치가 일을 끊었습니다
- 해결 — 이제 중계기는 어떤 질문에도 반드시 답해요. 폴더마다 ‘물어보기·자동 허용·거절’ 중 하나를 정해 두고, 물어보기면 사람 화면에 🔔 승인 카드를 띄웁니다. 2분(120초) 안에 답이 없으면 기본은 ‘거절’이에요
📁 1. 작업 폴더 모드 — AI에게 내 폴더를 맡기는 기능
7편에서 규칙 하나를 정했어요. 채팅은 빈 책상, 일은 내가 고른 폴더. 평범한 채팅용 AI는 아무것도 없는 전용 폴더에 앉혀 질문에만 답하게 하고, 일을 맡길 때는 내가 고른 폴더에 앉힌다는 뜻이었죠. 그 ‘일을 맡기는’ 쪽이 작업 폴더 모드입니다.
Claude와 Codex의 명령어 도구(Claude Code, Codex CLI)는 원래 코딩을 돕는 도구예요. 프로젝트 폴더에서 켜 두고 “이 오류 고쳐 줘”라고 하면, 파일을 열어 읽고, 고치고, 필요하면 명령을 실행해 결과를 확인합니다. 작업 폴더 모드는 이 경험을 중계기를 거쳐서도 그대로 쓰게 해 줘요. 9월 8일 업데이트(v0.1.95)에 들어갔습니다.
- 등록한 폴더만 — 중계기 화면에서 폴더를 미리 등록해 둬요. 요청에는 폴더 주소가 아니라 그 폴더의 이름표(번호)만 실려요
- 권한 세 단계 — 폴더마다 정해요
- 읽기 전용 — 파일을 읽고 찾기만 해요
- 편집 — 폴더 안 파일은 바로 고치고, 명령 실행은 허락이 필요할 때 물어요. 새로 등록하면 이 단계가 기본이에요
- 전체 — 아무것도 묻지 않고 다 해요
- 작업 로그 — AI가 무엇을 했는지 답 위에 한 줄씩 남아요. ▶ 시작, ✔ 끝, ✖ 실패, ⛔ 거절, 🔔 승인 요청
- 이어서 일하기 — 같은 폴더에서 이어서 물으면 AI가 방금 한 일을 기억해요
등록제로 만든 이유가 있어요. 중계기 창구는 내 컴퓨터 안에서만 열리지만, 같은 컴퓨터의 프로그램이라면 어느 것이든 부를 수 있어요. 요청에 폴더 주소를 마음대로 실어 보낼 수 있게 하면, 실수한 프로그램 하나가 내 문서 폴더 전체를 AI 손에 넘길 수도 있습니다. 그래서 사람이 화면에서 직접 등록한 폴더만 열고, 요청은 그 이름표만 가리키게 했어요.
🙋 2. 코딩 AI는 왜 허락을 구할까
채팅 AI는 말만 해요. 코딩 AI는 손을 씁니다. 파일을 새로 쓰거나 지우고, 명령을 실행해요. 명령 하나로 프로그램을 설치하거나, 인터넷에서 무언가를 내려받거나, 폴더 밖의 파일을 건드릴 수도 있죠.
그래서 Claude Code와 Codex는 위험할 수 있는 일 앞에서 잠깐 멈추고 사람에게 물어요. “이 명령을 실행해도 될까요?” 사람이 허락하면 이어 가고, 거절하면 다른 방법을 찾습니다. 묻는 기준은 도구마다 조금 달라요.
- Codex — 정해진 울타리 안에서 일해요. 개발자들은 이 울타리를 샌드박스(sandbox)라고 불러요. 아이들이 모래 상자 안에서만 노는 것처럼, 폴더 안 파일 고치기나 폴더 안에서 끝나는 명령은 울타리 안에서 그냥 합니다. 울타리 밖이 필요한 일, 예를 들어 폴더 밖을 건드리거나 인터넷에 나가야 하는 명령은 허락을 구해요. 설정에 따라서는 명령마다 묻게 할 수도 있어요
- Claude Code — 파일 편집은 자동으로 허락하는 모드가 있어요. 하지만 명령 실행은 따로 물어요. 다만 파일 목록 보기나 개수 세기처럼 읽기만 하는 명령은 스스로 안전하다고 보고 묻지 않아요
이 ‘허락해도 될까요?‘가 오늘 이야기의 결재 서류예요. 사람 앞에서 직접 쓸 때는 화면에 질문이 뜨니 문제가 없어요. 그런데 중계기를 거치면, 이 서류를 사람 책상까지 날라 줄 누군가가 필요합니다.
📭 3. 사고 — 아무도 받지 않은 결재 서류
작업 폴더 모드는 9월 8일 오후에 완성됐어요. 새로 넣은 시험 30건도, 제 컴퓨터에서 실제 Claude와 Codex로 돌린 단계별 점검도 모두 통과했습니다. 제 컴퓨터에서는 Codex의 명령이 울타리 안에서 처리돼서, 허락을 물을 일이 없었거든요.
출시 전에 다른 컴퓨터에서도 실제로 돌려 봤어요. Codex에게 명령을 실행하는 일을 맡기자 작업 로그에 ’▶ 명령 시작’이 찍혔습니다. 그리고 그 뒤로 아무것도 오지 않았어요. 답도, 오류도, 진행 표시도요. 5분이 지나자 중계기가 “진행이 멈췄다”며 시간 초과로 일을 끊었습니다.
중계기에는 AI가 5분(300초) 동안 아무 진행이 없으면 멈춘 것으로 보고 끊는 장치가 기본으로 들어 있어요. 11편에서 본 ‘그만’ 신호를 시간이 대신 보내는 셈이죠. 이번에는 그 장치가 일을 끊었을 뿐, Codex 쪽은 끝까지 대답을 기다리고 있었어요.
원인을 따라가 보니 결재 서류였어요.
① 그 컴퓨터에서는 Codex의 명령이 울타리 밖 일로 처리돼서, Codex가 “이 명령 실행해도 될까요?”라는 허락 요청을 중계기에 보냈어요 ② 이 요청에는 번호가 붙어 있었어요. “답장을 기다리는 질문”이라는 표시예요 ③ 그런데 중계기의 우편 담당은 “번호가 붙은 메시지는 내가 보낸 질문에 온 답장”이라고만 알고 있었어요. 장부를 뒤져 봤지만 그 번호로 보낸 질문은 없었죠. 그래서 조용히 버렸습니다 ④ Codex는 답을 받기 전에는 다음 단계로 넘어갈 수 없어요. 사람 화면에는 질문이 온 적도 없으니, 누구도 도장을 찍어 줄 수 없었어요

Claude 쪽은 멈추지 않았어요. 첫 버전은 ‘편집’ 권한에서 Claude에게 명령 실행 도구를 아예 주지 않았거든요. 물어볼 일이 없으니 멈출 일도 없었지만, 대신 명령은 하나도 쓸 수 없었습니다.
🔁 4. 첫 번째 고침 — 어떤 질문에도 반드시 답한다
몇 시간 뒤 첫 고침이 들어갔어요. 우편 담당에게 규칙을 하나 더 가르쳤습니다. 번호가 붙어 있어도 ‘질문’이면 버리지 말고, 반드시 답한다.
처음에는 사람에게 묻지 않고 폴더 권한을 보고 그 자리에서 답했어요.
- 전체 권한 폴더 → 허락
- 편집 권한 폴더 → 폴더 안 파일 바꾸기만 허락하고, 명령은 거절. 거절하면 작업 로그에 ⛔로 남아요
- 읽기 전용 폴더 → 거절
- 작업 폴더가 아닌 일반 채팅에서 온 허락 요청 → 거절
7편에서 “일반 채팅의 AI가 명령을 시도하면 승인 요청을 자동으로 거절한다”고 했죠. 그 거절도 이날 만든 ‘반드시 답한다’ 장치 위에서 돌아가요.
같은 고침에 기록도 더했어요. 작업 폴더에서 일하는 동안 Codex가 내는 경고와 오류 메시지를 중계기 기록에 남겨서, 어떤 컴퓨터에서 왜 명령이 허락 요청 쪽으로 가는지 나중에 볼 수 있게 했습니다.
이제 멈추지는 않았어요. 하지만 금방 한계가 보였습니다.
- 편집 폴더에서 명령이 전부 막혔어요 — Codex는 파일을 읽을 때도 명령을 써요. 그래서 명령마다 허락을 묻는 컴퓨터에서는, 편집 권한인데도 AI가 파일 하나 제대로 읽지 못했어요
- 사람에게 묻는 경험이 사라졌어요 — 진짜 Claude Code와 Codex는 사람에게 물어요. 중계기가 대신 정해 버리면, 사람이 “이 명령은 괜찮아”라고 말할 기회가 없어요
🔔 5. 두 번째 고침 — 승인 벨을 달다
같은 날 저녁, 두 번째 고침이 들어갔어요. 이번에는 결재 서류를 사람 책상까지 날라 주는 방식이에요. 중계기가 AI의 질문을 받아, 그 일을 맡긴 쪽 화면에 벨을 울립니다. 개발 기록에는 이 기능이 ‘승인 중계’라고 적혀 있어요.
폴더를 등록할 때 규칙을 하나 골라요.
| 폴더 규칙 | 명령 허락이 필요할 때 | 어울리는 쓰임 |
|---|---|---|
| 물어보기 (기본) | 사람 화면에 🔔 승인 카드를 띄우고 결정을 기다려요 | 사람이 채팅 화면에서 지켜볼 때 |
| 자동 허용 | 폴더 안에서 하는 명령은 묻지 않고 허락해요 | 사람 없이 혼자 도는 프로그램 |
| 거절 | 늘 거절해요 | 명령은 절대 실행하면 안 되는 폴더 |

‘물어보기’ 폴더에서 AI가 허락을 구하면, 중계기 채팅 화면의 작업 로그에 승인 카드가 떠요. 카드에는 실행하려는 명령과 “120초 안에 결정”이라는 안내, 그리고 버튼 세 개가 있습니다.
- 허용 — 이번 명령만 허락해요. 작업 로그에 ▶ 실행이 이어져요
- 세션 동안 허용 — 이 폴더의 이번 대화가 이어지는 동안은 다음 명령도 묻지 않고 허락해요
- 거절 — ⛔가 찍히고, AI가 다른 방법을 찾아요
사람이 아니라 프로그램이 중계기를 쓰는 경우도 생각했어요. 답을 조금씩 흘려받는 방식(스트리밍)으로 요청하면, 흘러오는 답 사이에 ‘승인 요청’ 알림과 번호가 함께 와요. 프로그램은 그 번호로 중계기의 승인 창구에 ‘허용’이나 ‘거절’을 보내면 됩니다. 답을 한꺼번에 받는 방식은 중간에 대답할 틈이 없어서, 허락이 필요한 순간 거절로 처리해요. 그런 프로그램에는 ‘자동 허용’ 규칙을 권하고요.
그리고 이번 사고에서 배운 원칙을 그대로 넣었어요. 대답 없는 질문은 없다. 답이 안 오면 ‘아니요’다.
- 2분(120초) 안에 아무도 결정하지 않으면 거절
- 요청을 보낸 쪽이 연결을 끊으면, 기다리던 허락 요청도 바로 거절. 11편의 ‘그만’ 신호가 여기까지 닿아요
Claude도 같은 벨을 달았어요. 이제 편집 권한의 Claude에게도 명령 실행 도구를 주되, 명령을 실행하기 전에는 이 벨을 거치게 했습니다.
벨을 달고 나서 작은 일이 하나 더 있었어요. 단계별 점검 도구의 한 단계가 벨을 듣지 않아서, 허락이 필요한 요청마다 2분을 꼬박 기다린 뒤 거절로 끝났거든요. 멈추지 않고 끝난 건 원칙이 일했다는 뜻이지만, 점검 도구도 벨에 답하도록 고쳤어요. 벨을 달면 듣는 쪽도 있어야 합니다.
그날 밤 이 모든 것을 담아 업데이트를 내보냈어요. 제 컴퓨터에서 실제 Claude와 Codex로 돌려 보니 승인 요청 1건 → 허용 → 실행으로 이어졌고, 실제 화면에서도 🔔 카드를 눌러 끝까지 가는 것을 확인했습니다.
한 시간쯤 뒤에는 화면의 예시 질문도 바꿨어요. 작업 폴더 모드에는 네 단계로 기능을 시험해 보는 예시 질문이 있는데, 마지막 단계가 원래 ‘파일 개수 세기’였어요. 그런데 Claude Code는 이런 명령을 읽기 전용으로 보고 묻지 않아서 카드가 뜨지 않았어요. “허락 없이 실행됐다”고 오해하기 쉬웠죠. 그래서 Claude Code도 허락을 묻는 명령, 계산 한 줄을 실행하는 명령으로 바꿨습니다.
🛡️ 6. AI에게 손을 맡길 때의 안전장치
작업 폴더 모드는 AI에게 손을 빌려주는 기능이에요. 그래서 편하게 쓰는 만큼 안전장치도 겹겹이 두었어요.

- 등록한 폴더만 — 요청은 이름표만 가리켜요. 사람이 등록하지 않은 폴더는 열 수 없어요
- 폴더 밖은 막기 — 편집 권한에서 Codex가 폴더 밖 파일을 바꾸거나 폴더 밖에서 명령을 실행하려 하면, 폴더 규칙이 무엇이든 거절해요. ‘자동 허용’도 폴더 안에서 하는 명령만 허락해요
- 기본은 물어보기 — 새로 등록하는 폴더는 ‘편집’ 권한에 ‘물어보기’ 규칙으로 시작해요. 다 맡기는 ‘전체’는 사람이 직접 골라야 해요
- 답이 없으면 아니요 — 시간 초과, 연결 끊김, 답할 틈이 없는 요청은 모두 거절로 끝나요. 멈춰서 기다리는 일은 없어요
- 규칙을 바꾸면 새로 시작 — 폴더의 권한이나 규칙을 바꾸면 그 폴더에서 이어지던 AI 대화를 끝내고 새로 시작해요. 예전에 눌러 둔 ‘세션 동안 허용’도 함께 사라져요
- 손을 뗐는지 확인 — 10월 1일 업데이트(v0.1.109)에서 더한 장치예요. 중계기를 쓰는 다른 도구 하나는 일을 맡길 때마다 폴더를 등록했다가, 끝나면 해제하고 결과물을 가져가요. 그런데 AI가 아직 그 폴더에서 손을 놓지 않았다면, 가져간 결과물이 그 뒤에 또 바뀔 수 있죠. 그래서 폴더를 해제할 때 중계기가 그 폴더의 AI가 정말 멈췄는지 확인하고, ‘멈춤 확인’ 또는 ‘확인 못 함’으로 답하게 했어요. 확인 못 함이면 결과물을 믿지 말라는 뜻이에요
오늘 이야기의 교훈은 하나예요. 중간에 선 사람은 답만 나르는 게 아니라 질문도 날라야 한다. 그리고 그 질문에는 반드시 답이 가야 해요. 답이 오지 않는 질문은 서류를 든 담당자를 하염없이 세워 둡니다. 사람이 답할 수 없을 때는 미리 정한 규칙이 답하고, 그것도 없으면 ‘아니요’가 답이에요.
정리
① 작업 폴더 모드는 Claude와 Codex가 내가 등록한 폴더에서 파일을 읽고 고치고 명령까지 실행하게 해요. 진짜 코딩 도구처럼, 위험할 수 있는 일 앞에서는 허락을 구해요 ② 처음에는 중계기가 Codex의 허락 요청을 ‘내 질문의 답장’으로 착각해 조용히 버렸고, Codex는 대답을 기다리다 5분 뒤 시간 초과로 끊겼어요 ③ 이제 중계기는 어떤 질문에도 반드시 답해요. 폴더마다 물어보기·자동 허용·거절을 고르고, 물어보기면 사람 화면에 🔔 승인 카드가 뜨며, 2분 안에 답이 없으면 거절이에요
다음 31편은 「검사는 지우지 않는다」예요. 오늘처럼 사고 하나를 고칠 때마다 그 사고를 다시 잡아낼 검사를 하나씩 남겨 온 이야기예요. 오늘의 고침에도 ‘허락 요청을 흉내 내 보내고 반드시 답이 오는지’ 확인하는 검사가 함께 들어갔어요. 그리고 검사가 느리면 아무도 돌리지 않게 된다는 교훈도 다룰게요. 끊는 신호 이야기는 11편에, 채팅용 빈 책상 이야기는 7편에 있어요.
2026년 10월 2일 기준입니다. 제가 만든 중계기의 개발 기록을 바탕으로 썼고, 특정 기업·서비스의 공식 입장이 아닙니다. 진행 없음 시간 초과(5분), 승인 대기 시간(2분), 폴더의 기본 권한과 규칙은 기본 설정값이라 이후 버전에서 바뀔 수 있어요. Claude Code와 Codex가 언제 허락을 묻는지는 각 도구의 버전과 설정에 따라 다를 수 있어요.