외부 툴을 호출할 수 있는 AI 에이전트를 구축하는 것은 하나의 과제입니다.
하지만 실제 세계의 작업을 신뢰성 있게 완료할 수 있는 에이전트를 구축하는 것은 또 다른 문제입니다.
테스트가 통과했다고 해서 함수가 실행되었거나 실패가 올바르게 재현되었다는 것을 의미할 수는 있습니다. 하지만 그것이 사용자가 의도한 작업이 반드시 완료되었다는 것을 의미하지는 않습니다.
AI 에이전트 워크플로우가 어떤 지점에서 실패할 수 있는지 살펴보겠습니다.
1. 실행 파이프라인 이해하기
일반적인 툴(tool)을 사용하는 에이전트는 다음과 같은 순서를 따를 수 있습니다:
사용자 의도 (User Intent) → 플래너 (Planner) → 툴/API (Tool/API) → 검증기 (Verifier) → 관찰된 결과 (Observed Outcome)
각 단계는 잠재적인 실패 지점을 도입합니다.
매개변수 누락 (Missing Parameters)
에이전트는 필요한 모든 인수를 제공하지 않은 채 작업을 시도할 수 있습니다.
예를 들어, 캘린더 툴은 시작 시간과 종료 시간을 모두 예상할 수 있습니다. 이 값 중 하나가 누락되면 예외(exception)가 발생하거나 작업이 완료되지 않을 수 있습니다.
API 타임아웃 (API Timeouts)
외부 서비스가 요청을 처리했음에도 불구하고 API 호출이 타임아웃될 수 있습니다.
에이전트는 실패한 요청과 불확실한 실행 상태를 구별해야 합니다.
무응답 실패 (Silent Failures)
툴은 의도된 실제 세계의 변경이 발생하지 않았음에도 불구하고 성공적으로 보이는 응답을 반환할 수 있습니다. 단순히 응답 상태만으로는 작업 완료에 충분한 증거가 아닐 수 있습니다.
중복 동작 (Duplicate Actions)
이전 실행 결과를 확인하지 않고 작업을 재시도하면 의도치 않은 반복적인 동작을 초래할 수 있습니다. 이는 이메일 전송, 이벤트 생성 또는 외부 데이터 수정과 같은 툴에 특히 중요합니다.
2. 왜 'PASS/FAIL'이 오해를 불러일으킬 수 있는가
알려진 실패를 재현하도록 작성된 진단 테스트(diagnostic test)를 고려해 봅시다.
예상되는 예외가 발생하면, 해당 진단 테스트는 통과로 표시될 수 있습니다. 하지만 근본적인 애플리케이션 동작은 여전히 결함이 있는 상태일 수 있습니다.
성공에 대한 두 가지 다른 정의를 만듭니다:
진단적 성공(Diagnostic success): 테스트가 예상되는 동작을 성공적으로 재현하거나 감지했습니다.
사용자 작업 성공(User-task success): 에이전트가 실제로 사용자의 요청을 올바르게 완료했습니다.
이러한 결과는 별도로 보고되어야 합니다.
3. HEELO 테스트를 통해 탐구한 내용
HEELO에서는 로컬 진단 테스트를 통해 도구 실행의 신뢰성을 조사해 왔습니다.
저희의 테스트에는 달력 매개변수 누락 및 의도치 않은 반복 이메일 동작과 관련된 시나리오가 포함되었습니다.
이러한 진단 사례들은 왜 실행 증거(execution evidence)가 중요한지 보여줍니다.
유용한 테스트 보고서는 다음을 포착해야 합니다:
- 원래의 테스트 시나리오
- 도구 호출 및 입력 매개변수
- 관련 실행 추적(Relevant execution traces)
- 관찰된 실패
- 사용자의 의도한 결과가 달성되었는지 여부
- 결과를 뒷받침하는 증거
목표는 성공적인 결함 탐지(defect detection)와 성공적인 제품 실행을 구분하는 것입니다.
4. 결과 기반 평가로 나아가기
신뢰할 수 있는 에이전트 평가는 단순히 API가 성공적으로 반환되었는지 여부만을 물어서는 안 됩니다.
다음 사항들도 고려해야 합니다:
결과 검증(Outcome verification): 결과 상태를 확인할 수 있습니까?
실행 정확성(Execution correctness): 적절한 도구와 매개변수가 사용되었습니까?
복구 동작(Recovery behavior): 시스템이 타임아웃 및 부분적 실패로부터 안전하게 복구할 수 있습니까?
추적 가능성(Traceability): 개발자가 실제로 무슨 일이 일어났는지 재구성할 수 있습니까?
상태 변경 작업의 경우, Idempotency와 확인 메커니즘은 의도치 않은 중복 동작을 줄일 수 있습니다.
5. 말하기에서 행동으로
HEELO에서는 AI 에이전트를 위한 실행 계층(execution layer)을 개발하고 있습니다.
저희의 초점에는 도구 통합, 다단계 워크플로우(multi-step workflows), 그리고 에이전트 실행을 더욱 신뢰할 수 있게 만들기 위해 필요한 테스트가 포함됩니다.
시스템은 아직 개발 중이며, 실패 시나리오를 평가하는 것이 그 작업의 일부입니다.
궁극적으로, 에이전트의 신뢰성은 단순히 어떤 동작이 실행되었는지 여부뿐만 아니라, 올바르고 검증 가능한 결과(verifiable outcome)를 달성했는지에 의해 측정되어야 합니다.
HEELO — 말하기에서 행동으로. 🚀
더 알아보기: https://heelo.dev
토론(Discussion)
툴을 사용하는 AI 에이전트를 구축하는 개발자들을 위해:
신뢰할 수 있는 실행(reliable execution)을 보장하는 데 가장 어려운 부분은 무엇인가요?
- 툴 선택 및 매개변수 검증(parameter validation)?
- 타임아웃(Timeouts)과 재시도(retries)?
- 엔드투엔드 결과 검증(End-to-end outcome verification)?
- 다단계 워크플로우 디버깅(Debugging multi-step workflows)?
다른 사람들이 이러한 문제들을 어떻게 접근하는지 듣고 싶습니다.