
【AI 주도 개발 3】 코드의 지도를 만들기 — AI는 '당일 합류한 우수한 엔지니어'
요약
AI가 코드베이스를 효율적으로 이해할 수 있도록 '코드의 지도'를 작성하고 관리하는 방법을 제안합니다. 지도를 리포지토리에 보관하고 정기적인 자동 업데이트 프로세스를 구축하여 AI의 탐색 비용을 줄이고 개발 생산성을 높이는 것이 핵심입니다.
핵심 포인트
- AI를 위해 아키텍처, 데이터 흐름, 주의사항을 담은 '코드 지도' 작성 필요
- 지도는 위키가 아닌 AI가 접근하기 쉬운 리포지토리 내에 보관
- Git 이력을 바탕으로 AI가 지도를 자동 업데이트하는 프로세스 구축
- 문서의 완벽함보다 최신 상태를 유지하는 '신선도'가 더 중요
흔히 있는 상태: 문서가 없거나(혹은 오래된) 코드베이스에서, 매번 AI에게 구두로 배경을 설명하며 사용하고 있다.
한 번 시간을 내어 AI에게 코드베이스를 해석하게 하고, "코드의 지도"로서 리포지토리(Repository)에 두는 것.
지도에 넣을 것(예):
- 전체상: 어떤 시스템이며, 주요 구성 요소는 무엇인가
- 아키텍처 (Architecture): 계층 구성, 데이터 흐름, 명명(Naming) 및 배치 규칙
- 함정: 이 코드베이스 특유의 전제 조건·역사적 경위·건드리면 위험한 곳
- 입구 색인: 목적별로 "이것을 알고 싶다면 이 파일"
만드는 것은 AI 자신입니다. "이 코드베이스를 해석해서, 새로 참여하는 엔지니어를 위한 지도를 작성해줘"라고 시작하면 됩니다. 인간은 나온 결과물을 리뷰하고, 틀린 부분과 빠진 부분을 수정합니다.
AI는 기억을 가지고 있지 않기 때문입니다. 아무리 우수해도, 매 세션은 "프로젝트에 당일 합류한 아주 우수한 엔지니어" 상태에서 시작됩니다. 고용된 외주 업체와 마찬가지로, 지난번에 무엇을 했는지 기억하지 못합니다.
그래서 무언가를 부탁하면, 우선 코드베이스 탐색부터 시작합니다. 이것이 매번 발생하는 낭비입니다.
지도가 있다면, AI는 처음에 그것을 읽고 감을 잡을 수 있습니다. 변하는 것은 속도뿐만이 아닙니다:
| 구분 | 지도 없음 | 지도 있음 |
|---|---|---|
| 속도 | 매번 제로 베이스에서 탐색 | 처음에 지도로 감을 잡음 |
| ... |
지도는 키워 나간다. 실패했을 때 스스로 하지 않는 루프에서 "정보 부족으로 인한 실패"가 발생할 때마다, 그 정보를 지도에 추가한다. AI가 지도가 오래되었다는 것을 깨달으면 수정하게 한다 -
리포지토리(Repository)에 둔다. Wiki나 개인 메모가 아니라 코드 본체와 같은 장소에. AI가 자연스럽게 읽을 수 있는 장소인 것이 중요하다 -
형식보다 신선도. 깔끔한 문서를 목표로 멈춰 있기보다, 거칠더라도 현상에 맞는 것이 가치가 높다
문서 정비에 대한 가장 큰 반론은 "만들어도 오래된다"입니다. 이것도 인간의 마음가짐이 아니라, 시스템으로 해결합니다.
주 1회 또는 격주 스케줄로, AI에게 "git의 이력과 지도를 비교하여 차이를 수정하는" 작업을 정의해 둔다. 최근의 변경 이력과 지도의 기술 내용을 대조하여, 오래된 부분의 수정안을 내게 한다——자동으로 PR(Pull Request)까지 내게 하면, 인간의 작업은 차이점을 리뷰하고 머지(Merge)하는 것뿐입니다.
"오래되는" 이유는, 업데이트가 인간의 기억과 선의에 의존하고 있기 때문입니다. 스케줄링된 작업으로 전환하면, 지도의 신선도는 운영의 일부가 됩니다. 이것은 개선의 정례화의 실례 그 자체입니다.
이 기사는 이데아라이브(Idealive) 사내의 "AI 주도 개발의 사고방식" 문서(전 12편)를 시리즈로 공개하고 있는 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기