본문으로 건너뛰기

Astra Sweetspot의 토큰 수집 오류 수정

여덟 개 실행 로그 감사로 토큰 필드 누락과 OpenBench 호환성 오류를 찾아 수정했다.

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

TL;DR

Astra Sweetspot은 Codex로 실행한 Astra와 Sol 코딩 실험의 사용량 이벤트, 패치, 외부 검사, 재현 실행을 MIT 라이선스로 공개하는 프로젝트입니다. 첫 여덟 개 영수증을 감사하는 과정에서 v0.1.0 collector가 input_tokens와 cached_input_tokens, output_tokens만 보존하고 cache_write_input_tokens와 reasoning_output_tokens를 버린 사실이 드러났으며, v0.1.1은 원본 로그에서 두 필드를 복원해 hash와 함께 공개했습니다. 같은 이벤트를 OpenBench의 legacy Codex adapter에서 재생하자 cache_write_input_tokens라는 새 필드를 인식하지 못해 명시적 0이 null과 estimated 기준으로 바뀌는 별도 호환성 문제가 확인됐고, 오프라인 회귀 테스트가 포함된 수정 PR이 제출됐습니다. 작성자는 이 데이터가 구독 quota나 지불 금액을 계산하지 않으며, 설정별 1회 실행과 두 개의 과거 p-retry 버그만으로는 신뢰할 수 있는 모델 순위를 정할 수 없다고 선을 그었습니다.

실용적 조언

  • collector에서는 명시적 0을 null이나 필드 부재와 구분해 저장하고, metric 계산 전에 원본 emitted event에 해당 필드가 실제로 존재하는지 확인해야 합니다.
  • 새로운 사용량 필드명을 추가할 때는 기존 alias와 canonical path, compatibility adapter를 각각 저장된 이벤트로 재생하는 오프라인 regression으로 검증해야 합니다.

섹션별 상세

01
Astra Sweetspot은 Codex를 사용한 Astra와 Sol 코딩 실험을 작은 단위로 공개하고, 각 실행에 패치·외부 검사·재현 절차를 붙이는 MIT-licensed 프로젝트입니다. 첫 여덟 개 영수증은 모델을 다시 호출하지 않고 원본 로그를 감사하는 방식으로 점검됐습니다. 이 구조는 결과 자체보다 실행 기록과 사용량 산출 과정을 함께 검증하려는 사례라는 점에 의미가 있습니다.
json
{"type":"turn.completed","usage":{"input_tokens":124035,"cached_input_tokens":106368,"cache_write_input_tokens":0,"output_tokens":4774,"reasoning_output_tokens":2278}}

Sol medium 실행에서 수집된 turn.completed 사용량 이벤트로, 입력·캐시·출력·추론 토큰 카운터를 함께 기록합니다.

02
원본 turn.completed 이벤트에는 input_tokens 124035, cached_input_tokens 106368, cache_write_input_tokens 0, output_tokens 4774, reasoning_output_tokens 2278이 들어 있었습니다. 하지만 v0.1.0 collector는 input_tokens와 cached_input_tokens, output_tokens만 저장하고 cache_write_input_tokens와 reasoning_output_tokens를 버렸으며, v0.1.1은 여덟 개 원본 로그에서 누락된 필드를 복원해 usage-only 이벤트와 hash를 공개했습니다. 모델을 재실행하지 않았기 때문에 원래 timing, patches, grades는 바뀌지 않았습니다.
03
OpenBench의 legacy Codex adapter에 같은 이벤트를 재생하자 별도의 필드명 호환성 문제가 드러났습니다. adapter는 이전 cache-write alias는 처리했지만 cache_write_input_tokens는 인식하지 못해 원래의 명시적 0을 null로 바꾸고 usage basis를 estimated로 기록했습니다. 작성자는 이 문제에 대한 오프라인 regression을 포함한 수정 PR을 제출했으며, 이는 OpenBench의 canonical Harbor path가 아니라 compatibility adapter에 한정된 문제라고 밝혔습니다.
sh
npx [email protected] report --json

로그인이나 추가 모델 호출 없이 수정된 여덟 개 영수증을 JSON 보고서로 재생성합니다.

04
글의 실무적 교훈은 collector가 명시적인 0과 필드 부재를 별도로 보존해야 하며, metric을 사용할 수 없다고 판단하기 전에 실제로 방출된 이벤트를 확인해야 한다는 것입니다. reasoning output은 output에 이미 포함되고 cached input은 input에 포함되므로, 이 카운터들을 단순 합산해 별도의 비용이나 구독 quota로 해석하면 안 됩니다. 기록된 수치는 토큰 사용량의 구조를 보존하지만 subscription quota나 지불 금액의 귀속을 제공하지 않습니다.
05
파일럿은 두 개의 과거 p-retry 버그를 대상으로 설정별 한 번씩만 시도했으므로 모델 순위를 신뢰성 있게 확정하지 못합니다. 대신 `npx [email protected] report --json` 명령으로 로그인이나 모델 호출 없이 수정된 여덟 개 영수증을 확인할 수 있습니다. 따라서 이 프로젝트의 주된 결과는 모델 비교 순위가 아니라 실행 증거와 수집기·adapter의 오류를 재현하고 교정하는 절차입니다.

용어 해설

텔레메트리(Telemetry)
실행 중 발생한 사용량과 상태 이벤트를 수집·기록하는 계측 정보입니다. 이 글에서는 collector가 turn.completed 이벤트의 토큰 카운터를 보존해 재현 가능한 영수증과 보고서를 만드는 데 사용됩니다.
캐시된 입력 토큰(Cached Input Tokens)
이전 계산 결과를 재사용해 새로 처리하지 않은 입력 토큰 수입니다. 원문에서는 전체 input_tokens에 포함되며 별도 카운터로 기록되어 입력 처리량을 세부적으로 확인하는 데 쓰입니다.
캐시 기록 입력 토큰(Cache Write Input Tokens)
입력 내용을 캐시에 새로 기록하는 데 사용된 토큰 수를 나타내는 이벤트 필드입니다. 원문의 collector는 이 필드를 누락했고, 호환성 adapter는 해당 이름을 인식하지 못해 0을 null로 바꿨습니다.
오프라인 회귀 테스트(Offline Regression)
실제 모델을 다시 호출하지 않고 저장된 이벤트나 고정 입력을 재생해 수정으로 인한 동작 변화를 검증하는 방법입니다. 글에서는 OpenBench adapter의 필드 호환성 수정에 이 검증을 적용했습니다.

언급된 도구

Codex중립

Astra와 Sol 코딩 실험을 실행하고 collector와 adapter의 사용량 기록을 검증하는 실행 환경

OpenBench중립링크

저장된 사용량 이벤트를 legacy Codex adapter로 재생해 필드 호환성을 검사하는 도구

Astra Sweetspot추천링크

코딩 실험의 패치, 외부 검사, 실행 영수증과 재현 명령을 공개하는 프로젝트

AI 분석 전체 내용 보기

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

출처 · 인용 안내

원문 발행 2026. 09. 05.수집 2026. 09. 05.출처 타입 REDDIT

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