Plans Are the New Code

개요

AI 기반 개발팀 운영 경험을 바탕으로, 소프트웨어 개발에서 코드 작성보다 '계획' 작성이 중요해지고 있으며, 이를 위해 네 가지 핵심 전환이 필요함을 제안합니다.

주요 내용

  • 계획이 새로운 코드: AI 에이전트는 주어진 명세(specification)를 증폭시키므로, 명확하고 상세한 계획(Plan) 작성이 중요합니다. 계획은 단순한 문서가 아니라, 모듈화된 명세 섹션, 아키텍처 결정 기록, 패키지별 README, 코드 주석 등으로 구성되어야 하며, 리포지토리 내 마크다운(Markdown) 형식으로 관리되어야 합니다. 이는 에이전트가 직접 접근하고 이해할 수 있어야 실질적인 이점을 얻을 수 있습니다. 계획의 핵심은 시스템의 이음새(seams)를 명확히 하는 것이며, 이는 폭포수 모델(waterfall)이 아니라 인터페이스를 명확히 하여 내부 작업이 병렬적으로 진행될 수 있도록 하는 방식입니다.
  • "애자일 이전"의 토대: 작업 분해 구조(work breakdown structure), 종속성 그래프(dependency graph), 완료 기준 우선 티켓(acceptance-criteria-first ticket), 변경 위원회(change board)와 같은 고전적인 프로젝트 관리 기법들이 AI 에이전트 팀에서 중요한 기초 역할을 합니다. 인간은 동료와의 소통으로 맥락을 파악하지만, LLM은 그렇지 않으므로 명확한 종속성 관리, 병렬/순차 작업의 맥락 격리, WIP(Work In Progress) 제한 등이 필수적입니다. 애자일은 여전히 중요하지만, 스택의 하단이 아닌 내부에서 작동합니다.
  • 인간 게이트는 결정 지점에, 코드 지점에는 아니다: 모든 코드 변경에 인간 검토를 배치하는 것은 인간을 단순 작업에 묶어두고 중요한 결정에 대한 주의를 분산시키는 잘못된 접근입니다. '되돌리기 테스트(reversibility test)'를 통해 쉽게 되돌릴 수 없는 변경은 결정으로 간주하고 인간의 검토가 필요합니다. 비즈니스 우선순위, 데이터 스키마 변경, 프로덕션 인프라 변경, 인증 및 결제 관련 코드, 거버넌스 문서, 최종 메인 브랜치 병합, 외부 커뮤니케이션 및 출시 결정 등이 이러한 결정에 해당합니다. 이를 위해 도구 호출 예산, 오픈 에이전트 PR에 대한 WIP 제한, 명시적인 에스컬레이션 프로토콜과 같은 안전장치가 필요합니다.
  • 자가 감사와 "모든 할 일 완료"의 거짓: 에이전트가 자체 할 일 목록을 모두 완료했다고 보고하는 것은 충분하지 않으며, 명세와 다를 수 있는 부분을 간과할 수 있습니다. 코드와 계획 간의 감사를 통해 명세와의 차이, 지연, 개선, 범위를 벗어난 부분, 계획 드리프트 등을 확인해야 합니다. 여기서 '블로커(Blocker)'는 즉시 수정되어야 하지만, '비블로커(Non-blocker)'는 추적 가능한 이슈로 관리되어야 합니다. 가능하다면, 한 에이전트가 다른 에이전트의 PR을 감사하는 방식으로 확장성을 확보할 수 있습니다.
  • 공통 기준: 체크리스트가 의견을 능가한다: 코드 리뷰의 피로감을 줄이기 위해 개인적인 취향이나 에이전트의 평균적인 의견 대신, 바이너리(binary), 파싱 가능(parseable), 작성자 불문(author-agnostic)의 명확하고 버전 관리되는 체크리스트를 사용해야 합니다. 이는 테넌트/데이터 격리, 비밀번호 처리, 관찰 가능성(observability) 형태, API 계약 준수, 테스트 피라미드 위생, 마이그레이션 안전성 등과 같은 범주에 적용 가능하며, 에이전트가 검사하고 통과/실패를 판별할 수 있습니다. 체크리스트는 최소 기준(floor)을 설정하고, 인간은 아키텍처, 비즈니스 로직 등 최고 수준(ceiling)에 집중할 수 있도록 합니다.

시사점

AI 에이전트 시대에는 코드 자체의 양이 아닌, 인터페이스의 품질, 즉 명세, 게이트, 체크리스트가 팀의 확장성을 좌우합니다. 가장 저렴한 개발 레버리지는 더 나은 모델이 아니라, 더 나은 계획과 그 계획을 효과적으로 실행하고 검증하는 시스템입니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions