여러 단계를 거쳐 작업을 수행하는 장기 실행형 AI 에이전트를 개선할 때, 최근에는 대규모 언어 모델(LLM)이 스스로 실패를 진단하고 정책을 다듬는 반성(reflection) 기반 방식이 널리 쓰인다. 하지만 실제 실행 과정에서 쌓인 로그, 즉 실행 트레이스(trace)를 그대로 최적화에 투입하기는 어렵다. 대량으로 모인 트레이스는 중복이 많고 성격이 제각각이라 최적화 효율이 떨어지고, 별로 중요하지 않은 실패에 과도하게 맞춰지는 과적합 문제가 생기기 때문이다. 개별 트레이스 안에도 결과와 무관한 단계가 잔뜩 섞여 있는데, 그렇다고 앞뒤를 잘라내거나 일정 구간만 훑는 단순한 방식으로 문맥을 줄이면 정작 인과적으로 중요한 근거까지 날아가 잘못된 개선 신호를 줄 수 있다.
연구진이 arXiv에 공개한 STRACE(Structural TRajectory Analysis and Causal Extraction)는 이 딜레마를 겨냥한 프레임워크다. 핵심은 노이즈를 걷어내고 신호 대 잡음비가 높은 최적화 문맥을 구성해, 에이전트를 더 정확하고 효과적으로 개선하도록 돕는 것이다. STRACE는 두 층위에서 작동한다. 먼저 배치(batch) 수준에서는 여러 트레이스에 공통으로 나타나는 실패 패턴을 찾아내 중복된 트레이스를 걸러내고 대표성 있는 실패만 남긴다.
다음으로 선별된 각 트레이스 내부에서는 텍스트 의존성 그래프 위에서 인과 위치 추적을 수행한다. 이를 통해 결과와 인과적으로 무관한 단계를 제거하고, 최적화가 필요한 진짜 근본 원인 모듈을 짚어낸다. 이렇게 정제된 문맥만을 개선의 재료로 삼기 때문에, 방대한 로그에서 흔히 발생하던 낭비와 잘못된 신호를 줄일 수 있다는 설명이다.
연구진은 실험에서 STRACE가 일반적인 문맥 필터링 기법들을 뚜렷하게 앞섰다고 밝혔다. 특히 형식 검증(formal verification)이라는 까다로운 과제를 다루는 벤치마크 VeruSAGE-Bench에서, 사람 전문가가 설계한 에이전트를 대상으로도 성공률을 42.5%에서 58.5%로 끌어올려 1.4배의 개선을 냈다고 전했다. 사람이 정성껏 만든 에이전트에서도 추가 개선 여지를 찾아냈다는 점에서 의미가 있다.
이번 결과는 에이전트의 실행 로그를 무작정 많이 모으기보다, 어떤 실패가 정말로 중요한지를 가려내고 그 안에서 원인의 뿌리를 짚는 접근이 최적화 효율을 좌우한다는 점을 보여준다. 해당 논문은 동료 심사를 거치기 전 단계로 arXiv에 사전 공개됐으며, 코드도 함께 배포됐다. 자세한 내용은 원문 초록 보기에서 확인할 수 있다.














