요즘 개발하시는 분들, AI 코딩 에이전트 한번쯤 써보셨나요? ‘코드 좀 짜줘’ 하면 몇 시간 동안 앉아서 앱도 만들고, 버그도 고치고, 테스트까지 돌리는 요즘 AI 에이전트들 정말 대단해 보이잖아요. 저도 스타트업에서 일하다 보면 ‘이거 좀 자동화할 수 없을까?’ 싶은 생각 많이 하는데, 막상 써보면 생각만큼 만능은 아니더라고요. 오히려 잘못 쓰면 프로젝트가 더 꼬일 수도 있다는 점! 그래서 오늘은 이 AI 코딩 에이전트가 실제로 어떻게 돌아가는지, 우리가 꼭 알아야 할 점은 뭔지 같이 알아봐요.
일단 기본적으로, 모든 AI 코딩 에이전트의 핵심에는 ‘LLM’이라는 큰 언어 모델이 있어요. 이건 엄청난 양의 텍스트와 코드 데이터로 학습한 패턴 매칭 머신이라고 생각하시면 돼요. 우리가 프롬프트(지시)를 주면, 학습했던 데이터에서 통계적 패턴을 끄집어내서 그럴듯한 다음 문장(또는 코드)을 만들어내는 거죠. 여기서 ‘그럴듯한’이 키포인트예요. 가끔은 논리적인 추론을 잘 해내기도 하지만, 가끔은 아예 상상으로 지어내는 ‘환각’ 오류를 내기도 하거든요.
그래서 연구자들이 이 기본 모델을 더 다듬었어요. 좋은 예시로 추가 학습을 시키거나, 사람의 피드백으로 보상을 주는 방식(RLHF)으로 훈련시켜서, 지시를 더 잘 따르고 도구도 사용하게 만든 거죠. 그리고 최근에는 ‘시뮬레이션 추론’이라는 방식도 나왔는데, AI가 문제를 풀기 전에 머릿속으로 ‘생각하는’ 텍스트를 먼저 생성하게 해서 더 정확한 답을 내놓도록 유도하는 기술이에요.
제일 재미있는 건 ‘에이전트’라는 개념이에요. 이건 여러 개의 LLM을 마치 팀처럼 엮어서 일을 시키는 응용 프로그램이에요. 한 명의 ‘슈퍼바이저’ LLM이 우리의 지시를 해석하고, 여러 하위 LLM들에게 일을 나눠주는 거죠. 그리고 각 하위 LLM은 코드를 작성하거나 파일을 실행하는 등 실제 도구를 사용할 수 있어요. 슈퍼바이저는 이들의 작업을 감독하고 결과를 검증하면서 ‘맥락 수집 → 행동 실행 → 작업 검증’의 사이클을 반복한다고 하네요. 마치 작은 개발 팀을 관리하는 프로젝트 매니저 같은 느낌이에요.
사용 방식은 크게 두 가지예요. 로컬 컴퓨터에서 CLI(명령줄 인터페이스)로 돌리면, 에이전트에게 파일을 쓰거나 명령어를 실행할 수 있는 조건부 권한을 줘야 해요. 되게 강력해 보이지만, 이건 좀 위험할 수도 있어요. 내 컴퓨터 파일을 마음대로 건드릴 수 있으니까요. 반대로 웹 기반 에이전트(예: Claude Code 웹버전)는 샌드박스된 클라우드 공간에서 일해요. 우리의 코드 저장소를 불러와서 그 안에서만 파일을 읽고, 명령을 실행하고, 코드를 테스트할 수 있도록 격리시켜 주는 거죠. 당연히 이쪽이 훨씬 안전하겠죠?
근데 이런 AI 에이전트에게도 치명적인 약점이 하나 있어요. 바로 ‘기억력’ 문제예요. LLM은 처리할 수 있는 데이터의 양, 즉 ‘컨텍스트’가 제한되어 있어요. 우리가 대화를 이어갈수록, 생성된 모든 코드와 AI의 ‘생각’ 텍스트까지 모두 하나의 거대한 프롬프트에 추가되는데, 이게 너무 길어지면 AI는 앞부분을 잊어버려요. 게다가 이 모든 토큰(데이터 조각)을 서로 비교하며 처리하는 과정은 컴퓨팅 비용이 어마어마하게 든다고 해요.
Anthropic 팀은 이를 ‘컨텍스트 부패’라고 설명했어요. 기억 창문이 커질수록, 모델의 성능이 점점 떨어진다는 거죠. 결국 AI 에이전트도 장시간 복잡한 작업을 지시하면 길을 잃을 수 있다는 이야기예요.
그러니까 결론은, AI 코딩 에이전트는 정말 강력한 도구이지만 ‘만능 해결사’는 절대 아니라는 점이에요. 어떻게 작동하는지 이해하고, 특히 안전한 환경(웹 샌드박스 같은)에서 사용하는 게 중요해 보여요. 개발을 완전히 대체하기보다는, 똑똑한 조수처럼 우리의 생산성을 높여주는 도구로 바라보는 게 현명할 것 같아요. 여러분은 어떻게 생각하시나요?
—
원문: [Ars Technica](https://arstechnica.com/information-technology/2025/12/how-do-ai-coding-agents-work-we-look-under-the-hood/)