!원문 캡처 · mtlynch.io

코딩 에이전트의 한계는 기반이 되는 대규모 언어 모델(LLM)의 능력보다 작업을 나누고 위임하며, 계획을 전달하고 보안을 지키는 에이전트 소프트웨어에 있다는 지적이다. 이 글은 개인 개발 경험을 바탕으로 현재 에이전트의 문제와 바라는 개선점을 제시한다.

모델이 아니라 에이전트의 문제

글에서 ‘모델’은 GPT Astra, Claude Sonnet, GLM-5.3처럼 텍스트와 이미지, 코드를 생성하는 LLM을 뜻한다. ‘에이전트’는 모델을 코드 저장소와 컴퓨터 시스템에 연결하는 Claude Code나 Codex 같은 소프트웨어다. 모델이 두뇌라면 에이전트는 생성된 내용을 적절한 명령과 파일에 연결하는 몸에 해당한다는 설명이다.

글쓴이는 2025년 2월 처음 코딩 에이전트를 사용했을 때 파일을 직접 수정하고 오류를 고치는 모습에 감탄했지만, 며칠 뒤부터 잦은 버그와 멈춤, 미완성 작업을 완료했다고 알리는 문제를 겪었다고 말한다. 6개월이면 에이전트도 발전할 것으로 예상했지만, 모델이 발전한 반면 에이전트는 여전히 병목이라고 평가한다.

작업 관리와 위임의 한계

가장 큰 불만은 작업을 효율적으로 관리하지 못한다는 점이다. 파일 공유 링크에 암호 문구를 설정하는 기능을 오픈소스 웹앱 PicoShare에 추가할 때, OpenCode는 약 1,500줄의 코드가 필요한 변경을 10개 하위 작업으로 나눴지만 이를 병렬 처리하지 않고 하나씩 진행했다. 실제 변경 사항은 해당 풀 리퀘스트에서 확인할 수 있다.

Claude Code는 하위 에이전트를 한두 개 실행하기도 하지만, 글쓴이는 여러 작업이 끝날 때까지 기다린 뒤 다음 일을 시작하는 경우가 있다고 지적한다. 예컨대 종단 간 테스트가 끝난 다음에야 커밋 메시지를 작성하려고 Git 기록을 살피는 식이다. 글쓴이는 에이전트가 작업 난이도에 맞춰 더 저렴하고 빠른 모델을 고르거나, 어려운 작업에는 더 강한 모델을 투입해야 한다고 주장한다. 지금처럼 사용자가 하위 작업마다 모델을 바꾸고 일을 잘게 나누면, 대부분이 단순 반복인 작업에도 가장 강한 모델을 써야 한다는 설명이다.

에이전트가 자신의 기능을 충분히 알지 못한다는 불만도 제기한다. Claude Code에 Claude 기능을 묻더라도 웹 검색으로 정보를 찾으며, 그 정보가 설치된 버전과 맞는지 확인하지 않을 수 있다는 지적이다. 글쓴이는 에이전트가 자신이 제공하는 기능과 사용법을 내장 지식으로 알고 있어야 한다고 말한다.

계획을 전달하는 방식도 문제로 꼽는다. 글쓴이는 Codex에 미디어 일기 웹앱의 기능 추가를 맡긴 사례를 들며, 계획이 이해하기 쉬운 상위 수준의 설명에서 시작해 세부 사항으로 나아가야 한다고 주장한다. 서로 관련 없는 세부 설계 결정을 나열하는 것은 계획이 아니라 아이디어 모음에 가깝다는 것이다. 관련해 설계 문서의 피드백과 구성에 관한 설명과 도표 활용 자료를 제시한다.

사용자의 답을 기다리느라 작업을 멈추는 문제도 있다. 글쓴이는 잠들기 전 장시간 작업을 시작시켰지만, 에이전트가 Git 브랜치 이름을 물은 뒤 답변을 기다리며 밤새 작업하지 않은 사례를 소개한다. 사소한 선택은 사용자가 오랫동안 응답하지 않을 때 에이전트가 스스로 결정하도록 해야 한다고 본다.

보안과 사용 조건

