AI가 몇 시간 동안 앱을 완성하고 버그를 고친다는 말, 들어보셨나요? OpenAI Codex나 Anthropic Claude Code 같은 AI 코딩 에이전트는 실제로 그런 일을 해내고 있습니다. 하지만 이 도구들이 “마법”처럼 보이는 이면에는 구체적인 기술적 한계와 트릭이 숨어 있죠. 이 한계를 이해하지 못하면 오히려 프로젝트가 복잡해질 수 있습니다.

Ars Technica의 AI 전문 기자 Benj Edwards가 AI 코딩 에이전트의 내부 작동 원리를 파헤친 기사를 발표했습니다. LLM 기반 멀티 에이전트 구조부터 컨텍스트 압축 기술까지, 그리고 최근 연구에서 밝혀진 놀라운 사실(경험 많은 개발자는 AI 도구 사용 시 오히려 19% 더 느려짐)까지 다룹니다.
출처: How AI coding agents work—and what to remember if you use them – Ars Technica
멀티 에이전트 구조: 감독자와 작업자의 분업
AI 코딩 에이전트는 단일 AI가 아닙니다. 여러 개의 LLM(대규모 언어 모델)을 연결한 프로그램 래퍼죠. 구조는 이렇습니다. 먼저 “감독” 역할의 LLM이 사용자의 요청을 해석하고, 그 작업을 여러 개의 병렬 LLM에게 할당합니다. 이 하위 LLM들은 실제로 코드를 작성하고, 파일을 읽고, 명령어를 실행하죠.
Anthropic의 엔지니어링 문서는 이 패턴을 “맥락 수집 → 행동 → 검증 → 반복”이라고 설명합니다. 감독 에이전트는 중간에 작업을 중단시킬 수도 있고, 하위 작업의 결과를 평가해서 프로젝트가 제대로 진행되는지 확인합니다.
웹 기반 버전(Codex나 Claude Code)을 사용하면 시스템이 클라우드에 샌드박스 컨테이너를 만들어서, 그 안에서 에이전트가 코드를 읽고 편집하고 실행합니다. 로컬 명령줄 버전은 사용자 컴퓨터에서 직접 파일을 쓰고 명령어를 실행하죠. 가능성도 크지만 위험도 크다는 뜻입니다.
컨텍스트 부패: AI가 ‘잊어버리는’ 이유
모든 LLM에는 단기 기억 한계가 있습니다. 이걸 “컨텍스트”라고 부르는데, 처리할 수 있는 데이터 양이 제한적이죠. 사용자가 응답을 보낼 때마다 대화 전체 히스토리(코드 전부, 시뮬레이션된 추론 토큰까지)가 하나의 거대한 프롬프트로 AI에게 전달됩니다. AI는 이걸 평가해서 출력을 만들어내는데, 계산 비용이 엄청납니다. 프롬프트 크기에 따라 제곱으로 증가하거든요. LLM은 모든 토큰을 다른 모든 토큰과 비교 처리하기 때문입니다.
Anthropic 팀은 컨텍스트를 “수익 체감이 있는 유한 자원”이라고 표현합니다. 연구 결과에 따르면 “컨텍스트 부패(Context Rot)”라는 현상이 있습니다. 컨텍스트 윈도우의 토큰 수가 늘어날수록 모델이 정보를 정확하게 기억하는 능력이 떨어지죠. 새 토큰이 추가될 때마다 “주의력 예산(attention budget)”이 소진됩니다.
이 한계 때문에 LLM이 한 번에 처리할 수 있는 코드베이스 크기가 제한되고, 거대한 코드 파일을 여러 개 넣으면 토큰 사용 한도를 순식간에 태워버릴 수 있습니다.
압축과 외부 도구: 한계를 넘는 트릭
코딩 에이전트 개발자들은 이 한계를 우회하는 몇 가지 트릭을 씁니다. 첫 번째는 외부 도구 활용입니다. AI 모델은 파이썬 스크립트를 작성해서 이미지나 파일에서 데이터를 추출하도록 학습됩니다. 전체 파일을 LLM에 통과시키는 대신 말이죠. 이렇게 하면 토큰을 절약하고 부정확한 결과도 피할 수 있습니다.
Claude Code는 대규모 데이터베이스를 분석할 때도 이 방식을 씁니다. 전체 데이터를 컨텍스트에 로드하는 대신, 타겟팅된 쿼리를 작성하고 Bash 명령어(“head”, “tail” 등)를 사용하죠.
두 번째 핵심 기술은 컨텍스트 압축입니다. 코딩 LLM이 컨텍스트 한계에 가까워지면, 시스템은 히스토리를 요약해서 압축합니다. 세부 사항은 잃지만 핵심 내용은 유지하죠. Anthropic 문서는 이 “압축(compaction)”을 “아키텍처 결정과 미해결 버그 같은 핵심 디테일은 보존하면서 중복된 도구 출력은 버리는” 방식이라고 설명합니다.
이 말은 AI 코딩 에이전트가 압축이 일어날 때마다 하던 일의 상당 부분을 “잊어버린다”는 뜻입니다. 하지만 완전히 무지한 상태는 아니에요. 기존 코드를 읽고, 파일에 남긴 노트나 변경 로그를 확인해서 빠르게 재정리할 수 있거든요.
그래서 Anthropic 문서는 CLAUDE.md 파일을 사용해서 일반적인 bash 명령어, 핵심 파일, 유틸리티 함수, 코딩 스타일 가이드라인, 테스트 지침을 문서화하라고 권장합니다. 여러 회사가 채택한 표준인 AGENTS.md도 유용합니다. 이런 파일들은 컨텍스트가 새로고침되는 사이에도 에이전트가 진행 상황을 추적하고 중요한 맥락을 유지하도록 돕는 외부 메모 역할을 합니다.
복잡한 작업에는 멀티 에이전트 아키텍처를 씁니다. Anthropic 연구 문서에 따르면 “오케스트레이터-워커 패턴”을 사용하는데, 리드 에이전트가 프로세스를 조정하고 전문화된 하위 에이전트들에게 작업을 위임합니다. 하위 에이전트들은 병렬로 작동하면서 관련 정보만 리드 에이전트에게 반환하죠.
하지만 이 멀티 에이전트 방식은 토큰을 빠르게 소진합니다. Anthropic 문서는 에이전트가 보통 챗봇 대화 대비 약 4배 더 많은 토큰을 쓰고, 멀티 에이전트 시스템은 약 15배 더 많은 토큰을 소비한다고 밝힙니다. 경제성을 위해서는 그 비용을 정당화할 만큼 가치가 높은 작업이 필요합니다.
실제 사용의 함정: 19% 더 느려진 개발자들
이론은 멋지지만 현실은 어떨까요? 2025년 7월, 비영리 연구 기관 METR이 발표한 무작위 대조 시험 결과는 놀랍습니다. 경험 많은 오픈소스 개발자들이 AI 도구를 사용했을 때 작업 완료 시간이 오히려 19% 더 길어졌다는 겁니다. 본인들은 더 빠르게 일한다고 믿었는데도 말이죠.
연구진은 몇 가지 단서를 덧붙입니다. 개발자들은 자기 코드베이스에 매우 익숙했고(평균 5년 경력, 1,500회 커밋), 저장소는 크고 성숙했으며, 사용된 모델(주로 Claude 3.5와 3.7 Sonnet)은 이후 더 발전된 버전으로 대체됐습니다. 최신 모델이 다른 결과를 낼지는 미지수지만, 이 연구는 AI 코딩 도구가 항상 속도 향상을 가져오는 건 아니라는 걸 시사합니다. 특히 이미 코드베이스를 잘 아는 개발자들에게는요.
“vibe coding”이라고 불리는 접근법—AI가 만든 코드를 이해하지 못한 채 사용하는 것—은 프로덕션 작업에 명백히 위험합니다. 본인이 직접 작성하지 않은 코드를 프로덕션 환경에 배포하는 건 보안 문제나 버그를 유입시킬 위험이 있고, 시간이 지나면 눈덩이처럼 불어날 기술 부채를 쌓을 수 있습니다.
AI 연구자 Simon Willison은 최근 코딩 에이전트를 사용하는 개발자도 여전히 자기 코드가 작동한다는 걸 증명할 책임이 있다고 주장했습니다. “거의 누구나 LLM에게 천 줄짜리 패치를 생성하라고 시켜서 코드 리뷰에 제출할 수 있습니다. 그건 더 이상 가치가 없어요. 가치 있는 건 작동한다고 증명된 코드를 기여하는 겁니다.”
도구를 이해하고 적재적소에 쓰기
AI 코딩 에이전트는 분명 강력합니다. 하지만 “마법”이 아니라 구체적인 기술적 한계를 가진 도구죠. 컨텍스트 부패, 토큰 소비, 그리고 사람의 계획과 검증이 여전히 필요하다는 사실을 이해하면 이 도구를 더 현명하게 쓸 수 있습니다.
Claude Code의 모범 사례 문서는 복잡한 문제에 대해 특정 워크플로를 권장합니다. 먼저 에이전트에게 관련 파일을 읽으라고 하되 아직 코드를 작성하지 말라고 명시적으로 지시하고, 그다음 계획을 세우라고 요청하는 거죠. 이런 연구와 계획 단계 없이는 Claude의 출력이 바로 솔루션 코딩으로 뛰어드는 경향이 있다고 경고합니다.
계획 없이는 LLM이 당장의 목표를 만족시키기 위해 빠른 솔루션에 손을 뻗을 수 있고, 나중에 프로젝트가 확장되면 깨질 수 있습니다. 그래서 시간이 지나도 확장 가능한 모듈형 프로그램의 좋은 아키텍처가 무엇인지 어느 정도 아는 게 LLM을 더 내구성 있는 것으로 안내하는 데 도움이 됩니다.
AI 모델은 실제로 주체성이 없고(에이전트라고 불리지만) 실수에 책임을 질 수 있는 사람도 아니기 때문에 인간의 감독이 핵심입니다. 지금으로선 개념 증명 데모나 내부 도구를 코딩하는 게 코딩 에이전트의 이상적인 용도일 겁니다.
참고자료:
- Claude Code: Best practices for agentic coding – Anthropic

답글 남기기