← 최신 논문
🤖 AI

What Process Evaluation of Coding Agents Actually Measures: Action, Task, and Step Are Three Different Levels

이 논문은 행동(action), 태스크(task), 단계(step) 수준을 구분하는 측정 프레임워크를 도입하여, 현재 코딩 에이전트에 대한 프로세스 평가가 종종 의미론적 관련성과 인과적 기여를 혼동하고 있음을 입증하며, 에이전트의 행동이 단순한 코드 전이가 아니라 실행 출처(execution provenance)와 태스크 수준의 불확실성에 의해 유도된다는 점을 밝힌다.

원저자: Jiawei He, Mengyu Shi, Jie jia, Xikai Yang, Dong Sun

게시일 2026-08-25
📖 4 분 읽기☕ 가벼운 읽기

원저자: Jiawei He, Mengyu Shi, Jie jia, Xikai Yang, Dong Sun

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

소프트웨어 개발의 세계에서 새로운 종류의 노동자인 코딩 에이전트가 등장했습니다. 거대 언어 모델(LLM)을 기반으로 하는 이 프로그램들은 문제 설명을 읽고, 복잡한 코드베이스를 탐색하며, 이를 해결하기 위해 필요한 수정 사항을 작성할 수 있습니다. 수년 동안 업계는 이러한 에이전트가 결과적으로 성공했는지 실패했는지만을 가지고 이들을 판단해 왔습니다. 하지만 이러한 디지털 노동자들이 점점 더 흔해짐에 따라, 개발자들은 최종 결과만으로는 충분하지 않다는 사실을 깨달았습니다. 그들은 에이전트가 그곳에 어떻게 도달했는지 알고 싶어 합니다. 어떤 특정 움직임이 과업에 도움이 되었는지, 어떤 것이 실패를 초래했는지, 그리고 그 과정이 논리적이었는지 아니면 단순히 운 좋은 추측이었는지를 이해하고 싶어 합니다. 이러한 필요성은 에이전트의 목적지가 아니라 단계별 여정을 평가하려는 시도인 '프로세스 평가(process evaluation)'라는 연구 분야를 촉발했습니다.

이 분야의 핵심 과제는 사람들이 세 가지 매우 다른 질문을 마치 동일한 것으로 취급해 왔다는 점입니다. 한 질문은 에이전트의 현재 상황을 바탕으로 다음에 무엇을 할 가능성이 높은지 묻습니다. 또 다른 질문은 에이전트가 작업하는 동안 전체 과업이 얼마나 불확실한 상태로 남아 있는지를 묻습니다. 세 번째이자 가장 어려운 질문은 단 하나의 특정 행동이 실제로 최종 결과의 변화를 일으켰는지 여부를 묻는 것입니다. 오랫동안 연구자들과 도구들은 이러한 개념들을 혼합하여 사용해 왔으며, 다음 동작을 예측하도록 설계된 도구가 왜 특정 단계가 결정적이었는지를 설명할 수도 있다고 가정했습니다. 알리바바와 난징 대학교의 연구진은 이 실타래를 풀기로 했습니다. 그들은 에이겠습니다가 작업하는 과정을 지켜보고, 중단시킨 뒤, 정확히 같은 지점에서 다시 시작하여 어떤 일이 일어나는지 확인하는 방법을 사용하여, 이 세 가지 수준을 각각 별도로 측정하는 엄격한 프레임워크를 구축했습니다.

이를 위해 연구진은 '파일 로컬라이제이션(file localization)'이라 불리는 특정 유형의 과업에 집중했습니다. 에이전트에게 버그 리포트와 소프트웨어 프로젝트의 스냅샷이 주어졌다고 상상해 보십시오. 에이전트의 임무는 버그를 수정하기 위해 변경이 필요한 정확한 파일들을 찾아내는 것입니다. 이 설정은 목표가 명확하고 검증 가능하기 때문에 연구에 완벽합니다. 연구진은 에이전트가 실제 세계의 소프트웨어 저장소에서 작업하는 499개의 에피소드를 기록했습니다. 그런 다음 이 기록된 세션들을 다양한 지점으로 되감았습니다. 그 지점들로부터 에이전트를 다시 실행시켰는데, 때로는 에이전트가 스스로 다음 동작을 선택하게 했고, 다른 때에는 최종 결과가 변하는지 확인하기 위해 강제로 다른 경로를 따르도록 했습니다. 이를 통해 개별 단계의 효과를 전체 여정의 노이즈로부터 분리할 수 있었습니다.

