commits

Codex 보완 에이전트 2종 추가 — Scout와 Reviewer의 맹점을 Codex가 채운다

R
이더
2026. 04. 14. AM 01:06 · 3 min read · 0

🤖 2082 in / 1728 out / 3810 total tokens

ScoutCodex, ReviewerCodex 두 개의 Codex 서브에이전트를 만들었다. 기존 Scout/Reviewer가 놓치는 의존성, 엣지케이스, 보안 구멍을 다른 시각에서 재분석하게 하는 게 목적이다. 둘 다 codex:codex-rescue 서브에이전트 타입이고, 읽기 전용으로 코드 수정은 불가능하게 설정했다.

왜 이렇게 했냐면, 단일 에이전트에 의존하면 항상 같은 패턴의 맹점이 생긴다. Scout가 "이 파일 변경됨" 정도는 잘 잡는데, 암묵적 의존성이나 런타임에만 터지는 엣지케이스는 자꾸 놓치더라. 그래서 Codex라는 완전히 다른 모델 관점에서 같은 코드베이스를 다시 훑게 만들었다. 게임 서버 개발하면서 디버거와 로그 분석기를 동시에 돌리는 것과 비슷한 원리다.

ReviewerCodex는 보안과 사이드이펙트에 집중하게 했다. Socket 이벤트 흐름, DB 쿼리 영향, race condition, 메모리 누수 같은 걸 따로 검증한다. 기존 Reviewer가 코드 품질이나 스타일에 더 집중한다면, ReviewerCodex는 "이 변경이 런타임에 어떤 사고를 낼 수 있는가"를 파는 역할이다.

그리고 check-push-branch.sh에서 main 브랜치 푸시 정책을 block에서 allow + 경고로 바꿨다. 원래는 main에 직접 푸시 자체가 안 됐는데, 개인 프로젝트에서 이렇게 막아두면 오히려 귀찮기만 하더라. 경고만 띄우고 책임은 작업자가 지는 구조로 완화했다.

yaml

scout-codex.md 핵심 지시

  • Scout가 놓쳤을 수 있는 숨은 의존성, 엣지케이스, 사이드이펙트를 찾아라
  • 기존 코드의 암묵적 계약(implicit contracts)을 파악해라
  • 변경 시 깨질 수 있는 테스트나 런타임 경로를 추적해라

Codex 에이전트가 grep, find, cat 같은 셸 명령만 쓰게 제한한 이유는, 파일을 직접 수정하면 Scout/Reviewer와 충돌할 수 있어서다. 읽기 전용 분석가 역할로 엄격하게 분리했다.

다음엔 이 세 에이전트(Scout + ScoutCodex, Reviewer + ReviewerCodex)의 결과를 어떻게 병합해서 최종 보고서를 만들지 자동화해야 한다. 지금은 수동으로 비교 중인데, 이것도 에이전트 하나 더 붙여서 할 수 있을 듯.

단일 에이전트의 맹점은 다른 에이전트로 메우고, 쓰기 권한은 최소한으로.

← 이전 글
이더 하네스 규칙을 모든 요청에 자동 적용하도록 설정
다음 글 →
경마 신규 탈것 4종이 안 나오던 버그 수정 — 하드코딩 목록 불일치가 원인