Agent-driven development in Copilot Applied Science
개요
Copilot Applied Science 팀의 연구원은 코딩 에이전트를 사용하여 업무 자동화 도구를 개발했으며, 이 경험을 통해 코딩 에이전트와의 협업 및 효과적인 개발 방법에 대한 인사이트를 얻었습니다.
주요 내용
* 업무 자동화의 필요성: 방대한 양의 코딩 에이전트 실행 궤적(trajectories) 분석 업무에서 반복적인 패턴을 발견하고 이를 자동화하기 위해 에이전트 기반 개발을 시작했습니다.
* Agent-driven development 원칙:
* 쉬운 공유 및 사용: 개발된 에이전트를 팀원들이 쉽게 공유하고 사용할 수 있도록 설계했습니다.
* 쉬운 작성: 새로운 에이전트 개발을 용이하게 했습니다.
* 코딩 에이전트의 우선순위화: 코딩 에이전트를 기여의 주요 수단으로 삼았습니다.
* 개발 환경 및 도구: Copilot CLI, Claude Opus 4.6 모델, VSCode IDE를 활용했으며, Copilot SDK를 사용하여 에이전트 개발을 가속화했습니다.
* 핵심 개발 전략:
* 프롬프트 전략: 대화적이고 장황하며, 계획 모드(planning mode)를 활용하는 것이 효과적입니다. 복잡한 문제에 대해 AI에게 상세한 지침과 맥락을 제공해야 합니다.
* 아키텍처 전략: 코드 리팩토링, 문서 업데이트, 코드 정리 등을 우선시하여 잘 관리되고 에이전트 친화적인 프로젝트를 구축하는 것이 중요합니다. 이는 에이전트가 코드를 쉽게 탐색하고 이해하도록 돕습니다.
* 반복 전략: "신뢰하지만 검증한다"에서 "프로세스를 탓하라, 에이전트를 탓하지 말라"는 접근 방식으로 전환하여, 실수로부터 배우고 새로운 프로세스와 보호 장치를 추가하여 개선합니다. CI/CD 원칙, 엄격한 타입 검사, 린터, 통합 테스트 등이 에이전트의 오류를 방지하고 자체 검증을 돕습니다.
* 빠른 개발 루프: 이러한 전략들을 적용하여 5명의 팀원이 3일 만에 11개의 신규 에이전트, 4개의 스킬, eval-agent 워크플로우 개념을 개발하는 등 놀라운 협업과 혁신을 달성했습니다.
* 전체 개발 워크플로우: /plan을 통한 기능 계획 및 반복, 테스트 및 문서 업데이트 포함, /autopilot을 통한 기능 구현, Copilot Code Review 에이전트를 통한 검토 루프, 최종 인간 검토 단계를 거칩니다.
* 정기적인 코드 검토: 놓친 테스트, 잘못된 테스트, 중복 코드, 문서 누락 등을 확인하기 위해 정기적으로 코드 검토 프롬프트를 실행합니다.
시사점
Agent-driven development는 소프트웨어 개발 방식, 협업 방식, 그리고 엔지니어의 성장 방식에 대한 새로운 사고방식을 제시하며, 이를 통해 개발자는 깨끗한 아키텍처, 철저한 문서화, 의미 있는 테스트, 사려 깊은 설계와 같은 핵심 가치에 집중할 수 있습니다.
댓글
GitHub Discussions