AI Agents Operations

AI 에이전트에 지출 한도와 긴급 정지 스위치 달기

Alejandro Rioja
Alejandro Rioja
4 분 읽기
TL;DR

프로덕션 에이전트는 배포 전에 세 가지 제한이 필요합니다. 실행당·일별 모델 비용 상한, 실행당 최대 단계 수, 재배포 없이 멈출 수 있는 긴급 정지 스위치입니다. 이것이 없으면 루프 하나가 하룻밤에 한 달 예산을 쓸 수 있습니다.

AI 에이전트로 만들기

AI 에이전트를 마케팅, 영업, 제품에 활용하는 법을 배우세요. 매주 제가 배운 것을 5,400명+ 독자와 나눕니다.

제한 없는 에이전트는 잠을 자지 않는 아주 빠른 인턴에게 신용카드를 맡기는 것과 같습니다. 대부분은 괜찮습니다. 하지만 단 한 번, 도구가 에이전트가 이해하지 못하는 오류를 반환하면 에이전트는 다시 시도하고, 오류를 읽고, 또 시도하며 API 잔액이 바닥날 때까지 계속합니다.

저는 에이전트를 많이 운영하는데, 규칙은 단순합니다. 지출 한도, 단계 제한, 긴급 정지 스위치가 갖춰지기 전에는 어떤 에이전트도 라이브로 내보내지 않습니다. 셋 다 추가하기 어렵지 않습니다. 건너뛰는 쪽이 비쌉니다.

에이전트가 과하게 쓰는 이유

일반 스크립트는 매번 같은 양의 일을 합니다. 에이전트는 얼마나 일할지 스스로 결정하고, 그게 에이전트를 쓰는 이유입니다. 동시에 위험이기도 합니다. 통제 불능이 된 청구서는 거의 다음 네 가지 원인에서 나옵니다.

  1. 재시도 루프. 도구가 실패하면 에이전트가 입력을 조금 바꿔 다시 시도하고, 또 실패하고, 이를 반복합니다.
  2. 계속 커지는 컨텍스트. 단계마다 대화가 늘어나므로 호출할 때마다 이전보다 비용이 듭니다. 40단계 실행은 1단계 실행의 40배보다 훨씬 비쌉니다.
  3. 팬아웃. 에이전트가 하위 작업을 만들고, 각 하위 작업이 또 더 많은 작업을 만듭니다.
  4. 너무 자주 발동하는 트리거. 예약 작업이나 수신 웹훅이 5번이 아니라 500번 실행됩니다.

호출당 비용의 숫자는 AI agent cost math에서 풀어 두었습니다. 이 글은 평균이 아니라 상한에 관한 이야기입니다.

제한 1: 엄격한 지출 한도

에이전트마다 두 숫자를 정하세요. 실행당 최대 지출과 하루 최대 지출입니다.

그 일의 가치에 맞춰 정하세요. 받은편지함을 분류해 하루 20분을 아껴 주는 에이전트가 한 번 실행에 40달러를 쓰면 안 됩니다. 출발점으로는 평소 실행 비용의 다섯 배가 좋습니다. 일반적인 실행이 20센트라면 실행당 1달러, 하루 10달러로 제한하세요. 정당한 작업이 처음 막히는 순간 한도를 올리면 되고, 그건 반가운 문제입니다.

적용할 곳은 두 군데입니다.

  • 제공업체에서. Anthropic이나 OpenAI 콘솔에서 월 지출 한도를 설정하세요. 마지막 안전망이며 2분이면 됩니다. 내 코드가 틀려도 최악의 상황을 막아 줍니다.
  • 내 코드에서. 실행 중 사용한 토큰을 누적해 달러로 환산하고, 실행당 한도를 넘으면 멈추세요. 재시작해도 초기화되지 않도록 하루 합계는 영속적인 곳에 저장하세요.

제한 2: 최대 단계 수

단계 제한은 가장 단순한 방어이며, 달러 한도가 너무 늦게 잡는 루프를 잡아냅니다. 정상적인 실행이 밟는 최대 단계 수를 정하고, 여유를 더한 다음 거기서 멈추세요.

가장 긴 정상 실행이 도구 호출 12번이라면 한도를 25로 두세요. 에이전트가 한도에 닿으면 조용히 계속하게 두지 마세요. 실행을 끝내고, 이유를 기록하고, 자신에게 메시지를 보내세요. 단계 제한에 걸린 실행은 버그 리포트이고, 읽어 볼 가치가 있습니다.

