TL;DR
작성자는 평가 파이프라인의 범위와 실제 점수 산출 과정 사이에서 Tool-call 응답이 빈 문자열로 소거되는 경로를 소스 추적으로 확인했습니다. OpenAI adapter는 null content를 빈 문자열로 바꾸고 Anthropic adapter는 text 블록만 남겨 tool_use 블록을 버렸으며, 오류가 아닌 빈 문자열은 성공 샘플로 받아들여질 수 있었습니다. 그러면 서로 다른 도구 호출이 동일한 빈 출력으로 합쳐져 mode share 1.0이 나오고, 도구 호출의 안정성이 아니라 fallback 처리의 일관성을 측정하게 됩니다. 다만 현재 요청 생성기가 tools를 전달하지 않아 실제 사례에는 도달하지 않았고, 563개 기록 샘플에도 빈 결과가 없어 공개 benchmark 영향은 없었습니다. 수정안은 tools를 포함한 사례와 빈 비오류 completion을 지원 대상 및 성공 샘플에서 제외해 미지원 응답, 파싱 실패, 진짜 빈 출력의 경계를 분리했습니다.
실용적 조언
- 평가 입력에 tools가 포함된 사례는 지원 여부를 별도 상태로 기록하고 성공 샘플 집계에서 제외해야 합니다.
- null content를 빈 문자열로 자동 변환하지 말고, 원본 응답의 content 상태와 tool_use 같은 블록 존재 여부를 보존해야 합니다.
- 빈 비오류 completion은 파싱 실패나 미지원 응답과 구별되는 별도 유형으로 기록한 뒤 benchmark 통계에 포함할지 명시적으로 결정해야 합니다.
섹션별 상세
용어 해설
- 도구 호출 응답(Tool-call Response)
- — 모델이 일반 텍스트 대신 도구 실행을 요청하는 응답입니다. 이 글에서는 content가 null이거나 tool_use 블록을 포함할 때 파서가 호출 정보를 보존하는지가 평가 결과를 좌우합니다.
- 응답 파서(Response Parser)
- — 모델 응답의 구조를 평가기가 읽을 수 있는 값으로 변환하는 처리 단계입니다. 필요한 블록을 누락하거나 null을 빈 문자열로 바꾸면 실제 동작과 다른 평가 입력이 만들어집니다.
- 최빈값 비율(Mode Share)
- — 전체 결과 중 가장 자주 나온 출력이 차지하는 비율입니다. 모든 응답이 빈 문자열로 변환되면 서로 다른 도구 호출을 구분하지 못한 채 1.0이라는 안정성 점수가 산출될 수 있습니다.
- 미지원 사례(Unsupported Case)
- — 평가 파이프라인이 의도적으로 처리하지 않는 입력이나 응답 유형입니다. 이를 성공적인 빈 결과와 구분하지 않으면 측정 대상이 사라진 상태에서도 유효한 점수처럼 보일 수 있습니다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.