샌드박스를 넘어: 내구성 있는 AI 에이전트 구축하기
프로덕션 환경의 AI 에이전트에게 샌드박스만으로는 충분하지 않습니다.
대부분의 개발자는 에이전트를 메모리 내의 단순한 루프로 구축합니다. LLM이 관찰하고, 결정하고, 행동하고, 이를 반복하는 방식입니다. 이는 실험실에서는 잘 작동하지만, 실제 환경에서는 실패합니다.
왜 메모리 루프는 실패할까요?
- 긴 작업 시간: 에이전트가 작업을 완료하는 데 며칠이 걸리거나 사람의 승인을 기다려야 하는 경우, 프로세스를 계속 실행 상태로 두는 것은 CPU와 메모리를 낭비합니다.
- 장애 복구 불가: 시스템이 충돌하거나 네트워크가 끊기면 전체 상태를 잃게 됩니다. 중단된 지점부터 다시 시작할 수 없습니다.
- 복잡성: 다수의 에이전트가 서로 통신하려면 방대한 양의 추가 코드가 필요하며, 이는 구현하기 어렵습니다.
Orkes의 CTO인 Virein Baraiya는 더 나은 방법을 제안합니다. 관심사를 분리하십시오.
행동에는 샌드박스만 사용하십시오. 위험한 도구 코드를 안전하게 실행하기 위해 샌드박스를 활용하십시오.
추론에는 내구성 있는 런타임을 사용하십시오. LLM은 계획을 제공하고, 런타임 시스템이 실행과 상태를 관리합니다.
그는 이를 해결하기 위해 두 가지 도구를 소개합니다:
- Netflix Conductor 이것은 워크플로 엔진입니다. 원장(ledger) 역할을 하며, 모든 LLM 호출과 모든 도구 사용 내역을 데이터베이스에 기록합니다.
- 온디맨드 일시 중단을 지원합니다. 에이전트가 사람을 기다리는 경우, 시스템은 워크플로를 일시 중지하고 모든 메모리를 해제합니다.
- 몇 달 후에 다시 깨어나 작업을 완료할 수도 있습니다.
- Agent Span 이것은 Conductor를 기반으로 구축된 런타임입니다. 번역기 역할을 합니다.
- LangGraph나 OpenAI SDK와 같은 기존 도구를 사용할 수 있습니다.
- Agent Span은 비즈니스 로직을 다시 작성할 필요 없이 에이전트 코드를 내구성 있는 워크플로로 변환합니다.
이 아키텍처는 세 가지 큰 이점을 제공합니다:
- 가드레일: LLM이 아닌 프레임워크가 규칙을 제어합니다. 이를 통해 환각(hallucination) 현상이 피해를 입히는 것을 방지합니다.
- 전체 감사(Audit): 몇 달 후에도 에이전트가 왜 그런 결정을 내렸는지 정확히 확인할 수 있습니다. 프로세스를 다시 재생(replay)할 수도 있습니다.
- 더 나은 테스트: 하나의 LLM 출력을 변경하고 시스템의 나머지 부분이 어떻게 반응하는지 확인할 수 있습니다.
빌더들을 위한 마지막 팁: 비즈니스 컨텍스트에 집중하십시오. 모델은 변하고 프레임워크도 변합니다. 하지만 비즈니스가 작업을 수행하는 구체적인 방식이 여러분의 진정한 해자(moat)입니다.
Source: https://dev.to/cognitalk/chao-yue-sha-xiang-wei-ai-agent-gou-jian-chi-jiu-hua-yun-xing-shi-2i9i
Optional learning community: https://t.me/GyaanSetuAi
