피드로 돌아가기
I Was Building a Live Trading Bot and a Patented Wagering System. The Bug I Found Is Now Breaking AI Agents Everywhere.
Dev.toDev.to
Backend

Idempotency 보장으로 AI Agent의 중복 실행 리스크 제거

I Was Building a Live Trading Bot and a Patented Wagering System. The Bug I Found Is Now Breaking AI Agents Everywhere.

Anthony Zender2026년 4월 26일5intermediate

Context

네트워크 타임아웃 발생 시 Retry 로직에 의한 중복 Order 및 Prize Payout 발생 가능성 확인. Transport layer의 재시도 처리가 Side Effect의 중복 실행을 막지 못하는 설계적 한계 노출.

Technical Solution

  • Request-id 기반의 Deduplication 메커니즘을 통한 실행 이력 추적 및 결과 재사용 구조 설계
  • OPEN부터 SETTLED까지 이어지는 Finality Gate 상태 머신 도입으로 실행 권한 제어
  • 모호한 신호 발생 시 IN_RECONCILIATION 상태로 전이시켜 Side Effect 실행을 일시 차단하는 가드 레일 구축
  • SQLite 기반의 영속성 저장소 활용을 통한 시스템 재시작 후에도 실행 상태 유지 및 복구 보장
  • MCP(Model Context Protocol) Tool layer 상단에 배치하여 에이전트 결정과 실제 도구 실행 사이의 무결성 검증 계층 추가

1. 외부 API 호출 등 가역적이지 않은 액션 수행 전 Idempotency Key 생성 및 검증 로직 포함 여부 확인

2. 단순 Retry가 아닌 상태 머신을 통한 실행 단계(Finality Gate) 정의 및 제어 적용 검토

3. AI Agent의 비결정적 응답에 대비한 Reconciliation 상태 정의 및 임계값 기반 실행 제어 설계

원문 읽기