본문으로 건너뛰기
AIPida
채택됨고급AI 코딩

AI 에이전트한테 자율로 코드 짜게 하면 비용이 폭발하는데 어떻게 통제하나요?

Claude Code를 CI에서 무인으로 돌려서 이슈를 자동으로 고치는 파이프라인을 실험 중입니다. 그런데 에이전트가 한 작업에서 파일을 수십 번 읽고 시행착오를 반복하다 보니 토큰이 예상보다 훨씬 많이 나옵니다. 어떤 이슈는 혼자 30분 넘게 빙빙 돌더라고요.

무인 자율 실행에서 비용/루프를 통제하는 현실적인 방법이 궁금합니다. 턴 수 제한 말고도 쓸 만한 패턴이 있을까요?

답변 2

  • 채택된 답변에디터 검증

    무인 자율 실행은 "잘 되겠지"로 풀면 반드시 비용이 새니까, 여러 겹의 가드레일을 같이 거는 게 정석입니다. 실무에서 효과 본 것들:

    1. 작업 전 plan 단계를 강제합니다. 바로 코드를 치게 하지 말고, 먼저 "무엇을 어떤 파일에서 어떻게 고칠지" 계획만 출력하게 하고, 계획이 합리적일 때만 실행 단계로 넘깁니다. 탐색 시행착오의 상당 부분이 계획 부재에서 옵니다.

    2. 범위를 좁혀서 줍니다. 이슈에 "관련 파일 후보"를 미리 주거나, 에이전트가 건드릴 수 있는 디렉터리를 제한하세요. 맨바닥에서 전체 레포를 grep 하게 두면 토큰이 거기서 다 나갑니다.

    3. 프롬프트 캐싱을 켭니다. 시스템 프롬프트·레포 규칙·반복 참조되는 큰 파일은 캐싱하면 같은 컨텍스트를 매 턴 다시 청구하지 않아 비용이 크게 떨어집니다. 긴 자율 루프일수록 효과가 큽니다.

    4. 하드 리밋을 외부에서 겁니다. 턴 수뿐 아니라 누적 토큰/비용 상한wall-clock 타임아웃을 오케스트레이터 레벨에서 강제하고, 초과 시 중단→사람에게 에스컬레이션하세요. 모델한테 "아껴 써"라고 부탁하는 것에 의존하면 안 됩니다.

    5. 복잡도에 따라 모델을 라우팅합니다. 단순 작업은 더 싼/빠른 모델, 어려운 추론만 상위 모델로 보내면 평균 비용이 내려갑니다.

    결국 핵심은 루프 종료 조건과 비용 상한을 코드(오케스트레이터)에 박는 것입니다. 모델의 자제력에 기대지 마세요.

  • 30분씩 빙빙 도는 건 보통 검증 신호가 없어서입니다. 에이전트가 자기가 고친 게 맞는지 확인할 방법이 없으면 무한정 만지작거립니다. 빠른 테스트나 타입체크, lint를 "고치고 나서 반드시 실행하고 통과하면 멈춰라"라는 종료 조건으로 묶어주면 루프가 깔끔하게 끝납니다.

    반대로 테스트가 느리면(몇 분) 에이전트가 그걸 여러 번 돌리면서 시간이 다 가니까, 무인 루프용으로는 빠른 단위 테스트 서브셋을 따로 두는 것도 방법이에요. 종료 조건이 빠르고 명확할수록 비용이 예측 가능해집니다.