멀티 에이전트 시스템의 재시도(retry) 문제로 골치 아프네요 — 다들 복구는 어떻게 처리하시나요?
Frustrated with retries in a multi agent system — how are you handling recovery?
핵심 요약
멀티 에이전트 시스템에서 재시도 시 발생하는 상태 불일치와 복구 문제에 대한 해결책을 공유하는 글.
- 재시도 전략 — 멀티 에이전트 환경에서 재시도 시 발생하는 중복 및 상태 불일치 문제 논의
- 부분 실패 대응 — 작업 전체를 반복하지 않고 중단된 지점부터 복구하는 방법 모색
- 멱등성 키 활용 — 각 단계를 멱등성 있게 설계하여 중복 실행 방지
- 상태 체크포인트 — 단계별 상태를 저장하여 마지막 성공 지점부터 재개하는 방식 제안
2년째 프로덕션 환경에서 돌리고 있는데, 재시도는 여전히 제대로 구현하기 가장 까다로운 부분 중 하나임.
문제는 재시도 자체가 아님. 무엇을 재시도해도 안전한지 아는 게 문제지. 독립적인 환경에선 보통 뻔하지만, 연결된 시스템에서는 한 단계에서의 재시도가 중복, 상태 불일치, 혹은 다운스트림의 다른 무언가를 망가뜨릴 수 있음.
부분 실패가 최악임. 크래시는 안 났는데 시스템이 제대로 끝맺음을 못한 거니까. 작업을 반복하거나 단계를 건너뛰지 않고 어디서부터 재개할지 파악하는 건 말처럼 쉽지 않고, 대부분의 프레임워크는 이걸 알아서 해결하라고 내버려 둠.
다들 어떻게 해결하고 있음?


