AI 코딩 에이전트(Claude Code·Codex·Gemini CLI) 세팅이 실패하는 15가지 패턴과 해결법
요약
AI 코딩 에이전트(Claude Code, Codex, Gemini CLI 등)를 운영할 때 흔히 발생하는 15가지 실패 패턴과 해결책을 제시합니다. 문제의 원인은 모델 성능보다 잘못된 운영 설정에 있는 경우가 많으며, 구체적인 지침 및 권한 설정을 통해 안정성을 높일 수 있습니다.
핵심 포인트
- 완료 기준을 '실행 명령과 실제 결과'로 명확히 정의해야 합니다.
- 도구별 규칙은 분리하고 CI를 통해 일관성을 검증하는 것이 중요합니다.
- Sandbox와 Approval 정책의 차이를 정확히 이해하고 설정해야 합니다.
- 민감한 금지 규칙(예: rm -rf)은 PreToolUse 훅을 이용해 막는 것이 효과적입니다.
- 기억 관리는 턴 로그, 일일 요약, 장기 기억 등 계층적으로 관리해야 합니다.
코딩 에이전트를 몇 주 쓰다 보면 "일은 많이 했는데 실제로 반영된 건 없는" 상태가 돼요. 원인은 대부분 모델 성능이 아니라 운영 설정이에요.
증거 없는 "완료": 완료 기준에 "실행한 명령과 실제 결과"를 꼭 넣게 해요. "테스트 통과"가 아니라 "make test → 42 passed in 6.1s"처럼요. 고치는 시도는 3번까지만 하고, 넘으면 멈추고 보고하게 해요. 실패하는 테스트를 지워버리는 일이 이걸로 사라져요.
도구마다 다른 지침: 규칙은 AGENTS.md 하나에 두고, CLAUDE.md는 @AGENTS.md로 불러오고, Gemini는 context.fileName으로 읽게 해요. 지침이 서로 달라지면 CI에서 걸리게 해둬요.
sandbox와 approval 혼동: sandbox는 접근할 수 있는 경계이고, approval은 경계를 넘으려 할 때 어떻게 처리할지예요. Codex의 approval_policy = "never"는 권한을 넓히는 설정이 아니라, 경계를 넘는 작업을 묻지 않고 실패시키는 설정이에요. 새벽 배치가 아무것도 안 한 이유가 보통 이거예요. 참고로 untrusted는 이제 지원되지 않아요.
프롬프트 속 "하지 마": 이런 규칙은 PreToolUse 훅으로 옮겨요. exit 2로 끝나면 실행이 막히고, 이유가 에이전트에게 전달돼요. 정규식 20줄 정도로 rm -rf, 강제 push, curl | sh, .env 읽기를 막을 수 있어요.
리뷰어가 코드를 고쳐버림: 리뷰어 서브에이전트에는 Edit 권한을 주지 않아요. 아니면 다른 CLI를 read-only 프로필로 돌려서 교차 리뷰를 해요.
기억이 서로 모순됨: 기억을 세 층으로 나눠요. 턴 로그, 하루 요약(40줄 이하), 장기 기억(120줄 이하)이에요. 매주 반복해서 나온 것만 장기 기억으로 올리고, 오래된 건 지워요.
타임아웃 뒤 중복 실행: 외부로 나가는 작업에는 멱등성 키를 붙이고, 응답을 못 받으면 unknown 상태로 둬요. 다시 보내기 전에 상대 시스템에서 실제로 처리됐는지부터 확인해요.
15가지 전체와 설정 예시는 링크한 글에 있고, 4쪽짜리 무료 PDF도 있어요. 빠진 실패 패턴이 있으면 알려주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기