글쓴이는 처음 코딩 에이전트를 사용하면서 파일 접근을 제한하는 운영체제 수준의 보호 기능을 찾았지만, 당시 문서가 특정 파일을 읽지 말라고 모델에 요청하라는 식이었다고 말한다. 그 요청에도 에이전트가 따르지 않아 비공개 애플리케이션 키를 OpenAI와 Anthropic에 전송했다고 주장한다. 또 에이전트가 제공업체의 샌드박스를 우회하는 사례가 있다며 보안 취약점 자료를 링크한다.

글쓴이는 허용 버튼을 반복해 누르는 방식도 신뢰할 만한 보호책이 아니라고 본다. 대신 직접 만든 샌드박스를 사용해 에이전트의 파일 시스템 접근을 저장소 디렉터리 안으로 제한한다고 설명한다. 원하는 기본값은 저장소 하나에 대한 접근이며, 다른 저장소는 세션별로 읽기 전용 또는 읽기·쓰기 권한을 부여하는 방식이다. 접근 통제는 모델의 요청이나 권고가 아니라 운영체제 수준에서 결정적으로 적용돼야 한다고 주장한다.

이 글의 비판은 별도의 플러그인이나 방대한 스킬 파일을 설치하거나 설정을 오래 조정해야 하는 상황이 아니라, 기본 제공 상태의 에이전트를 대상으로 한다.

바라는 에이전트의 모습

글쓴이가 기본 기능으로 바라는 것은 작업을 하위 과제로 나누고 각 과제에 적절한 모델을 배정하는 것이다. 에이전트는 비용·속도·정확성의 우선순위를 조정할 수 있어야 하며, 사람이 이해하기 쉬운 계획을 작성하고 UI 목업과 데이터 흐름도, 의사결정 트리도 만들 수 있어야 한다. 모델 제공업체에 종속되지 않고, 무제한 요금제도 사용할 수 있으며, 오픈소스로 제공되기를 바란다.

또한 실행 모드에서 사용자가 30분 동안 응답하지 않으면 에이전트가 스스로 판단해 진행하고, 기다림을 건너뛰는 ‘AFK 모드’도 제공해야 한다고 제안한다. 하위 에이전트의 작업에 사용자가 직접 들어가 방향을 바꾸거나 일찍 끝내도록 할 수 있어야 한다고 덧붙인다.

추가로는 여러 세션과 주의가 필요한 작업을 한곳에서 확인할 수 있는 웹 인터페이스, 작업별 예상 완료 시간과 그 정확도를 개선하는 기능, 작업 기록을 분석해 비효율을 줄이는 기능을 바란다. 그 밖에도 언어를 고려한 차이점 보기, 네트워크 요청에 비밀 정보를 주입하되 다른 호스트로 유출하지 못하게 하는 프록시, 제공업체의 사용량 한도를 고려한 모델 선택, 복잡한 작업에서 다른 모델에 코드 검토를 맡기고 수정 의견이 합의될 때까지 반복하는 기능을 제안한다.

왜 개선이 더딘가

글쓴이는 코딩 에이전트에 충분히 투자하지 않는 이유를 확신하지 못한다. 하나의 가설로, Anthropic·OpenAI·Google 같은 기업에서 AI 도구의 방향을 정하는 임원들이 일상적으로 에이전트를 쓰는 개발자와 거리가 있다는 ‘주인-대리인 문제’를 든다. 경영진과 대형 고객, 주주가 보기 쉬운 지표는 세련된 시연과 벤치마크 점수인 반면, 보안이나 개발자의 시간을 효율적으로 쓰는 능력은 시연에서 드러나기 어렵고 에이전트 자체를 평가하는 벤치마크도 많지 않다는 주장이다.

다만 이는 글쓴이의 가설이다. 그는 Claude와 Codex에 매달 기능이 추가되는 점을 인정하면서도, 최근 추가된 기능 가운데 자신의 작업을 실제로 개선한 것이 무엇인지는 떠올리기 어렵다고 말한다. 사용해 본 제품은 Claude, Codex, OpenCode, Cline, Pi이며, 현재는 OpenCode와 Claude Code를 주로 쓴다고 밝혔다.