본문으로 건너뛰기

Featherbench과 Ed-o-meter

28개 실사용 태스크로 모델 품질·지연·거부를 투명하게 비교한다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Featherbench은 단일 Python 파일로 28개 실사용 태스크를 고정해 한 번에 한 변수만 바꾸는 방식으로 LLM을 비교하는 하니스이며, Ed-o-meter는 그 결과를 공개하는 리더보드다. 평가 기준은 체커로 검증 가능한 바닥과 인간 루브릭이 채점하는 천장으로 나뉘며 모든 모델이 블라인드로 상호 심사해 심판 편향 행렬을 공개한다. 실행은 OpenRouter를 통해 통합 호출하고 각 통과율에 윌슨 신뢰구간을 붙이며, 결과 공개와 MIT 라이선스로 재현성을 우선시한다.

섹션별 상세

Featherbench은 단일 Python 파일 형태의 간결한 평가 하니스며 Ed-o-meter는 그 결과를 공개하는 리더보드다. 작성자는 동일한 입력·체크·루브릭·스코어링을 소스콘트롤로 버전 관리해 비교에서 바뀌는 변수가 오직 모델뿐이게 설계했다. 이로 인해 모델 간 차이가 실제 모델 변화에서 기인했는지 명확히 판별할 수 있다.
하니스 설계의 핵심 제약은 '한 번에 한 변수만 바꾸기'였다. 28개 고정 태스크, 기록된 프롬프트와 정답, 블라인드 채점 절차가 고정되어 있어 런 간 차이는 모델 자체의 동작 차이로 귀결된다. 이 접근은 흔히 프롬프트와 모델을 동시에 바꿔 원인을 오인하는 비공식 비교에서 오는 오류를 제거한다.
태스크 설계는 기계로 판정 가능한 바닥(floor)과 사람 루브릭이 판정하는 천장(ceiling)이라는 이원 구조를 따른다. 바닥은 금지어나 필수 문구 같은 객관적 제약을 체크하는 체커가 맡고, 천장은 톤·속도·절충 같은 질적 요소를 루브릭으로 채점한다. 채점자는 블라인드로 모든 응답을 평가하고 심판 편향 행렬을 공개해 심판 성향이 결과에 끼친 영향을 수치화한다.
근거
  • Featherbench는 모델이 작업을 정책상 거부할 때 이를 실패로 계상한다. 이 판단은 사용자 관점에서 거부된 결과와 실패한 결과가 동일한 실무적 불완전성을 초래한다고 보기 때문이다. 원시 JSONL 데이터는 공개되어 있어 다른 계정 방식으로 재산출이 가능하다. 본문의 FAQ 항목 'How should a benchmark count model refusals?'와 'Featherbench counts benign refusals as failures' 문장을 찾으십시오.
  • 모든 선택된 모델이 블라인드로 각 응답을 채점하며 심판 편향 행렬을 공개해 심판별 평균 점수를 노출한다. 이 방식은 편향을 제거하지 못하면 측정 가능한 형태로 드러내려는 설계적 선택이다. 공개된 행렬로 누가 어느 쪽으로 관대하거나 엄격했는지를 후속 분석에 활용할 수 있다. 본문 중 'every selected model judges every response, blind'와 'harness publishes a judge-bias matrix' 구문을 확인하십시오.
