요즘 AI 코딩 에이전트 도구들이 쏟아지고 있고, 병렬 에이전트로 동시에 여러 파일을 수정하는 방식이 유행하고 있습니다. 하지만 직접 써보면 금방 느끼는 게 있습니다 — 결과물이 중구난방이라는 겁니다.
에이전트가 계획 없이 코드를 쏟아내고, 모듈 간 일관성이 깨지고, 같은 실수를 세션마다 반복합니다. "빠르게 많이 생성한다"는 게 꼭 좋은 건 아니더라고요. 생성 속도가 아무리 빨라도, 뒤에서 사람이 수습하는 시간이 더 걸리면 의미가 없습니다.
그래서 접근을 바꿨습니다. 에이전트의 속도를 의도적으로 늦추되, 구조를 강제하면 최종 품질이 올라가지 않을까?
Pi 코딩 에이전트(@mariozechner/pi-coding-agent)를 위한 워크플로우 익스텐션을 만들었고, 핵심은 6단계 개발 사이클을 에이전트에게 강제하는 것입니다:
📝 Plan → 🔍 Verify Plan → 🔨 Implement → ✅ Verify Impl → 🧠 Compound → 🎉 Done

  1. 단계별 도구 차단
    구현(Implement) 단계가 아니면 파일 수정 도구 자체가 차단됩니다. rm, mv, sed -i 같은 bash 명령어도 읽기 전용 단계에서는 블로킹됩니다. AI가 계획을 세우기 전에 코드를 만지는 것 자체가 불가능합니다.
  2. 병렬 멀티모델 적대적 검증
    계획과 구현 결과물을 여러 LLM이 동시에 검증합니다. 단순한 코드 리뷰가 아니라, 코드를 깨뜨리는 구체적인 시나리오를 만들어 공격하는 방식입니다. 심각도를 🔴 CRITICAL / 🟡 WARNING / 🔵 INFO로 분류하고, CRITICAL이 하나라도 있으면 해당 단계를 통과할 수 없습니다.
  3. Compound 학습 & 프로젝트 메모리
    매 사이클이 끝나면 패턴, 실수(gotchas), 아키텍처 결정사항을 자동으로 기록합니다. 이 메모리는 .pi/workflow-memory.json에 저장되어 세션이 바뀌어도 유지됩니다. "어제 이 부분에서 삽질했으니 오늘은 반복하지 말자"가 가능해집니다.
  4. Repo Map (AST + PageRank)
    web-tree-sitter로 프로젝트 전체의 심볼(함수, 클래스, 인터페이스 등)을 추출하고, import 그래프를 만들어 PageRank로 파일별 중요도를 매깁니다. 토큰 예산(기본 2048) 내에서 프로젝트 구조를 파악할 수 있어서, 에이전트가 "이 프로젝트가 어떻게 생겼는지" 이해한 상태에서 작업합니다. 18개 언어를 지원합니다.
    기타 특징
  • TODO 시스템 — 큰 태스크를 TODO 단위로 쪼개고, 각 TODO마다 Implement → Verify → Compound 사이클을 독립적으로 수행
  • Git 자동화 — TODO 경계마다 자동 커밋/푸시, dirty tree면 정리부터 강제
  • 커스텀 체크 — docs/checks/에 마크다운 파일을 두면 프로젝트별 검증 기준 추가 가능
  • 컨텍스트 관리 — 항상 주입되는 최소 컨텍스트와 필요 시 검색되는 온디멘드 컨텍스트를 분리해 토큰 낭비 방지
    철학
    병렬 에이전트가 나쁘다는 게 아닙니다. 다만 구조 없는 병렬 생성은 기술 부채를 병렬로 만드는 것이나 마찬가지라고 생각합니다. 이 익스텐션은 "AI한테 일을 시키되, 사람이 일하는 방식과 같은 규율을 적용하자"는 아이디어에서 출발했습니다.
    TypeScript 100%로 작성했고, npm install + 심링크 하나로 설치됩니다.
    GitHub: https://github.com/popododo0720/pi-stuff
    피드백 환영합니다!