Andi Partovi: 모든 AI 에이전트가 시뮬레이션 샌드박스를 필요로 하는 이유

Andi Partovi: 모든 AI 에이전트가 시뮬레이션 샌드박스를 필요로 하는 이유

자율 행동 기반 에이전트로의 전환

AI 에이전트 개발은 단순한 지식 기반 챗봇에서 감독된 코파일럿으로, 그리고 궁극적으로 자율적인 행동 기반 에이전트로 진화하고 있습니다. 코파일럿은 일반적으로 인간의 승인을 위해 콘텐츠를 초안으로 작성하지만, 행동 기반 에이전트는 이메일 전송, 데이터베이스 수정, 결제 실행 등의 권한을 가집니다. 이러한 자율성 증가는 운영 위험을 크게 높이며, 프로덕션에서 오류가 발생하면 데이터 손실이나 법적 책임과 같은 심각한 결과를 초래할 수 있습니다.

전통적인 평가가 AI 에이전트에 실패하는 이유

전통적인 소프트웨어 엔지니어링 테스트—예: 단위 테스트, 어설션, "골든 데이터셋"(정적 입력‑출력 쌍)—은 자율 에이전트에게 다음 네 가지 주요 요인 때문에 충분하지 않습니다:

1. 비결정성

에이전트는 동일한 입력에 대해 서로 다른 출력을 생성할 수 있습니다. 따라서 테스트는 단일 성공 실행에 의존하기보다 규모와 반복을 통해 특정 출력이 나타날 통계적 가능성을 판단해야 합니다.

2. 상호작용성

많은 에이전트는 외부 시스템과 다중 턴 대화를 수행합니다. 예를 들어, 공급업체와 이메일을 통해 협상하는 소싱 에이전트는 이메일을 주고받고 실시간 데이터베이스와 상호작용할 수 있는 시스템이 필요합니다. 정적 데이터셋은 이러한 동적 워크플로를 포착할 수 없습니다.

3. 동적 라벨링

에이전트 시스템에서는 "정답"이 실행 상황에 따라 달라지는 경우가 많습니다. 인증 도구가 오류를 반환해 에이전트가 거래를 거부한다면, 초기 테스트 기대치가 거래 완료였더라도 그 거부가 올바른 행동입니다. 따라서 평가는 사전 정의된 라벨이 아니라 실행 후(트레이스 이후)에 이루어져야 합니다.

4. 예측 불가능한 사용자 행동

사용자와 직접 대면하는 에이전트는 적대적인 입력, 범위 외 요청, 정책 위반을 유도하려는 시도 등에 노출됩니다. 이러한 엣지 케이스는 전통적인 평가 세트에 거의 포함되지 않습니다.

해결책: 시뮬레이션 기반 개발

"작동한다"는 데모와 규모에 맞게 작동하는 시스템 사이의 격차를 메우기 위해, 개발자는 고충실도 "매트릭스"와 같은 시뮬레이션 환경이 필요합니다. 시뮬레이션 환경은 동일한 도구, 서비스, 사용자 유형을 제공하지만 실제 실패에 따른 현실 세계의 결과는 없습니다.

POMDP 프레임워크

이론적으로 AI 에이전트는 부분 관측 마코프 결정 프로세스(Partially Observable Markov Decision Process, POMDP)에서 동작합니다. 완전 관측 가능한 MDP인 체스 게임과 달리, AI 에이전트는 환경의 전체 상태나 사용자의 의도를 알 수 없습니다. 에이전트는 행동‑보상 시스템을 통해 상호작용합니다: 에이전트가 행동을 취하면 환경 상태가 변하고, 에이전트는 즉각적이거나 지연된 보상(긍정 또는 부정)을 받습니다.

견고한 시뮬레이션 환경의 구성 요소

효과적인 시뮬레이션 환경을 구축하려면 네 가지 핵심 요소가 필요합니다:

  • 테스트 대상 에이전트: 평가 중인 특정 AI 에이전트.
  • 시뮬레이션된 도구 및 서비스: 실제와 동일하게 동작하는 데이터베이스, 캘린더, 커뮤니케이션 플랫폼(예: Slack, SharePoint) 등의 모의 버전.
  • 시뮬레이션된 행위자: 에이전트와 상호작용하는 LLM 기반 페르소나. 이들은 "친절하고 예의 바른" 수준을 넘어, 좌절하거나 이해할 수 없거나 일관성 없는 인간을 시뮬레이션하여 에이전트의 견고성을 테스트해야 합니다.
  • 테스트 시나리오: 실패 모드와 개발자가 예상하지 못한 엣지 케이스를 드러내도록 설계된 포괄적인 스크립트.

에이전트 평가 및 개선

시뮬레이션 내 평가에는 LLM 심사자와 객관적 검증을 결합해 수행합니다. 파이썬 스크립트를 통한 객관적 검증이 가장 효과적인 경우가 많으며, 시뮬레이션은 특정 상태 변화(예: 데이터베이스의 잔액 감소)가 실제로 발생했는지 확인하는 데 필요한 진실 데이터를 제공합니다.

테스트를 넘어, 시뮬레이션 환경은 다음을 통해 에이전트를 반복적으로 개선하는 데 활용될 수 있습니다:

  1. 프롬프트 엔지니어링: 시뮬레이션에서 발견된 실패 모드에 기반해 프롬프트를 다듬기.
  2. 데이터 생성: 새로운 견고한 행동을 모델에 직접 삽입하기 위해 감독 학습(SFT) 또는 강화 학습(RL)용 고품질 데이터를 만들기.

요약: Veris AI의 Andi Partovi는 전통적인 소프트웨어 테스트와 골든 데이터셋이 자율 AI 에이전트에 충분하지 않으며, 프로덕션에 투입하기 전에 실패 모드를 포착하기 위해 고충실도 시뮬레이션 환경이 필요하다고 주장합니다.

제목: Andi Partovi: 모든 AI 에이전트가 시뮬레이션 샌드박스를 필요로 하는 이유

Sources