The harness is all you need (mostly)
개요
GitHub Copilot의 핵심 기능들을 활용하여 새로운 AI 도구들을 계속 탐색하는 대신, 소프트웨어의 프로토타이핑, 계획, 구현 및 검토 과정을 효율적으로 수행할 수 있는 실용적인 워크플로우를 제시합니다.
주요 내용
* 핵심 도구(Harness) 이해: GitHub Copilot CLI, GitHub Copilot 앱, VS Code, Visual Studio, JetBrains 등 다양한 도구가 있지만, 이들은 동일한 핵심 기능(harness)을 기반으로 하므로 한 번 학습하면 여러 곳에서 활용 가능합니다. 처음 시작하는 경우, UI가 적고 직접적인 상호작용이 가능한 GitHub Copilot CLI를 추천합니다.
* YOLO 모드 활용: 에이전트가 별도의 승인 없이 명령을 실행하도록 허용하는 YOLO 모드(Allow All)를 활성화하여 생산성을 높일 수 있습니다. 이 모드를 사용할 때는 민감한 데이터나 중요한 시스템을 보호하기 위해 GitHub Codespaces 또는 개발 컨테이너와 같은 샌드박스 환경에서 에이전트를 실행하는 것이 권장됩니다.
* 프로토타이핑 우선: AI를 활용하여 복잡한 개념에 대한 다양한 시각적 프로토타입을 빠르게 생성하고 비교 분석함으로써, 초기에 직관적으로 이해하고 복잡한 문제점들을 발견할 수 있습니다. 이는 API 엔드포인트 설계와 같이 비주얼하지 않은 작업에도 적용될 수 있습니다. GPT 5.6 Terra 또는 Claude Sonnet과 같은 중간 크기 모델을 사용하고, 특정 기능 개발 동안에는 동일한 모델을 유지하여 프롬프트 캐싱으로 토큰을 절약하는 것이 좋습니다.
* 체계적인 계획 수립: 프로토타이핑을 통해 구체화된 요구사항을 바탕으로 GitHub Copilot의 '/plan' 명령어를 사용하여 구현 계획을 수립합니다. 이 과정에서 AI가 제시하는 다양한 질문과 엣지 케이스를 통해 사용자 경험을 개선하고 잠재적인 문제점을 파악할 수 있습니다. Matt Pocock의 "grill-me" 스킬을 사용하여 계획 수립 단계를 더욱 강화할 수 있습니다.
* Autopilot을 통한 구현: 계획이 완료되면 Autopilot 모드를 통해 GitHub Copilot이 자동으로 코드 구현을 진행합니다. 이 과정에서 GitHub Copilot은 내부적으로 'Explore' 및 'General Purpose'와 같은 서브 에이전트를 활용하여 코드 읽기, 복잡한 작업 처리 등을 수행하며, 별도의 설정 없이도 멀티모델 워크플로우의 이점을 활용할 수 있습니다.
* 인간 검토 및 반복: AI가 생성한 결과물을 검토하고, 디자인, 기능, 사용자 경험 등 개선이 필요한 부분에 대해 구체적인 피드백을 제공하여 원하는 품질에 도달할 때까지 반복합니다. CSS 프레임워크 등을 활용하여 디자인 가이드라인을 제공하는 것도 효과적입니다. AI 생성 결과물에 만족하지 않고 품질을 요구하는 것은 개발자의 역할입니다.
* Rubber Duck 리뷰: 최종 결과물에 대해 GitHub Copilot의 Rubber Duck 리뷰 기능을 활용하여 다른 AI 모델로부터 객관적인 피드백을 받을 수 있습니다. 이는 서로 다른 학습 데이터셋을 가진 모델들의 '맹점'을 보완하고 잠재적 이슈를 발견하는 데 도움을 줍니다. 이 과정은 프로토타입이나 계획 단계에서도 활용 가능하며, Autopilot과 결합하여 반복적인 개선을 수행할 수도 있습니다.
* 최종 산출 및 향후 계획: 검토 및 개선 과정을 거친 후, 결과물을 스테이징하고 커밋하거나 다음 기능 개발로 넘어갑니다. 각 작업 주제별로 새로운 채팅 세션을 시작하여 맥락을 유지하는 것이 효율적입니다.
시사점
AI 도구를 지나치게 많이 설치하거나 복잡하게 설정하는 것보다 GitHub Copilot과 같은 핵심 도구의 기능을 깊이 이해하고 활용하는 것이 소프트웨어 개발 생산성 향상에 더욱 효과적이며, 반복 가능하고 높은 품질의 결과물을 얻기 위해서는 개발자의 비판적인 검토와 반복 작업이 필수적입니다.
댓글
GitHub Discussions