들어가며
지난 몇 년 사이, 흥미로운 장난감 수준에 불과하던 AI 기반 개발 보조 도구들이, 함께 개발하는 동료 또는 그 이상으로 발전해 가고 있습니다. 이 글에서는 최근 AI 에이전트를 활용 경험, 그 한계 나아가 더 잘 사용하는 방법에 대해 이야기합니다.
나의 AI 개발 도구 활용
Copilot은 일찍 도입했지만, 에이전트에 대해서는 오랫동안 반신반의했습니다. 그러다 몇 가지 인상 깊은 경험을 거치며 생각이 바뀌었고, 이제 Claude Code를 개발 과정에 적극 활용하고 있습니다.
•
2022년 말: GitHub Copilot 과 함께 테스트 작성
•
2023년 말: Copilot 과 한 몸 선언
•
2025년 2분기: AI 에이전트 를 주제로 한 사내 기술공유 세션 참가
◦
ds팀 리서쳐가 말아주는 바이브코딩 이란 제목이었고 이 때까지는 에이전트에 대해 의심이 더 큼
•
2025년 7월: AI 에이전트 기반으로 대규모 E2E 테스트 작성하는 것을 바로 옆에서 목격
•
2025년 8월: Claude Code 사용 시작
AI 에이전트를 활용해 본 일들
최근 몇 달간 AI 에이전트를 문제 해결에 적극 활용했습니다. 코드베이스 초기 탐구, 비숙련 영역 시도 그리고 문서 작성 등 다양한 시도를 했습니다. 이 중 인상 깊었던 몇 가지를 공유합니다.
코드베이스 초기 탐구
낯선 코드의 초기 탐구를 AI 와 함께 해보았습니다. 이런 종류의 일은 기존에 맥락을 많이 알아야만 해결 가능한 문제 였으므로 오랜 시간 코드를 분석하거나, 다른 사람에게 도움을 받아야 했습니다. 하지만 이제는 AI 에이전트를 통해 익숙하지 않은 환경에서 더 빠르게 맥락을 파악할 수 있습니다.
•
예
◦
Audit log 에 before, after가 남는 것 같은데 남기는 위치 찾아줘 와 같은 명령으로 관련 코드를 찾을 수 있었음
◦
/summary 엔드포인트를 호출하는 곳을 모두 찾아줘 와 같은 명령어로 분석해야 할 대상의 후보군을 빠르게 수집 가능했음
안 익숙한 작업 시도
처음으로 웹 크롤러를 작성을 해 봤습니다. AI 에이전트가 직접 HTML 구조를 분석하고, 실제 동작 가능한 코드까지 제시해 주었기 때문에 짧은 시간에 동작하는 버전의 코드를 만들어낼 수 있었습니다.
과거라면 크롤링 경험 있는 사람이 해야겠지 하고 넘겼거나, HTML 구조 분석에 꽤 오랜 시간을 사용했어야 했을텐데, AI 덕분에 가벼운 마음으로 시도해 볼 수 있었고, 익숙하지 않은 개발 분야를 쉽게 접근해 볼 수 있었습니다.
언어 migration (Python -> Kotlin) 을 위한 Tech Spec 작성
언어 migration 작업의 경우 이미 기존 코드 안에 동작에 대한 명세가 있습니다. AI를 활용해 이 코드에서 동작에 대한 명세를 추출하고 이를 Tech Spec 문서로 정리해 보았습니다. 이를 통해 migration 작업의 속도를 높일 수 있었습니다.
대규모 E2E 테스트 작성
이미 동작하는 구현체가 있다면 그에 대한 테스트를 AI 에이전트로 대량 작성이 가능합니다. 실제로 팀 내에서 3일 동안 E2E 테스트 165개를 작성한 사례가 있습니다. 명확한 입력/출력이 있는 테스트의 경우, 작성 속도가 인간 단독으로 하는 것에 비해 압도적으로 빨라졌습니다.
문서 작성
AI (그리고 인간) 가 코드를 잘 작성하게 하려면 맥락이 중요합니다. 이를 위해 저장소 내에 더 많은 문서를 남기기 시작했습니다. 대표적으로 아래 문서들이 AI와 함께 작성되었습니다.
•
Architecture: 저장소의 구조와 설계 철학을 설명
◦
기존 코드 중 best practice를 AI가 인식할 수 있도록 지정해 초안 작성
•
Convention: 코드 작성 시 지켜야 할 규칙과 권장사항
◦
논의 중인 내용도 미리 문서화해 미래의 의사결정 시 참고하도록 유도
•
Tech Spec: 새로운 기능이나 구조 변경에 대한 기술 사양 문서
데이터베이스 Migration 스크립트 작성
데이터베이스 migration 스크립트 작성에 AI를 활용해 보았습니다. 작업 방향이 명확할 때, AI는 그 의도를 정확히 반영한 스크립트를 생성했습니다. 특히 단순 변환이나 매핑 중심의 작업에서 높은 신뢰도를 보였습니다.
•
예
1. Reads segments from the source `segments` table
2. Modifies the payload to replace S3 bucket and prefix:
- Default bucket: `ab180-bucket` → `deep-storage`
- Default prefix: `deep-storage/segments/` → `segments/`
3. Writes modified segments to the target `segments` table
Plain Text
복사
AI 에이전트에게 (아직) 어려운 일
이처럼 다양한 작업을 AI 에이전트와 함께 해보았지만, 아직 한계도 명확히 존재합니다. 대표적으로 에이전트 대기 시간, 인간의 인지범위 초과 변경 발생, 토큰 제약 등이 있으며, 여전히 인간의 개입이 필요한 상황이 있습니다.
에이전트 대기 시간
여러 작업을 동시에 진행할 때 승인, 검토 단계에서 사람이 개입해야 하므로, 실제 병렬성의 이점이 줄어듭니다. 권한을 생략해 속도를 올리는 방법도 있으나 리스크가 큽니다.
•
명령어 검토, 승인 절차 필요하므로 생산성 저하
•
YOLO 모드(claude --dangerously-skip-permissions) 와 같은 접근은 위험 부담 큼
나도 모르고 다른 누군가도 모르는 문제 해결
정답 또는 접근법이 정립되지 않은 문제는 창의적 가설 설정과 검증이 핵심이라, 현재의 AI만으로 해결이 어렵습니다.
•
예
◦
OLAP 쿼리 속도 1/2 로 줄일 방안 찾기
◦
Last touch 를 넘어선 광고주, 채널 모두 수용 가능한 기여모델 개발
인간의 인지범위를 넘어가는 대규모 코드 작성
너무 넓은 범위의 변경은 작성 의도와 맥락을 파악하기 어려워, 리뷰, 운영 단계에서 비용이 급격히 증가합니다.
•
구현 의도가 불명확해져 인한 리뷰가 어려워짐
•
의도치 않게 저품질 대량 생성된 코드는 관리가 오히려 어려워짐
인간 개입 여전히 필요
의미 있는 양의 코드를 AI 가 작성하지만, 여전히 인간이 개발을 주도하고 있습니다.
•
가장 최신 작업 PR 에서 기여도 비율: AI 커밋 11개 vs 인간 커밋 21개
◦
인간 커밋 유형
▪
코드 정리: 11
▪
문서 최신화: 6
▪
버그 수정: 4
토큰 부족
맥락 길이와 도구 호출이 늘어날수록 토큰 한계에 부딪혀 대기 시간이 점점 길어집니다. 시간이 지남에 따라 결국 극복될 문제로 예상되긴 하지만, 아직 작업 속도를 저해하는 요소입니다.
AI 에이전트를 더 잘 쓰려면
좋은 도구인 AI 에이전트를 더 잘 쓰려면 어떻게 해야 할까요? AI 활용을 늘리고 단점을 완화하기 위해 시도한 방법들을 공유드립니다.
전용 MCP 개발
여러 한계를 한 번에 완화하기 위해 우리 개발 환경에 맞춘 전용 MCP를 도입중입니다. 개인용 버전을 먼저 써가며 통제 범위 내에서 충분한 실험을 하고, 공유 가능한 형태로 성숙시켜 가려 합니다.
•
해결하고자 하는 문제
◦
범용 MCP 로 인해 가속화되는 토큰 부족 해결
◦
인간의 승인을 기다리는 에이전트 대기
◦
맥락 공유
•
초기 구현체 구상
◦
권한관리는 쉽지 않으므로 에이전트 사용자가 가진 권한으로 로컬 실행을 가정
◦
MCP 작성자의 생각방식 반영해 일반적인 문제보다 개인화된 문제 해결에 중점
◦
주요 기능
▪
Notion, GitHub, Slack 등에서 맥락 조회
맥락 전달 방식 개선
적절한 맥락이 주어지지 않으면 AI는 좋은 결과를 내기 어렵습니다. 이를 위해 맥락을 더 잘 전달하는 방식을 고민하고 있습니다. 이런 작업은 당연하게도 AI 뿐만 아니라 인간에게도 도움이 될 것입니다.
•
맥락을 더 잘 전달하기 위해 저장소 내에 문서 작성
•
Tech spec 에 작성된 문서를 AI가 쉽게 참고 유도
◦
AI 에이전트에게 작업 지시한 내용도 문서화해 남기고 있음
▪
팀 내 AI 에이전트 사용 사례 공유 목적으로 유용하게 활용 중
•
외부에서 맥락을 쉽게 가져올 수 있도록 전용 MCP 개발
인간이 인지 가능한 수준으로 작업 단위 분할
대규모 변경을 인간이 인지 가능한 단위로 나누어 진행하고 있습니다. 배포, 검증이 가능한 작업 단위로 나누어 AI에게 작업을 지시하고, 이를 통해 코드 리뷰, 운영 단계의 속도를 유지하고, 리스크를 줄일 수 있었습니다.
•
예
◦
실패
▪
저장된 리포트 조회 API 전체 한 번에 마이그레이션
◦
성공
▪
저장된 리포트 조회 API - service 마이그레이션
▪
저장된 리포트 조회 API - controller 마이그레이션
▪
저장된 리포트 조회 API - E2E test 작성
마치며
AI 에이전트를 아직 쓰지 않고 있다면, 작은 일부터 시작해 보십시오. 간단한 스크립트 자동화, 반복 작업 템플릿화, 테스트 코드 작성처럼 위험이 낮고 효과가 분명한 과제가 좋았습니다. 저의 경우 설명 듣기보다 함께 코딩 하기가 생각을 더 빨리 바꾸어 주었습니다. 동료와 페어로 개발해 보거나, 실제 리포지토리에서 작은 PR을 만들어 보십시오.
급격하게 발달하는 문야라 도구는 빠르게 바뀔 것 같습니다. 하지만 바뀌지 않는 것도 있습니다. 복잡한 문제를 잘 나누고, 맥락을 문서로 남기고, 자동화합니다. 이 원칙 위에 AI를 사용하는 방식을 지속적으로 개선하는 것을 목표로 설정해 보시면 어떨까요?
당장 할 수 있는 한 가지를 정해 보십시오. 에이전트가 할 작업을 정의하고, 실행 결과를 기록하고, 팀에 공유하십시오. 전환은 그렇게 시작됩니다. 바로 오늘!
ᴡʀɪᴛᴇʀ