여러 AI 에이전트에게 하나의 프로젝트를 맡기는 순간, 충돌·조용한 사고·책임 불명이 시작됩니다. 이 페이지는 한 사람이 실제로 AI 팀을 굴리는 방식을 그대로 공개합니다 — 가장 똑똑한 모델이 관리자로서 계획·배분·검수를 맡고, Codex가 실무자로 코드를 만들고, 서로 다른 회사의 모델이 서로의 결과를 검수하며, 사람에게는 중요한 결정만 옵니다.
2026년 10월 실제 운영 기준 · 모델은 바뀌어도 자리와 역할은 그대로 · GitHub 무료 요금제용 오픈소스 엔진(Apache-2.0) 포함
AI 에이전트 하나로 뭔가를 만들어 본 사람이라면, 두 개를 쓰기 시작한 순간 이 장면들을 만나게 됩니다.
서로의 존재를 모르는 두 에이전트가 같은 곳을 수정합니다. 발견은 늘 한 시간 뒤, 수습은 당신 몫입니다.
AI가 문제를 없애는 가장 빠른 길을 택했고, 그 변경은 이미 본선에 반영된 뒤에야 눈에 띄었습니다. 되돌릴 수 있을 때 잡았어야 합니다.
아침에 열어 보니 변경이 잔뜩. 어느 도구가, 어떤 세션에서, 무슨 근거로 했는지 아무 기록이 없습니다.
"다 됐습니다"라는 말과 실제 완료 사이의 간격 — AI와 일할 때 가장 비싼 간격입니다.
한 모델에게 전부 시키지 않습니다. 회사처럼 자리를 나눕니다. 자리는 역할이고, 모델은 그 자리의 현재 주인입니다 — 새 세대가 나오면 주인만 바꿉니다.
무엇을 왜 만들지 정하고, 결과나 권한이 달라지는 결정만 내립니다. 결정은 열린 질문이 아니라 장단점이 붙은 2–4개 선택지로 받습니다. 가벼운 건 대화 안에서, 무거운 건 5분이면 읽히는 보고서형 질문지로 — 결정 카드는 많아야 세 장. 함께 설계하되, 코드는 직접 짜지 않습니다.
일을 쪼개고, 누구에게 맡길지 정하고, 위임 지시서를 쓰고, 검수 방법을 설계하고, '완료'를 판정합니다. 게으르고 똑똑한 관리자처럼 — 이 자리의 산출물은 코드가 아니라 지시서·결정·판정입니다. 큰 일은 워크플로우를 짜서 여러 하위 에이전트에게 나눠 돌리고 결과를 모읍니다.
코드를 만들고 고치는 일을 맡고, 다른 회사의 모델로서 계획 자문과 교차 검수도 합니다. 일마다 생각의 깊이, 곧 effort를 따로 정합니다 — 대형 병렬 빌드는 ultra, 판단·검수는 max, 평소 구현은 xhigh, 검사기가 결과를 확인해 주는 기계적 작업은 high. 구독 사용량은 한정된 자원이라 아무 일이나 던지지 않습니다.
코드가 아닌 대량 작업 — 문서 수백 건 읽기, 요약, 전수 점검, 검증 패스 — 을 맡습니다. 급하지 않은 일은 절반 가격인 배치 처리로 돌리는 것이 원칙이고, 그렇지 않으면 여러 일꾼을 동시에 띄워 나눠 처리합니다.
검수는 그 결과를 만들지 않은 새 좌석이 합니다. 가능하면 다른 회사의 모델로 — Claude가 만든 것은 Codex가, Codex가 만든 것은 Claude가 봅니다. 둘이 동의하면 확정, 엇갈리면 제3의 판정자나 사람에게 갑니다. 같은 회사 모델끼리의 합의는 '다양성'으로 치지 않습니다.
규칙 변경·구조 설계·데이터 이전·보안 경계·되돌릴 수 없는 조치처럼 무거운 일은, 지휘석이 실행 전에 다른 회사 모델에게 계획을 자문받습니다. 자문역은 초안을 보기 전에 자기가 보는 위험과 대안부터 말하고, 깊게 한 번 봅니다. 채택·기각한 의견은 이유와 함께 기록하고, 중대한 이견이 풀리지 않으면 그 단계만 사람의 결정을 기다리며 나머지 일은 계속합니다. 자문역을 쓸 수 없을 땐 그 사실을 기록하고 진행하며, 자문한 좌석은 같은 작업의 검수자가 될 수 없습니다.
무엇을, 왜. 구현 방법까지 말할 필요는 없습니다.
직접 할지, 누구에게 얼마나 깊이 맡길지를 먼저 한 줄로 적습니다(예: 'Codex · xhigh — 여러 파일 구현'). 무거운 계획이면 여기서 계획 자문을 받습니다.
지시서에는 바꿔도 되는 범위와 새 구성요소를 만들어도 되는지가 들어갑니다. 결과는 변경 제안(PR)으로만 올라오고, 정식 버전인 본선(main)에 직접 올리는 길은 서버가 막습니다.
만든 적 없는 좌석이, 가능하면 다른 회사 모델로. 무엇을 봤고 무엇을 안 봤는지 — 검수 범위도 함께 적습니다.
에이전트가 PR마다 자동 병합을 켜 두면, 필수 검사가 모두 초록이고 리뷰 대화가 정리되는 순간 GitHub가 합칩니다. 사람이 버튼을 누를 일이 없습니다.
목표 대비 지금 어디인지 · 사람이 할 일이 있는지 · 다음 단계의 조건과 예상 시점 · 기다리는 결정. 세부 기록은 링크로.
처음엔 직접 만든 봇으로 구현했고, 지금은 대부분을 GitHub의 서버 규칙과 규칙 문서로 구현합니다. 도구는 바뀌어도 장치는 그대로입니다.
본선(main)에 직접 올리는 길은 막혀 있습니다. 모든 변경은 PR로 들어오고, 필수 검사가 모두 초록이고 리뷰 대화가 정리돼야 합쳐집니다. 강제 덮어쓰기와 본선 삭제는 금지, 예외 계정은 없음 — 모든 AI에게 똑같이. 에이전트가 PR마다 자동 병합을 켜 두면, 조건이 갖춰지는 순간 GitHub가 합칩니다. 판정을 GitHub 서버가 하므로, 감시 봇이 멈춰도 규칙은 그대로 서 있습니다.
모든 일은 두 질문으로 가립니다: 되돌릴 수 있는가? 중요한 부분을 건드리는가? 되돌릴 수 없으면서 중요한 일, 그리고 미리 적어 둔 '심각 목록' — 되돌릴 수 없는 데이터 삭제, 약 100달러 이상의 지출과 새 금전 약정, 새 공개 서비스, 보안 경계 완화, 제3자 데이터·외부 소통·법무, 결과물 내용의 삭제·변경 — 만 실행 전에 사람의 승인을 받습니다. 서비스 배포는 앱마다 정해 둔 승인 정책을 따릅니다. '상시 위임'으로 등록된 앱의 통상 배포만 알아서 하고, 사용자 데이터가 걸린 앱처럼 '매번 승인'으로 지정됐거나 정책이 없는 앱은 먼저 묻습니다. 나머지는 상시 위임이되, 되돌릴 지점·기록·사후 검증이 의무입니다. 물어볼 필요 없는 걸 묻는 것도 규칙 위반이고, 한 번 명시적으로 승인한 일은 절차 끝까지 다시 묻지 않습니다.
어떤 도구가, 어떤 모델로, 어떤 작업 세션에서, 어느 기기에서, 어떤 작업 건으로 바꿨는지 — 다섯 줄 신원 서명에 공동 작성자 한 줄을 더해, 여섯 줄이 에이전트의 모든 변경에 붙습니다. 서명 검사를 필수 검사로 걸어 두면 서명 없는 에이전트 변경은 합쳐지지 않습니다 — 신원이 확인된 의존성 업데이트 봇의 원본 커밋만 예외이고, 아래 엔진의 기본 검사는 앞의 다섯 줄을 봅니다. "밤새 무슨 일이 있었나"가 아침에 다 읽힙니다.
'완료'는 느낌이 아니라 판정입니다. 남은 검토가 0이거나 사람이 볼 목록으로 정리돼 있고, 실패한 항목까지 포함해 선언한 범위를 전부 대조했고, 무엇을 검증했고 무엇을 검증하지 않았는지 — 빠진 것과 승인을 기다리는 것까지 — 드러나 있어야 합니다. 데이터와 배포는 여기에 독립 검수를 통과한 영수증, 곧 검증 결과 파일과 수치가 더해져야 '완료'입니다. 배포는 실제로 떠 있는 버전과 기록을 대조하고, 어떤 모델이 일했는지 확인되지 않으면 추측하지 않고 '미확인'이라고 적습니다.
하나하나가 실제로 비용을 치른 사고에서 나왔습니다. 번호는 바꾸지 않습니다 — 규칙이 표류하지 않도록.
AI 팀이 커질수록 생기는 병 — 과설계, 같은 실수의 반복, 조용한 실패, 새는 비용 — 을 막는 습관입니다.
위임 지시서마다 '바꿔도 되는 범위'와 '새 구성요소를 만들어도 되는지'를 적습니다. 범위를 넘어야 하면 만들기 전에 이유를 기록하고, 결과가 과하면 최소안으로 다시 만듭니다. '하는 김에' 떠오른 일은 메모로 남길 뿐, 몰래 하지 않습니다.
같은 관문에서 고치고 다시 검증하기를 세 번 실패하면, 다음 수정 전에 근본 원인·대안·선택 이유를 기록합니다. 네 번째도 실패하면 다른 회사 모델에게 자문을 구합니다.
30분 넘게 걸릴 일은 시작할 때 상태 파일을 만들고 진행을 적습니다. 끝나든 실패하든 먼저 알립니다. 사람이 "아직이야?"라고 물어야 했다면, 그 자체가 규칙 위반입니다.
보고는 네 가지입니다: 목표 대비 지금 어디인지, 사람이 할 일이 있는지, 다음 단계의 조건과 예상 시점, 기다리고 있는 결정. 사람이 할 일은 대개 없습니다. PR 번호나 검수 라운드 같은 세부는 기록에 두고 링크만 겁니다.
예상 10달러 이상의 유료 대량 작업은 실행 전에 확인받습니다. 급하지 않은 대량 작업은 절반 가격의 배치가 원칙이고, Codex 작업은 일마다 생각의 깊이를 따로 정합니다. 자동 검사(CI) 같은 유료 검사는 중간 수정 때는 로컬에서 돌리고 병합 후보가 됐을 때 한 번 올리며, PR은 초안으로 시작합니다.
사람이 명시적으로 승인한 작업은, 승인한 범위 안에서 에이전트가 되묻지 않고 정해진 절차 끝까지 실행합니다. 심각 목록은 여전히 먼저 승인받습니다. 안전장치가 작업을 막으면 우회하지 않고 기록합니다 — 승인한 일을 잘못 막은 경우만 규칙을 손보고, 승인 없는 중대한 일을 막은 건 규칙이 제대로 작동한 것으로 봅니다.
같은 도구라도 쓰는 사람의 방식은 다 다릅니다. 업무 취향과 규칙을 한 곳에 적어 두면, 모든 에이전트가 그것을 읽고 따릅니다 — 규칙 요약본은 매 세션, 취향 원장은 관련 결정을 내리기 전에.
지금의 구성은 세 덩어리입니다. 단계마다 에이전트에게 맡기고, 사람은 결제·로그인·권한 동의처럼 본인만 할 수 있는 순간에만 나섭니다.
규칙·취향 원장·작업 시트를 비공개 저장소 하나에 모으고, 에이전트가 세션을 시작할 때마다 그 요약본을 읽게 합니다 — Claude Code는 CLAUDE.md, Codex는 AGENTS.md. 같은 규칙은 한 곳에만 두고, 나머지는 그곳을 가리킵니다.
개인 계정의 비공개 저장소라면 월 4달러짜리 GitHub Pro, 조직 소유라면 Team 이상의 요금제가 필요하고, 공개 저장소는 무료로도 됩니다. 저장소마다 서버 규칙을 겁니다 — 변경 제안(PR) 필수 · 사람 승인 0건 · 리뷰 대화 정리 필수 · GitHub Actions가 낸 필수 검사 통과 · squash 병합 · 직선 이력 · 강제 덮어쓰기와 본선 삭제 금지 · 예외 계정 없음 · 자동 병합 허용. 혼자 운영하면 자기 PR을 스스로 승인할 수 없으니 사람 승인 대신 검사로 막고, 검사가 아직 없는 저장소도 PR 필수부터 겁니다. 자동 병합은 저장소에서 허용해 두고 PR마다 에이전트가 켭니다. squash는 변경 묶음을 한 줄의 기록으로 합치는 방식입니다. 설정은 에이전트가, 결제는 사람이.
Claude Code에서 Fable을 지휘석으로 쓰고, ChatGPT 데스크톱 앱에 들어 있는 Codex를 실무석으로 연결합니다. Codex 쪽은 이미 내는 ChatGPT 구독 안에서 돌아가므로 별도 API 키가 필요 없습니다. 다만 지휘석 Fable은 현재 구독과 별도인 선불 크레딧으로 쓰고, 배치 처리도 구독과 별도로 과금됩니다. 연결 스크립트는 모델을 고정하고, 생각의 깊이를 매번 지정하게 하고, 호출마다 영수증을 남깁니다. 이 스크립트는 여기서 배포하지 않습니다 — 아래 프롬프트가 당신의 에이전트에게 같은 조건의 작은 스크립트를 직접 만들게 합니다. 10분 안에 끝나는 짧은 일은 바로 부르고, 긴 일은 백그라운드로 띄운 뒤 회수합니다.
사람이 하는 순간: 결제 · 로그인 · 권한 동의You are my AI agent. Help me run my AI work as a team, using the operating discipline at https://ai.jdg.dev/multiagent/ — read that page first. 1. Interview me in my own language (one batched round, offer defaults): my repositories, the AI subscriptions I have, my working preferences. 2. Before changing anything, show me a plan for: one private rules repository that every agent reads at session start; GitHub rulesets on my repositories (pull requests required, zero required approvals, review conversations resolved, required checks published by GitHub Actions, squash only, linear history, no force-push, no default-branch deletion, no bypass, auto-merge allowed, which you switch on for every pull request you open; private repositories need a paid plan: GitHub Pro for a personal account, Team or above for an organization); and a team shape where you act as the command seat and hand code implementation to Codex through a small wrapper script you write for me — it must pin the model, refuse any call without an explicit effort value, and append one receipt line per call — choosing the effort per job, and never letting the maker check its own work. 3. After I approve, apply it step by step and verify each step yourself. Never handle my passwords, payments or account sign-ins — when we reach those moments, walk me through the clicks.
신뢰를 다루는 방식이 스스로 과장하면 그걸로 끝입니다. 어떤 규칙이 기계로 강제되고, 어떤 규칙이 약속으로 지켜지는지 구분해 적습니다.
안 되는 것을 된다고 쓰지 않는 것 — 그것도 이 규율의 일부입니다.
비공개 저장소인데 Pro 결제가 어렵거나, 에이전트 신원 대조와 결재함까지 봇에게 맡기고 싶다면 이 엔진이 있습니다. GitHub 서버 규칙으로 옮기기 전까지 실제로 쓰던 방식이고, 지금도 설치·작동합니다. 봇이 라벨·검사·최신성·서명을 확인한 뒤에만 병합하고, 중요한 결정은 결재함 이슈로 도착해 👍 하나로 승인하며, 병합 뒤 재검증과 비상 조치의 24시간 사유서 감사까지 맡습니다. 설치 표준은 "당신의 AI 에이전트에게 통째로 맡기기" — 사람이 직접 하는 일은 딱 두 번입니다.
내 GitHub 계정, 지킬 저장소, 그리고 내 취향. 브라우저 위저드를 쓰면 전부 브라우저 안에서만 처리되고, 설정 파일 6개와 에이전트용 위임 프롬프트가 만들어집니다. 위저드를 건너뛰고 아래 프롬프트를 쓰면, 에이전트가 대화로 인터뷰해서 같은 설정 파일 6개를 만듭니다.
Claude Code, Codex — 뭐든 좋습니다. 에이전트가 공식 런북(0–9단계)을 따라 저장소 생성부터 최종 검증까지 실행하고, 단계마다 스스로 검증합니다.
① GitHub App 등록 화면에서 클릭 몇 번 ② "이제 진짜로 켜자"는 최종 확인. 그 사이의 모든 것 — 설정, 배선, 검사, 시운전 — 은 에이전트의 일입니다.
사람이 하는 유일한 두 순간You are my AI coding agent. Set up multiagent-protocol for me. Fetch and follow: https://raw.githubusercontent.com/donggun-jung/multiagent-protocol/main/docs/agent-setup/AGENT_SETUP.md I have not prepared any config. Start with the runbook's Interview Mode: interview me in my own language (one batched round, offer defaults), build the six config files from my answers, confirm the summary back to me, then execute steps 0-9. Involve me only at the [HUMAN] steps, and when we reach them, walk me through the clicks step by step.
Apache-2.0 · 서버 없음 · 내 GitHub 계정 안에서만 작동 · 어떤 데이터도 밖으로 나가지 않음
| 도구 | 하는 일 | 이 프로토콜과의 관계 |
|---|---|---|
| AI 오케스트레이터 (AI Maestro 등) | 여러 에이전트 세션을 띄우고 서로 대화하게 함 | 보완 — 그쪽은 에이전트를 "일하게" 하고, 우리는 그 일이 "합쳐질 자격"을 지킵니다. 같이 쓰면 좋습니다 |
| CI (GitHub Actions의 테스트 등) | 코드 검사를 실행 | 보완 — 우리는 그 결과를 병합 조건으로 소비합니다. 검사는 당신 것, 신호등은 우리 것 |
| GitHub Pro 서버 규칙 (ruleset) | 내장 병합 보호 — 비공개 저장소는 유료 | 지금의 기본값 — 결제가 가능하다면 이쪽이 더 단순하고 단단해서, 이 규율도 여기로 옮겼습니다. 에이전트 신원은 서명 필수 검사로, 결재는 승인 경계 규칙으로 보탭니다 |
엔진의 전체 상태표는 STATUS.md에 있습니다.