AI 코딩, 계획이 전부다!
AI 코딩 도구 사용 시, 계획 수립과 실행을 분리하는 것이 핵심
연구 단계(Research Phase)를 통해 코드베이스(Codebase)를 깊이 이해하고, 오류 발생 가능성(Error Probability)을 최소화
주석 사이클(Annotation Cycle)을 활용하여 계획을 수정하고, AI의 판단(AI Judgement)을 보완
테스트(Test)의 중요성을 강조하며, AI 코딩 워크플로우(Workflow)에 통합 필요
계획 수립과 실행 분리의 중요성
저자는 AI 코딩 도구 사용 시, 계획 수립(Planning)과 실행(Execution)을 분리하는 것이 중요하다고 강조한다. 이는 AI가 생성한 코드의 품질을 높이고, 개발자가 아키텍처 결정(Architecture Decisions)에 대한 통제권을 유지하도록 돕는다. 특히, 계획 단계에서 코드베이스를 충분히 이해하고, 주석 사이클(Annotation Cycle)을 통해 계획을 개선하는 것이 핵심이다. 이러한 접근 방식은 불필요한 토큰 사용을 줄이고, 더 나은 결과를 얻는 데 기여한다.
연구 단계(Research Phase)의 역할
연구 단계는 AI가 코드베이스를 깊이 이해하도록 돕는 데 중점을 둔다. 저자는 AI에게 코드의 세부 사항(Specificities)까지 파악하도록 지시하며, 그 결과를 `research.md` 파일에 기록하도록 요구한다. 이 파일은 개발자가 AI의 이해도를 검증하고, 오해(Misunderstanding)를 수정하는 데 사용된다. 연구 단계는 AI가 시스템의 기존 기능을 고려하지 않고 코드를 작성하는 문제를 방지하며, AI 환각(Hallucination)으로 인한 오류를 줄이는 데 기여한다.
주석 사이클(Annotation Cycle)을 통한 계획 개선
주석 사이클은 개발자가 AI가 생성한 계획을 검토하고, 수정 사항을 추가하는 과정이다. 개발자는 계획 파일에 직접 주석을 추가하여 가정(Assumptions)을 수정하고, 접근 방식을 거부하며, 도메인 지식을 제공한다. 이 사이클은 AI가 개발자의 제품 우선순위(Product Priorities), 사용자 요구 사항, 그리고 엔지니어링 트레이드오프(Engineering Trade-offs)를 이해하도록 돕는다. 주석 사이클을 통해, 개발자는 AI가 생성한 계획을 프로젝트의 특정 요구 사항에 맞게 조정할 수 있다.
테스트(Test) 기반 개발 방법론의 중요성
커뮤니티에서는 AI 코딩 워크플로우에 테스트(Test)를 통합하는 것이 중요하다고 강조한다. 특히, TDD(Test-Driven Development) 스타일의 테스트를 통해 코드의 품질을 보장하고, AI가 생성한 코드의 정확성을 검증해야 한다. 또한, 지속적인 통합(Continuous Integration) 및 지속적인 배포(Continuous Deployment) 환경에서 테스트를 자동화하여, 코드 변경으로 인한 문제를 조기에 발견하고 해결해야 한다. 이는 AI 코딩의 효율성을 극대화하고, 개발 생산성을 향상시키는 데 기여한다.