정답이 결정적이지 않을 때의 에이전트 행동 검증
·2026.05.07 06:16
핵심 내용
GitHub Copilot Coding Agent의 비결정적 행동을 그래프와 dominator 분석으로 검증하는 방법을 제시했다.
1 / 2
자세히 보기
정답이 하나로 정해지지 않는 agentic 환경에서는 기존 테스트가 쉽게 무너진다. GitHub Copilot Coding Agent 같은 Computer Use 기반 시스템은 UI, 브라우저, IDE와 상호작용하면서 로딩 화면, 타이밍 차이, 경로 분기를 정상 범위로 안고 가지만, GitHub Actions 워크플로는 이를 따라가지 못해 실제 성공을 실패로 판정하는 false negative를 만든다. 이 과정에서 fragile infrastructure와 compliance trap도 반복된다.
기존 방식의 한계도 분명하다.
- assertion-based testing은 실행 경로가 조금만 달라져도 깨진다.
- record-and-replay는 렌더링과 타이밍 노이즈에 취약하다.
- visual regression testing은 화면을 비교할 뿐 의미를 이해하지 못한다.
- ML oracles은 학습 데이터와 설명 가능성 문제가 크다.
핵심은 독립적인 Trust Layer다. 실행을 스크립트가 아니라 그래프로 보고, 실제로 성공한 2~10개의 세션만으로 정상 동작의 ground truth 모델을 구축한다. VS Code 검색처럼 로딩 화면이 있든 없든, 결국 Search Results 상태에 도달하면 성공으로 간주한다.
핵심 절차는 세 단계다.
- PTA(Prefix Tree Acceptor) 로 성공 트레이스를 그래프로 만든다.
- 3단계 등가 판별 프레임워크 로 상태를 병합한다. 먼저 perceptual hash 와 SSIM 으로 근접 상태를 걸러내고, 애매할 때만 멀티모달 LLM 이 의미 차이를 판별한다.
- dominator analysis 로 모든 성공 경로에 반드시 등장하는 essential states(필수 상태) 를 추려내고, 이를 dominator subtree 로 정리해 로딩 스피너 같은 optional variations(선택적 변형) 은 제외한다.
이 방식은 수동 명세나 대규모 학습 없이도 설명 가능하고 가벼우며, 실제 CI 파이프라인에 바로 넣을 수 있는 검증 기준을 만든다. 검증의 기준은 무슨 일이 보였는가가 아니라, 성공하려면 무엇이 반드시 일어나야 했는가로 바뀐다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.