피드로 돌아가기
Sliding-Window Spend Guard: the $47K Loop Per-Call Caps Miss
Dev.toDev.to
AI/ML

Sliding-Window Guard 도입으로 4.7만 달러 규모의 AI Agent 루프 사고 방지

Sliding-Window Spend Guard: the $47K Loop Per-Call Caps Miss

Alexey Spinov2026년 6월 13일15intermediate

Context

개별 호출 비용을 제한하는 Per-call Cap 방식은 단일 요청의 비용만 검증하는 구조적 한계 존재. 이로 인해 저비용 호출이 무한 반복되는 Analyzer-Verifier 핑퐁 루프 발생 시 예산 소진을 막지 못해 47,000달러의 비용 손실 초래.

Technical Solution

  • collections.deque 기반의 Sliding-Window 구조를 통한 최근 N분간의 누적 지출액 추적
  • 요청 실행 전(Pre-execution) 단계에서 누적 비용, 시맨틱 중복 호출, Side Effect 발생 빈도를 검증하는 Guard 레이어 설계
  • 시간 기반 Eviction 로직을 통해 윈도우 범위를 벗어난 오래된 이벤트를 제거하여 메모리 효율성 확보
  • 외부 의존성 없는 Stdlib 기반 구현으로 네트워크 지연 및 추가 비용 없이 프로세스 내에서 즉각적인 차단 수행
  • 정밀한 제어를 위해 Clock 주입(Injectable Clock) 방식을 채택하여 결정론적 테스트 가능 구조 구축
  • Per-call Cap과 Sliding-Window Guard를 상호 보완적으로 배치하여 단일 고비용 호출과 누적 루프 호출을 동시 방어

1. AI Agent의 핵심 분기점(Planner, Verifier, Retry Wrapper)에 Guard 레이어 배치 여부 확인

2. 최대 허용 업무 수행 시간의 약 3배 수준으로 Window 길이를 설정하여 정상적인 Burst 요청과 루프 구분

3. 단순 금액 제한 외에 동일한 인자를 가진 API 호출의 반복 횟수(Loop Threshold) 제한 설정 검토

4. 호출 후 로깅이 아닌 호출 전 검증(Pre-call Validation) 단계가 포함되어 있는지 확인

원문 읽기