피드로 돌아가기
Implementing Auto-Retry for Agent CLIs like Claude Code and Codex
Dev.toDev.to
AI/ML

Shared Layer 설계를 통한 Agent CLI Streaming Auto-Retry 구현 및 테스트 31종 검증

Implementing Auto-Retry for Agent CLIs like Claude Code and Codex

Hagicode2026년 4월 18일10intermediate

Context

단순 HTTP 요청과 달리 Streaming 방식으로 동작하는 Agent CLI는 출력 데이터의 중복 발생 및 Session Context 유지라는 기술적 제약 존재. Provider 내부의 단순 try/catch 방식으로는 일시적 오류와 치명적 오류를 구분하지 못해 불필요한 리트라이 루프와 백엔드 부하를 초래하는 한계 직면.

Technical Solution

  • 리트라이 로직을 개별 Provider에서 분리하여 전역적으로 관리하는 Shared Layer 아키텍처 도입
  • Provider는 '재시도 가능 상태 여부'와 '컨텍스트 지속 가능성'이라는 두 가지 판단 기준만 제공하는 책임 분리 설계
  • Streaming 데이터의 중복 출력을 방지하기 위해 현재 출력 상태를 추적하고 유효한 지점부터 재개하는 Resume 전략 적용
  • Network Jitter 및 SSE Idle Timeout 등 transient failure와 인증 실패 등 terminal state를 구분하는 전략적 필터링 구현
  • 무한 루프 방지를 위해 Max Attempts 및 Backoff 간격을 정의한 Boundary 제어 메커니즘 적용
  • Shared Provider와 Adapter Layer를 분리하여 리줌 발생 여부와 메시지 무결성을 동시에 검증하는 Mirror Test 체계 구축

1. 리트라이 대상이 단순 API 호출인지, 상태를 가진 Session 기반 Streaming인지 구분했는가

2. Transient Error와 Terminal Error를 명확히 구분하는 Error Classifier를 설계했는가

3. 리트라이 시 기존에 출력된 데이터의 중복 발생을 막기 위한 Resume Token 또는 Offset 전략이 있는가

4. 무한 리트라이 방지를 위한 Max Attempts 및 Backoff 경계값이 설정되었는가

5. 복구 로직 자체의 무결성을 검증할 수 있는 통합 테스트 케이스가 확보되었는가

원문 읽기