28개 태스크는 실사용, 코딩, 보안, 데이터, 도구 사용의 다섯 범주로 나뉘며 범주별 개수는 적용 가능성에 따라 비대칭적으로 배치되었다. 설계자는 넓은 커버리지를 위해 폭을 선택했고 각 통과 비율에는 윌슨 신뢰구간을 붙여 불확실성을 있는 그대로 시각화한다. 이로 인해 넓은 신뢰구간은 더 많은 반복을 해야 할 필요를 알려주는 신호로 취급된다.
구현은 단순성에 초점을 뒀다; 하니스는 1천 줄 내외의 Python 단일 파일로 구성되고 태스크는 JSON으로 저장되어 변경 검토가 용이하다. 모델 호출은 OpenRouter를 통해 통합해 한 개의 엔드포인트와 동일한 레이턴시 시계로 모든 모델을 측정할 수 있게 했고, 결과물은 MIT 라이선스로 GitHub에 공개되었다. 이 구조는 새 모델 추가를 설정 파일 한 줄의 변경으로 끝내게 설계되었다.
근거
  • 모델 호출은 OpenRouter를 경유해 단일 API 키와 청구 관계로 여러 제공처 모델을 평가하도록 구성되었다. 이 설계는 공급자별 SDK가 재시도나 연결 풀링으로 비교를 오염시키는 위험을 줄이고 새 모델 추가를 설정 파일 변경 한 줄로 끝내기 위해 선택되었다. 또한 OpenRouter의 allow_fallbacks:false 설정으로 업스트림 대체 경로를 고정했다는 기술적 설명이 본문에 포함되어 있다. 본문의 'The models are called through OpenRouter' 단락과 FAQ의 관련 문장을 찾아보십시오.
실험 결과는 품질·지연·거부 행동에서 모델 간 차이를 드러냈다. 예컨대 Kimi-3는 루브릭 최상위 점수를 받았으나 median time-to-first-token이 26.4초로 대화형 환경에는 부적합할 정도로 지연이 컸다. Fable-5는 일부 태스크에서 강한 거부를 보였고, GPT-5.6 계열은 특정 jailbreak canary 테스트에서 GPT-5.5보다 나쁜 결과를 보여 아키텍처 차이가 동작에 영향을 미쳤음을 시사했다.
앞으로의 계획은 단일 패스 커버리지를 기본으로 유지하되 필요할 때 선택적으로 반복을 늘려 결과를 정밀화하고, 점수에 자기 점수를 매기지 않도록 외부 심판 패널을 도입하며, 주요 릴리스마다 재측정을 수행하는 것이다. 작성자는 하니스·28개 프롬프트·원시 결과를 공개했으며 방법에 오류가 있으면 피드백을 받겠다고 밝혔다.

용어 해설

심판 편향 행렬(judge-bias matrix)
각 심판(모델)이 각 응시자(테스트 대상 모델)에 대해 평균적으로 매긴 점수를 표로 나타낸 것이다. 이 행렬은 심판 간 편향을 수치로 노출해 어느 정도 점수 차이가 심판 성향에 기인하는지를 밝히는 용도로 사용된다.
윌슨 신뢰구간(Wilson interval)
이진 성공률의 불확실성을 표현하기 위한 통계적 구간이다. 단일 통과 비율에 대해 표준 오차 대신 윌슨 방정식을 사용해 더 안정적인 신뢰구간을 그린다.
체커와 규준(루브릭)(checker vs rubric)
체커는 객관적 최소요건(금지어, 필수 문구 등)을 기계적으로 검증하고, 루브릭은 톤·페이싱·절충 같은 정성적 요소를 채점하기 위해 설계된 평가 규칙의 집합이다. 두 계층은 각각 바닥(floor)과 천장(ceiling)을 판단한다.
거부를 실패로 계상(refusal as failure)
모델이 정책 등에 따라 작업을 거부했을 때 이를 사용자 관점에서 기능 실패로 처리하는 규칙이다. 작성자는 거부와 잘못된 응답이 실무에서 동일한 불완전성을 초래한다고 보고 거부를 실패로 집계한다.
태스크 분류(실사용·코딩·보안·데이터·도구)(task categories)
28개 태스크를 실사용, 코딩, 보안, 데이터, 도구 사용의 다섯 범주로 나누어 커버리지를 넓히는 전략이다. 범주별 가중치는 균형보다 적용범위를 중시해 실제 요구를 더 잘 포착하려는 목적이다.

기술

  • Python
  • jinja2
  • OpenRouter
  • GitHub

활용 사례

  • 프로덕션에서 비용·지연·품질의 균형을 맞추기 위해 최소 '충분한' 모델 선택
  • 모델 거부 행동과 jailbreak 회귀 탐지
  • 벤치마크에 노출된 모델 최적화(Goodhart 위험) 회피
  • 새 모델이 실제 워크플로우에 미치는 영향을 독립적으로 평가
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 07.수집 2026. 08. 07.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.