같은 도구를 같은 입력으로 반복 호출하는 경우에도 같은 원리가 적용됩니다. 에이전트가 같은 입력으로 같은 도구를 세 번 연속 호출하면 멈추세요. 그건 진행이 아니라 루프입니다.

제한 3: 배포가 필요 없는 긴급 정지 스위치

새벽 2시에 문제가 생겼을 때 코드를 수정하고 다시 빌드하고 재배포하고 싶지는 않습니다. 스위치 하나를 내리고 싶습니다.

긴급 정지 스위치는 에이전트가 실행 시작 때만이 아니라 매 단계 시작 시 확인하는 단일 플래그입니다. 플래그가 중지를 가리키면 에이전트는 멈춥니다. 플래그가 어디에 있는지보다 휴대폰으로 바꿀 수 있다는 점이 더 중요합니다. 키-값 저장소의 키, 데이터베이스의 한 행, 또는 재배포 없이 편집할 수 있는 환경 변수 모두 가능합니다.

세부 사항도 챙기세요.

  • 자주 확인하세요. 시작할 때만 읽는 플래그로는 이미 진행 중인 실행을 멈출 수 없습니다.
  • 멈추는 방식을 안전하게 하세요. 에이전트는 하던 작업을 끝내거나 되돌려야 하며, 반쯤 보낸 이메일이나 반쯤 잡은 예약을 남겨서는 안 됩니다.
  • 실패하면 닫으세요. 에이전트가 플래그를 읽을 수 없으면 멈춥니다. 플래그 저장소가 고장 났다고 지출이 무제한이 되어서는 안 됩니다.
  • 한 번은 테스트하세요. 스테이징 복사본에서 스위치를 내리고 멈추는 것을 확인하세요. 테스트하지 않은 긴급 정지 스위치는 희망일 뿐입니다.

관련된 통제인 승인 단계는 human-in-the-loop agents에서 다뤘습니다. 승인은 나쁜 행동을 막고, 한도는 나쁜 지출을 막습니다. 둘 다 필요합니다.

가장 먼저 알 수 있게 알림을 추가하세요

제한은 예산을 지켜 주지만, 언제 작동했는지는 알아야 합니다. 일일 한도의 50%와 80%에 도달했을 때, 그리고 단계 제한이나 긴급 정지 스위치로 실행이 끊길 때마다 메시지를 보내세요. 그리고 읽으세요. 무시하는 법을 익힌 알림은 아무 가치가 없으니, 계속 울리는 알림이 있다면 원인을 고치거나 제한을 조정하세요.

각 단계를 추적 ID와 함께 기록하고 있다면 어느 실행이 돈을 썼는지 정확히 볼 수 있습니다. 그 구성은 how to debug an AI agent in production에서 설명합니다.

세 가지 제한을 한 번에 추가하는 프롬프트

직접 작성할 필요 없습니다. 에이전트 코드가 있는 폴더에서 Claude를 열고 다음을 붙여 넣으세요.

code
Read my agent's code. Add three safety limits and show me every file you change:
1. A per-run and per-day spending cap, computed from token usage. Read the limits
   from configuration, and stop the run with a clear logged reason when either is hit.
2. A maximum step count per run, plus a stop if the same tool is called with the same
   input three times in a row.
3. A kill switch: a flag checked before every step that stops the agent safely.
   If the flag can't be read, the agent must stop.
Then list what you assumed about where the flag should live, and give me a short
checklist to test each limit on a non-production copy.

결과를 믿기 전에 세 가지를 확인하세요. 달러 계산이 사용하는 모델의 현재 가격을 쓰는지(모델이 가격을 추측할 수 있습니다), 플래그를 매 단계 읽는지, 그리고 각 제한을 한 번씩 직접 작동시켜 확인했는지입니다. 모델은 절대 발동하지 않는 한도도 기꺼이 작성합니다.

감당할 수 있는 가장 엄격한 숫자로 시작하세요

첫날에는 제한을 빡빡하게 두고, 근거를 보며 풀어 주세요. 정당한 실행을 막는 한도는 몇 분의 비용을 치르게 합니다. 한도가 없으면 하룻밤에 한 달 예산을 잃을 수 있습니다. 에이전트가 실제 데이터를 만지기 전에 제한을 넣어 두면, 나머지 구축이 훨씬 편안해집니다.

광고
계속 읽기

관련 게시물

계속 읽기

AI 플레이북을 받아보세요

AI 에이전트를 마케팅, 영업, 제품에 활용하는 법을 배우세요. 매주 제가 배운 것을 5,400명+ 독자와 나눕니다.

↵ ↵ 전체 결과 보기 esc esc 닫기