LangChain 에이전트를 위한 오픈소스 사전 승인 레이어 'FiGuard'를 만들었습니다. 코드 한 줄이면 끝납니다.
핵심 요약
LangChain 에이전트의 중복 실행과 예산 초과를 방지하는 오픈소스 사전 승인 도구 'FiGuard' 소개.
- 중복 실행 방지 — 재시도 시 발생하는 에이전트의 중복 작업과 비용 지출을 원천 차단함.
- 예산 관리 기능 — 에이전트 간 예산 공유 시 비관적 락을 통해 동시성 문제를 해결함.
- 유연한 권한 제어 — 서브 에이전트별 예산 할당 및 위임 토큰으로 독립적인 제어가 가능함.
- 오픈소스 라이브러리 — Apache 2.0 라이선스로 제공되며 별도 계정 없이 바로 사용 가능함.
LangChain 에이전트가 응답을 기다리다 타임아웃이 발생합니다. 재시도를 하죠. 하지만 첫 번째 호출은 이미 처리된 상태입니다. 이를 잡아내는 시스템이 없죠.
이건 가상의 이야기가 아닙니다. 이미 승인된 작업을 추적하지 않고 재시도하는 모든 시스템에서 발생하는 알려진 장애 모드입니다.
이걸 해결하려고 FiGuard를 만들었습니다. 기존 executor에 코드 한 줄만 추가하면 됩니다:
executor = auto_guard_langchain(executor, budget=500, currency="USD") FiGuard는 각 도구 호출이 실행되기 전에 승인 절차를 거칩니다. 예산이 소진되었거나 에이전트가 이미 승인된 지출을 재시도하면, 에이전트가 이해할 수 있는 구조화된 DENIED 응답을 보냅니다. 어떤 작업도 두 번 실행되지 않습니다.
또한 다음 기능들을 지원합니다:
-
두 에이전트가 예산을 공유할 때, 둘 다 "$400 사용 가능"으로 인식하고 승인받는 상황 (비관적 락으로 레이스 컨디션 방지)
-
서브 에이전트가 공유 풀을 다 써버리는 문제 (위임 토큰으로 각 에이전트 예산 독립적 제한)
-
승인된 작업과 실제 발생한 작업 간의 추적 불일치 (추가 전용 원장)
오픈소스, Apache 2.0 라이선스. 계정 필요 없음,pip install figuard로 무료 샌드박스 연결.
저장소: https://github.com/figuard/figuard-core
60초 만에 해보는 Colab (가입 불필요): https://colab.research.google.com/github/figuard/figuard-notebooks/blob/main/agent-incidents/01_infinite_loop.ipynb
프로덕션 환경에서 에이전트를 돌리고 계신다면, 현재 지출 관리는 어떻게 하고 계신가요?

