1. 왜 필요한가
2026-09-17 이전에는 사용자가 오케스트레이션의 주체였음. 세 가지 부담이 있었음.
진입점이 15개
도메인 에이전트마다 「X 에이전트 실행」 문구가 따로 있어 어떤 에이전트를 언제 깨울지 사람이 기억해야 했음.
상태가 5곳에 분산
각 기억 파일의 미완료 섹션, 핸드오프, 노션, 그록봇 작업함, LAN 노트북 작업함. 전체를 한눈에 볼 화면이 없었음.
전환 비용
XR 마에스트로 기억 파일 900KB 등, 에이전트를 바꿀 때마다 파일 전체를 읽어 병렬 운용이 부담스러웠음.
2. 동작 메커니즘 세션 시작부터 마감까지
단계별로 보면
세션 시작 훅
세션이 열리면 pm_board.py --hook가 자동 실행됨. Codex 대화를 저널로 내보내고, 현황판을 새로 만들고, 요약 5~6줄을 세션 맨 앞에 주입함. 사용자가 아무것도 하지 않아도 「다음 시작 액션·마감 임박·미반영·외부 작업함」이 먼저 보임.
현황판 로드·브리핑
「PM 에이전트 실행」 시 PM은 board.md와 PM_MEMORY(카탈로그·라우팅 표)를 읽고 오늘 최우선 3건, 마감·연체, 미반영, 외부 작업함, 나침반을 5~10줄로 브리핑함.
라우팅·위임
지시를 라우팅 표로 담당 에이전트에 매핑함(창진원·PMS → changjinwon, 주문서·잔고 → medi …). 애매하면 후보 2개 제시. PM은 직접 일하지 않고 해당 에이전트를 서브에이전트로 띄움. 위임 프롬프트에는 스킬 경로·과업·완료 기준·제약·보고 형식만 담고, 기억 파일은 서브에이전트가 스스로 읽음(PM 컨텍스트 절약).
에이전트 실행·기억 갱신
서브에이전트는 MEMORY+STATE를 로드하고, Codex 인덱스에 자기 담당 미반영 스레드가 있으면 먼저 반영함(자기 치유). 작업 후 STATE(미완료)·LOG(이력)를 갱신함. 독립 과업은 병렬, 같은 기억 파일을 쓰는 작업은 순차.
회수·검증·재생성
5줄 이내 보고를 받으면 PM이 산출물 존재·핵심 수치·기억 갱신 여부를 확인함. 증거 없는 완료 주장은 인정하지 않음. 이후 현황판을 재생성함.
핸드오프
「/handoff」·「오늘 끝」 시 handoff_latest·일일 저널·결정 기록에 저장. 클로드 코드·Codex·Cursor 어디서 마감하든 같은 파일이라 다음 도구가 그대로 이어받음.
3. Codex(ChatGPT Pro)와의 공유 구조
공유되는 것 (같은 파일)
지침(CLAUDE.md → AGENTS.md 복제), 스킬 15개와 기억 파일, 세션 저널. 두 도구가 같은 경로를 읽고 씀. 「X 에이전트 실행」·「PM 에이전트 실행」 문구도 동일.
Codex → 클로드
Codex 앱은 대화를 로컬 DB에만 둠. codex_bridge.py가 Codex 고유 대화(클로드에서 가져온 세션·서브에이전트 제외)를 사용자 발화+최종 응답 단위로 _journal/codex/threads/에 내보내고 INDEX를 만듦. 기억 파일에 쓰지 않은 대화는 「미반영」으로 표시.
클로드 → Codex
Codex 앱의 외부 세션 가져오기가 클로드 세션 기록을 스스로 수입함. 별도 작업 없음. ChatGPT 웹(브라우저) 대화는 브리지 대상이 아님.
4. 기억 파일 3분할 xr-maestro · changjinwon · medi · goyang-suwon · moving · streamroger
| 파일 | 내용 | 로드 시점 |
|---|---|---|
*_MEMORY.md | 핵심 사실 — 환경·인물·규정·경로·원칙. 하단에 「로그 인덱스」(LOG로 옮긴 섹션 제목 목록) | 매 세션 |
*_STATE.md | 현재 미완료·다음 액션. 완료·폐기 항목은 여기서 지우고 LOG 말미로 이동 | 매 세션(MEMORY 다음) |
*_LOG.md | 작업 로그·결정 이력·세션 기록. 원문 순서 그대로 보존 | 필요할 때만 인덱스로 검색 |
섹션 단위로 원문을 옮겨 정보 손실 없이 분할함(문자 수 합 검증). 분할 전 원본은 각 폴더 _archive/. 매 세션 로드량은 XR 마에스트로 기준 567K자 → 59K자. 나머지 에이전트는 단일 MEMORY를 유지하며 300KB를 넘으면 분할을 제안함.
5. 사용법
진입 문구
| 상황 | 말하면 되는 것 |
|---|---|
| 전체 현황 브리핑 | PM 에이전트 실행PM 모드현황판전체 현황오늘 뭐부터 할까 |
| 특정 영역 작업 | 그냥 지시 → PM이 라우팅·위임. 예: 미콘제 9월 월간보고 초안 만들어줘 |
| 여러 영역 동시 | 한 문장에 함께. 예: 창진원 사운위 보완 v2 마무리하고 메디월드 9/18 주문서도 확인해줘 |
| Codex 미반영 정리 | Codex 미반영 반영해줘 |
| 주간 점검(월요일 첫 세션) | 주간 리뷰 → 2주 무진행 항목·휴면 후보·기억 파일 크기 점검 |
| 에이전트 직접 호출 | 기존 문구 그대로. 예: 메디월드 에이전트 실행 — PM을 거치지 않음 |
| 세션 마감 | /handoff오늘 끝세션 마감 |
하루 루틴
세션 열기 → 자동 주입된 [pm-board] 요약 확인. 없으면 「PM 에이전트 실행」
브리핑의 최우선 3건·마감 임박·미반영·외부 작업함 확인
평소 말로 지시 → PM이 에이전트를 서브에이전트로 실행(기억 로드 → 작업 → 기억 갱신 → 5줄 보고)
보고 확인 → 추가 지시 또는 다른 영역으로 이동
마감 시 「/handoff」 → 핸드오프·일일 저널·결정 기록 저장
대화 예시
6. 현황판 읽는 법 ~/.claude/memory/_journal/board.md
| 섹션 | 내용 | 볼 때 포인트 |
|---|---|---|
| §1 다음 시작 액션 | 직전 핸드오프의 다음 액션 | 저장 시각이 오래됐으면 핸드오프 누락 의심 |
| §2 노션 마감 임박·연체 | 활성 태스크 중 14일 내 마감 / 마감 경과 | 연체는 완료·보류 처리 대상(사용자 결정) |
| §3 에이전트별 현황 | 기억 갱신일·최근 기록·Codex 최근·미반영·상태 + 에이전트별 미완료 상위 항목 | 미반영 ≥1이면 해당 에이전트 실행 시 자동 선반영 |
| §4 외부 작업함 | Codex-Grok(그록봇)·LAN 노트북 작업 | RETURNED·중단요청은 회수·판정 필요 |
| §5 Codex 스레드 | 핸드오프 이후 Codex 대화 목록 | 「기억기록 없음」 = 대화만 있고 기억 미갱신 |
| §6 나침반 | 주간 방향 점검 스캔 | 미확인이면 「나침반 점검할까요?」 |
python -X utf8 ~/.claude/pm_board.py로 재생성함. board.md를 직접 수정하지 않음.7. 파일·명령 한눈에
| 항목 | 위치 / 명령 |
|---|---|
| 현황판 재생성 | python -X utf8 ~/.claude/pm_board.py (훅용: --hook) |
| Codex 브리지 | python -X utf8 ~/.claude/codex_bridge.py 증분 · --gap 미반영 목록 · --full --since YYYY-MM-DD 재작성 |
| Codex 스레드 인덱스·원문 | ~/.claude/memory/_journal/codex/INDEX.md, threads/*.md |
| PM 절차 · 카탈로그 | ~/.claude/skills/pm-agent/SKILL.md, PM_MEMORY.md, 사용법.md |
| 에이전트 기억 | ~/.claude/skills/<에이전트>/<NAME>_MEMORY.md (+ _STATE.md·_LOG.md) |
| 핸드오프·저널 | ~/.claude/memory/_journal/handoff_latest.md, daily/, decisions.md |
| 노션 캐시 최신화 | D:\내 드라이브\에이닷 통화녹음에서 python -X utf8 sync_notion_tasks.py (master PC) |
| 통화·이메일 최신화 | 같은 폴더 python -X utf8 daily_transcribe.py |
| 다른 PC 동기화 | sync-claude.py pull · git 관리 스킬 4개(changjinwon·miconje·enaradoum·goyang-suwon)는 D:\Repos\voces-agents에서 git pull |
8. 문제 해결
| 증상 | 조치 |
|---|---|
| 세션 시작 요약이 안 뜸 | /hooks를 한 번 열어 재로드, 또는 python -X utf8 ~/.claude/pm_board.py --hook 직접 실행 |
| 「미반영」이 안 사라짐 | 해당 에이전트를 실행해 기억 파일이 갱신되면 사라짐(파일 수정 시각 기준) |
| 노션 마감 목록이 옛날 것 | 현황판 상단 캐시 날짜 확인 → sync_notion_tasks.py |
| Codex 스레드가 목록에 없음 | 클로드에서 가져온 세션·서브에이전트 스레드는 제외(정상). 그 외는 codex_bridge.py --full |
| 현황판 항목이 사실과 다름 | 원천 파일을 고치고 재생성. board.md 직접 수정 금지 |
| 에이전트 신설·휴면 | PM_MEMORY.md 카탈로그와 codex_bridge.py의 AGENTS 표를 함께 갱신. 휴면은 30일 무활동 시 현황판이 자동 표시하며 스킬·기억은 보존 |
9. 원칙 PM에 위임해도 그대로 상속
PM은 도메인 기억을 직접 편집하지 않음
기억 갱신은 해당 에이전트의 몫. 예외는 사용자가 PM에게 미반영 반영을 직접 지시한 경우.
노션 민감 문안은 사전 확인
VOCES HQ·에다 프로덕션·메디월드 분리 라우팅 유지. 급여·용역비 금액은 노션에 쓰지 않음.
외부 발송·제출·이체는 준비까지
실행은 사용자. 승인 범위를 넘는 판단은 [확인필요]로 남김.
통화·메일 기반 노션 정리는 계획안 → 승인 → 등록
PM은 여러 에이전트의 계획안을 모아 한 번에 승인받음.