Is it agentic enough? Benchmarking open models on your own tooling
Quick Summary
이 글은 transformers를 사례로, 오픈 모델 기반 코딩 에이전트가 도구를 얼마나 쉽게 발견하고 사용하며 정답에 도달하는지 과정을 중심으로 측정하는 벤치마크 방법을 제시한다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 요약
이 글은 transformers를 사례로, 오픈 모델 기반 코딩 에이전트가 도구를 얼마나 쉽게 발견하고 사용하며 정답에 도달하는지 과정을 중심으로 측정하는 벤치마크 방법을 제시한다.
📌 핵심 요약
- 저자들은 코딩 에이전트가 라이브러리를 직접 선택하고 호출하며 오류를 디버깅하는 환경에서는 소프트웨어가 정확하고 빠른 것뿐 아니라 에이전트가 효과적으로 다룰 수 있게 설계되어야 한다고 말한다.
- 기존 벤치마크가 최종 답만 보는 데 비해, 이 글의 하네스는 에이전트가 답을 찾는 과정에서 들인 시간, 토큰, 호출 횟수, 오류, 사용한 API 경로까지 함께 측정한다.
- transformers를 사례로 bare 설치, 전체 소스 clone, 문서와 예제가 포함된 Skill이라는 세 가지 tier를 두고, 모델·리비전·태스크 조합을 Hugging Face Jobs에서 동일 하드웨어 조건으로 병렬 실행한다.
- 대형 오픈 모델에서는 정답률이 거의 포화되므로 리비전별로 작업 시간과 토큰 사용량을 보는 것이 중요하며, CLI와 Skill이 들어간 커밋은 시간을 줄였지만 clone 환경에서는 새 코드와 예제를 읽느라 입력 토큰이 증가했다.
- 소형·로컬 모델에서는 모델별 성공률과 도구 호출 안정성이 더 중요한 지표가 되며, 이 하네스는 라이브러리 유지보수자가 에이전트 친화적 도구 표면을 개선하고 모델별 실제 사용성을 비교하는 데 쓰일 수 있다.
🧩 주요 포인트
- 저자들은 코딩 에이전트가 라이브러리를 직접 선택하고 호출하며 오류를 디버깅하는 환경에서는 소프트웨어가 정확하고 빠른 것뿐 아니라 에이전트가 효과적으로 다룰 수 있게 설계되어야 한다고 말한다.
- 기존 벤치마크가 최종 답만 보는 데 비해, 이 글의 하네스는 에이전트가 답을 찾는 과정에서 들인 시간, 토큰, 호출 횟수, 오류, 사용한 API 경로까지 함께 측정한다.
- transformers를 사례로 bare 설치, 전체 소스 clone, 문서와 예제가 포함된 Skill이라는 세 가지 tier를 두고, 모델·리비전·태스크 조합을 Hugging Face Jobs에서 동일 하드웨어 조건으로 병렬 실행한다.
- 대형 오픈 모델에서는 정답률이 거의 포화되므로 리비전별로 작업 시간과 토큰 사용량을 보는 것이 중요하며, CLI와 Skill이 들어간 커밋은 시간을 줄였지만 clone 환경에서는 새 코드와 예제를 읽느라 입력 토큰이 증가했다.
- 소형·로컬 모델에서는 모델별 성공률과 도구 호출 안정성이 더 중요한 지표가 되며, 이 하네스는 라이브러리 유지보수자가 에이전트 친화적 도구 표면을 개선하고 모델별 실제 사용성을 비교하는 데 쓰일 수 있다.
🧠 상세 정리
1. 에이전트가 소프트웨어를 사용하는 방식의 변화
글은 코딩 에이전트가 이제 개발자 대신 소프트웨어를 직접 다루는 상황에서 출발한다. 사용자가 작업을 설명하면 에이전트는 라이브러리를 고르고, 호출 코드를 작성하고, 실행한 뒤 자신의 실수를 디버깅한다. 라이브러리 사용이 불편하면 에이전트는 해당 라이브러리를 우회하거나 로직을 직접 다시 작성하기도 한다. 따라서 라이브러리 개발에서는 코드가 정확하고 빠른지만이 아니라, 에이전트가 발견하고 조작하기 쉬운지도 중요한 설계 기준이 된다. 사람 개발자에게 불편했던 투박한 API나 낡은 문서는 이제 에이전트에게 더 길고 비싼 경로를 유도하는 문제가 된다.
2. 최종 답이 아니라 답을 찾은 과정을 측정하려는 목표
저자들은 대부분의 벤치마크가 최종 답의 정오만 확인한다고 지적한다. 그러나 에이전트 도구 사용성을 보려면 정답을 맞혔는지뿐 아니라 그 답에 도달하기까지 얼마나 많은 작업이 필요했는지도 봐야 한다. 같은 태스크라도 모델, 라이브러리 리비전, 작업 종류에 따라 걸리는 시간과 토큰, 오류 발생 방식이 달라질 수 있기 때문이다. 이 글은 transformers를 사례로 삼아 에이전트가 어떤 명령을 실행했고 어떤 경로로 성공했는지 추적하는 도구 특화 벤치마크를 소개한다. 구현은 오픈 모델과 pi 코딩 에이전트를 사용하며, 전체 조합은 Hugging Face Jobs에서 동일한 하드웨어 조건으로 실행된다.
3. 에이전트 친화적 도구를 위한 테스트와 문서화
저자들은 소프트웨어 원칙으로 ‘테스트되지 않았다면 작동하지 않는다’와 ‘문서화되지 않았다면 존재하지 않는다’를 강조한다. 에이전트 최적화 도구에서는 이 두 원칙이 더 직접적으로 연결된다. 에이전트가 도구를 사용하려면 먼저 그 도구를 발견할 수 있어야 하고, API가 명확하며 문서가 충분해야 한다. 문서와 예제는 에이전트가 빠르게 필요한 파일과 사용법에 접근할 수 있는 구조여야 한다. 또한 도구가 에이전트에게 실제로 잘 작동하는지 보려면 사람 사용성만이 아니라 에이전트 사용 시나리오 자체를 테스트해야 한다.
4. transformers 사례와 CLI·Skill·예제라는 가설
글에서 사용한 예시는 에이전트가 transformers에 기여하는 것이 아니라 transformers를 이용해 텍스트 분류, 이미지 캡션, 오디오 전사 같은 머신러닝 작업을 해결하는 상황이다. 하네스 자체는 명령줄에서 조작할 수 있는 도구라면 다른 도구에도 적용할 수 있도록 설계되었다. 저자들의 직관은 transformers 사용성이 CLI, Skill, 자기완결적인 작업별 예제를 통해 크게 단순화될 수 있다는 것이었다. 이는 이전에 hf CLI를 에이전트 최적화 방식으로 재설계했을 때 토큰 사용이 줄었던 경험과 연결된다. 다만 transformers처럼 널리 쓰이는 코드베이스에 수천 줄 규모의 변경을 제안하기 전에, 실제로 성공이 무엇인지 측정할 근거가 필요했다.
5. 같은 정답이라도 비용과 경로는 크게 다르다
저자들은 감정 분류 예시를 통해 최종 정답만 보는 평가의 한계를 보여준다. 한 에이전트는 Python 스크립트를 작성해 tokenizer와 모델을 불러오고, 텐서를 만들고, softmax를 계산해 라벨과 확률을 출력한다. 다른 에이전트는 transformers classify 명령 하나로 같은 문장에 대한 같은 결과를 얻는다. 두 방식 모두 POSITIVE라는 정답에 도달하지만, 비용·지연시간·토큰 사용량·실패 가능성은 전혀 다르다. 따라서 단순히 최종 문자열만 확인하는 평가는 CLI 개선, 더 나은 오류 메시지, Skill 추가 같은 변화가 실제로 에이전트에게 도움이 되었는지 보지 못하게 만든다.
6. 세 가지 tier와 실행 방식
평가는 에이전트가 transformers에 접근하는 방식을 세 가지 tier로 나누어 수행된다. 첫째는 transformers만 pip로 설치한 bare 환경이고, 둘째는 전체 transformers 소스를 clone해 작업 디렉터리에 둔 환경이며, 셋째는 CLI 문서와 작업 예제가 포함된 패키지형 Skill을 컨텍스트에 넣은 환경이다. 이 세 tier는 서로 포함 관계가 아니라 각기 다른 종류의 도움을 제공한다. 예를 들어 Skill은 전체 소스 트리를 담지 않고 선별된 문서를 제공하며, clone은 실제 저장소 전체를 보여준다. 현재는 정확히 맞출 수 있는 결정적 태스크에 집중하고, 각 실행은 모델·리비전·태스크 조합별로 독립적인 Hugging Face Job에서 수행되어 공정한 비교가 가능하도록 했다.
7. 측정 지표와 추적 가능한 보고서
하네스는 단일 점수 대신 여러 축으로 실행 결과를 평가한다. match %는 최종 답이 기대 결과를 포함했는지를 태스크별 규칙에 따라 확인하고, median time과 median tokens는 시간과 토큰 사용량을 요약한다. runs with error %는 오류 실행을 집계하며, 아무 출력도 내지 못한 침묵 실패가 단순한 0으로 처리되지 않도록 별도 가드를 둔다. marker adoption은 도구가 정의한 행동 마커를 에이전트가 채택했는지를 본다. 결과는 Overview, Coverage, Results를 담은 보고서로 확인할 수 있고, 각 실행의 네이티브 에이전트 trace도 저장되어 실제로 어떤 명령을 어떤 순서로 수행했는지 읽을 수 있다.
8. 대형 모델과 소형 모델에서 다른 실험 질문
대형 오픈 모델에서는 보통 흔한 태스크의 정답률이 거의 100%에 가까워지므로, 정답 여부만으로는 도구의 품질을 충분히 설명하기 어렵다. 이 경우에는 한 강한 모델을 고정하고 transformers 리비전을 바꿔가며 작업 시간, 토큰, 오류, 사용한 API 경로를 보는 것이 더 의미 있다. 글의 실험에서는 CLI와 Skill이 도입된 커밋에서 작업 시간이 줄었지만, clone 환경에서는 새 CLI 구현과 cli/agentic 예제를 읽는 실행이 늘어나 입력 토큰이 증가했다. 저자들은 이것을 시간 절감과 토큰 증가 사이의 트레이드오프로 해석한다. 반면 소형·로컬 모델에서는 리비전을 고정하고 모델을 바꿔가며 성공률, 도구 호출 안정성, 모델별 능력 차이를 보는 것이 더 중요하다고 설명한다.
🧾 핵심 주장 / 시사점
- 에이전트 시대의 라이브러리 품질은 API 기능 자체보다 ‘에이전트가 올바른 사용 경로를 얼마나 빨리 발견하는가’까지 포함해 평가되어야 한다.
- CLI나 Skill 같은 에이전트용 표면은 작업 시간을 줄일 수 있지만, 저장소 안에 함께 들어간 문서와 예제가 탐색 토큰을 늘릴 수 있으므로 리비전 변경 전후의 비용 구조를 함께 봐야 한다.
- 대형 모델에는 정답률보다 노력 비용이, 소형·로컬 모델에는 성공률과 도구 호출 안정성이 더 중요한 지표가 될 수 있어 모델 규모별로 다른 벤치마크 질문을 세워야 한다.
✅ 액션 아이템
- 벤치마크는 최종 답만 보지 않고 시간·토큰·호출 횟수·오류·API 경로를 함께 기록해 에이전트 성능을 비교한다.
- transformers의 bare·clone·Skill 3단계와 모델·리비전·태스크 조합을 동일 하드웨어에서 병렬 실행해 성능 편차를 정량화한다.
- 대형 오픈모델은 정답률 포화 구간으로 보고 리비전별 작업 시간·토큰을 우선 지표로, 소형·로컬 모델은 성공률·도구 호출 안정성으로 우선순위를 정한다.
❓ 열린 질문
- 정답률이 거의 포화된 구간에서 리비전별 시간과 토큰의 차이가 실제 채택 판단에 유의미한가?
- CLI/Skill이 포함된 커밋에서 clone 환경의 입력 토큰 증가가 왜 발생하며 어떤 도구 경로가 가장 큰 영향을 주는가?
- 소형·로컬 모델의 성공률과 도구 호출 안정성을 평가할 때 어떤 실패 기준을 적용할 것인가?