그들의 조사 결과, 에이전트가 코드를 통과하는 방식은 대부분의 사람들이 예상하는 것과 달랐습니다. 에이전트가 다음에 무엇을 할지 예측하려고 할 때, 가장 강력한 신호는 파일들이 의존성 그래프에서 어떻게 연결되어 있는지와 같은 코드 자체의 구조가 아니었습니다. 대신, 에이전트는 거의 전적으로 자신의 최근 이력에 의해 움직였습니다. 에이전트는 이전 도구들의 출력물에서 방금 본 경로를 살펴보고, 이 즉각적인 문맥을 사용하여 다음에 어디로 갈지를 결정합니다. 코드 구조는 다음 단계를 결정하는 데 있어 에이전트가 방금 남긴 빵 부스러기(trail of breadcrumbs)보다 덜 중요했습니다. 이 발견은 에이전트가 저장소의 미리 계획된 지도를 따르는 것이 아니라, 자신이 방금 관찰한 것에 반응하고 있음을 시사합니다.

또한 이 연구는 이러한 과업에서 불확실성이 실제로 어디에 존재하는지를 밝혀냈습니다. 많은 이들은 실패의 위험이 잘못된 파일 선택과 같은 단 하나의 나쁜 단계에서 온다고 가정합니다. 그러나 연구진은 불확실성이 개별 단계의 속성이 아니라 전체 과업의 속성임을 발견했습니다. 어떤 과업은 처음부터 본질적으로 어렵거나 모호한 반면, 어떤 과업은 명확합니다. 에이전트의 성공과 실패의 변동성은 에이전트가 수행하는 특정 경로의 순서가 아니라, 그 에이전트가 해결하고 있는 특정 문제의 성격에 의해 결정됩니다. 이는 단 하나의 '치명적 오류' 단계를 짚어내려는 시도가 종종 헛된 일이 될 수 있음을 의미하는데, 결과는 아마도 과업 자체의 난이도에 의해 이미 결정되었을 것이기 때문입니다.

아마도 가장 놀라운 발견은 우리가 현재 이러한 에이전트들을 어떻게 평가하는지에 관한 것입니다. 많은 시스템은 흔히 또 다른 거대 언어 모델인 '판사(judge)'를 사용하여 에이전트 작업의 전체 이력을 검토하고 어떤 단계가 실패의 원인이었는지 결정합니다. 연구진은 에이전트 이력의 일부를 숨기거나 드러냄으로써 이 판사들을 테스트했습니다. 그들은 판사가 여정의 후반부 단계를 볼 수 있을 때, 실패의 책임을 프로세스의 끝부분으로 체계적으로 전가한다는 것을 발견했습니다. 이는 후반부의 단계들이 실제 문제의 원인과 아무런 관련이 없을 때도 발생했습니다. 판사는 진정한 원인을 식별하는 것이 아니라, 단지 사후적으로 관련 있어 보이는 가장 최근의 증거를 붙잡고 있었던 것입니다. 이는 현재의 평가 방법들에 체계적인 편향이 있음을 드러냈으며, 에이전트를 채점하는 데 사용되는 도구들이 인과적 기여를 인증하는 것이 아니라 의미론적 관련성, 즉 사후에 보기에 중요해 보이는 것을 측정하고 있다는 것을 보여주었습니다.

연구진은 프로세스 평가가 단일한 문제가 아니라 별개의 도전 과제들의 집합이라고 결론지었습니다. 다음 동작을 예측하는 것은 최근 문맥에 의해 주도되는 해결 가능한 문제입니다. 과업의 난이도를 이해하는 것은 문제 자체를 분석하는 문제입니다. 하지만 단일 단계의 인과적 영향을 결정하는 것은 매우 어렵고 현재의 도구로는 측정이 불가능한 경우가 많습니다. 이 연구는 우리가 이러한 서로 다른 수준들을 동일하게 취급하는 것을 멈춰야 한다고 제언합니다. 만약 우리가 코딩 에이전트를 개선하고 싶다면, 다음 동작을 예측하는 신호가 단계의 성공이나 실패를 입증하는 신호와 같지 않음을 인식하고, 적절한 질문에 적절한 도구를 사용해야 합니다. 이러한 수준들을 분리함으로써, 우리는 우리의 평가 도구가 실제로 우리에게 무엇을 말해주고 있는지, 그리고 무엇을 단순히 추측하고 있는지를 마침내 이해할 수 있습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →