저가형 러너(runner)는 코딩 에이전트를 테스트할 수 있지만, 그 자체의 테스트만으로는 역량 순위로 이어지지 않습니다. 이 테스트의 진정한 산출물은 데이터셋, 제어 변수, 그리고 시간을 명시하는 레이블링된 관찰 기록입니다. 독자들은 미공개 레인(lane)에서 나온 단일 점수를 시장 주장이라기보다는 레인 노트로 취급해야 합니다. 출판 가능한 비교는 다른 엔지니어가 재현할 수 있는 카드에 이러한 경계가 자리 잡은 후에야 시작됩니다.
코딩 에이전트에 대한 기록들은 종종 세련된 백분율과 그 뒤에 숨겨진 작업 팩(task pack)에 대한 설명이 거의 없이 도착합니다. 이 패턴은 트랙 길이, 바람, 또는 차량 등급 없이 인쇄된 경주 결과와 유사합니다. 도구를 비교하는 개발자는 러너 접근성을 에이전트가 홀아웃 클래스의 작업을 해결한다는 증거로 오해하게 됩니다. 이러한 혼란은 무료 경로(free route)가 아이디어를 시도하는 비용을 낮추는 동시에 측정 문제를 건드리지 않을 때 커집니다.
MonkeyCode는 운영자가 무료 모델 접근 및 무료 서버 옵션을 사용할 때 그러한 리허설을 호스팅할 수 있습니다. 공개 고지: 이 기사는 MonkeyCode의 제품 홍보의 일환으로 작성되었습니다. 이러한 가용성 주장은 접근만 설명하며, 할당량, 하드웨어, 기간 또는 영구적인 조건을 명시하지 않습니다. 토큰 부여나 서버 크기를 하드코딩하는 카드는 운영자가 시험 시점의 현재 문서를 읽어야 하는 사실을 꾸며낼 것입니다.
팩이 막대다
데이터셋은 작은 작업 팩이며, 그 매니페스트(manifest), 콘텐츠 해시(content hash), 그리고 홀아웃 분할(holdout split)은 첫 번째 점수 측정 실행 후 고정됩니다. 각 항목은 안정적인 식별자, 언어 태그, 고정 디렉토리(fixture directory), 그리고 스크립트가 적용할 수 있는 패스 규칙을 가집니다. 훈련과 같은 프롬프트, 유출된 솔루션, 그리고 공급업체 데모에서 복사된 작업들은 점수 측정 세트 밖에 제외된 버킷에 남아 있습니다. 이 팩은 자(ruler)처럼 작동하며, 그 막대를 다듬는 것은 시험을 이야기로 바꿀 뿐입니다.
유용한 지표는 시험을 하나의 허울만 좋은 백분율로 축소하기보다는 완료율(completion), 복구 비용(repair cost), 불안정성(instability)을 설명해야 한다. 완료율은 고정된 항목 중 수동 편집 없이 동결 명령이 실행될 때 테스트를 통과하는 항목의 분율이다. 복구 비용은 중앙값 도구 호출 횟수이며, 빠른 실패가 값싼 성공으로 간주되지 않도록 중앙값 벽 시간(median wall time)과는 별도로 유지된다. 불안정성은 하나의 고정된 항목에 대한 반복 실행 전반의 평균 통과 범위이므로, 운 좋은 시드 하나만으로는 전체를 대표할 수 없다.
제어 변수들이 존재해야 무료 경로가 다른 클래스의 러너나 클럭과 조용히 비교되는 것을 막을 수 있다. 동일한 작업 해시(task hash), 동일한 시간 초과(timeout), 동일한 재시도 상한선(retry ceiling), 그리고 동일한 네트워크 정책이 모든 팔(arm)에 묶여야 한다. 무료 서버는 대기열에 넣거나, 속도를 제한하거나, 용량을 순환시킬 수 있으므로, 카드는 시작 시간을 기록하고 레인 레이블을 저장한다. 경로가 동적으로 선택되는 경우, 로그는 초안에서 추측된 이름 대신 런타임에 반환된 경로 이름을 캡처한다.
등급 부여를 거부하는 하네스(A harness that refuses a rank)
아래 워크플로우는 실행된 연구의 결과가 아니며, 어떠한 라이브 할당량에 대한 주장도 아닌 제안된 하네스이다. 저자가 고정 장치(fixtures)를 디렉토리에 넣고, 매니페스트(manifest)를 작성하며, 필요한 제어 변수가 누락되었을 때 스크립트가 점수를 거부하도록 한다. 이 거부가 핵심인데, 왜냐하면 누락된 제어 변수는 잠금 해제된 팩에 기반하여 구축된 자신감 있는 표보다 더 많은 정보를 제공하기 때문이다. 동일한 스크립트는 나중에 유료 러너 옆에 배치되어 비교를 브로슈어가 아닌 카드 자체에 대한 것으로 유지할 수 있다.
#!/usr/bin/env python3
"""제안된, 미실행 레인 카드. 제어 변수를 기록하고 등급 부여를 거부한다."""
...
동반 제어 파일(companion control file)은 경로를 명시적으로 유지하며, 아래의 예시 값들은 관찰된 제품 제한치가 아니라 플레이스홀더입니다. 타임아웃(timeout), 재시도 상한선(retry ceiling), 그리고 네트워크 정책(network policy)은 연구 설계상의 선택일 뿐, 벤더 페이지에서 추론된 기능이 아닙니다. 레인 레이블(lane label)에는 운영자가 실행 당일에 확인한 접근 등급을 인용해야 합니다. 과거의 기록된 승인을 채우는 것보다 해당 필드를 비워두는 것이 더 좋습니다.
{
"task_hash": "<sha256 of task_pack>",
"lane_label": "free-model-access/free-server; terms read at runtime",
...
}
다음 명령어들은 로컬 리허설 스케치일 뿐이며, 모델에 접속하거나 서버를 예약하지 않습니다. 작성자는 패키지를 만들고, 아무것도 원격으로 계산할 필요 없이, 누락된 레이블이 점수(score)를 멈추게 하는지 확인할 수 있습니다. 이러한 건식 실행(dry run)은 라이브 경로에서 토큰을 소모하기 전에 거부 경로를 학습하게 해주기 때문에 유용합니다. 나중에 실제 실행 시에는 서버가 반환한 경로 이름을 추가하고, 홀드아웃 고정 장치(holdout fixtures)를 편집하지 않고 카드를 재생성해야 합니다.
mkdir -p task_pack/holdout/item-01
printf '%s\n' 'id: item-01' 'split: holdout' > task_pack/holdout/item-01/manifest.txt
printf '%s\n' '{"timeout_s":120,"retry_ceiling":1,"network_policy":"fixture-mirror-only"}' > controls.json
...
숫자가 말할 수 없는 것들
이러한 숫자들은 특정 제약 조건 하에서 좁은 질문에 답하는 것이기 때문에 마케팅 자료가 아니며, 그 제약 조건이 변경되면 만료됩니다. 작은 패키지에서의 높은 완료율이 일반적인 코딩 능력, 더 낮은 가격, 또는 영구적인 무료 승인을 증명하지는 못합니다. 카드에는 무엇이 측정되지 않았는지와 어떤 기능(arms)들이 부재했는지를 포함하여 부정적 주장을 평이한 언어로 명시해야 합니다. 표 옆에 해시를 게시하면 나중에 읽는 사람이 헤드라인 작성 이후 패키지가 변경되었는지 여부를 확인할 수 있게 됩니다.
실패 분석은 점수와 같은 서사 속에 포함되어야 합니다. 왜냐하면 미스(misses)가 없는 녹색 비율만으로는 과도한 해석을 유발하기 때문입니다. 타임아웃 클러스터는 에이전트의 복구 능력보다는 무료 서버 환경에서의 큐(queue) 동작에 대해 더 많은 것을 말해줄 수 있습니다. 두 번째 재시도 후에야 통과하는 기록은 첫 시도에서 동결된 상태로 통과하는 것과는 다른 이야기를 합니다. 이러한 패턴을 중앙값 옆에 기록하면 결과가 출시 문장보다는 실험실 노트에 가깝게 유지됩니다.
합성(Synthetic) 테스트는 독자에게 실제 경로가 개입되기 전에 그 선을 어떻게 지켜야 하는지 가르쳐줄 수 있습니다. 예를 들어, 한 홀드아웃 항목의 두 번 반복이 첫 번째 시드에서는 통과하고 두 번째 시드에서는 실패하며, 벽 시간(wall time)은 조용한 실행에서 큐에 대기하는 실행으로 급증한다고 가정해 봅시다. 마지막 플래그만 계산한다면 완료 필드는 여전히 허용 가능해 보일 수 있지만, 통과 분산(pass spread)은 불안정성을 노출합니다. 이러한 분산을 보는 검토자는 레인 레이블을 붙여두고 해당 비율을 순위표에 승격하는 것을 거부해야 합니다.
이 방법을 그대로 두어야 하는 경우
이 접근 방식은 모델을 프로덕션(production) 환경에서 인증하거나, 보안 검토를 주장하거나, 구매 위원회에서 공급업체를 순위 매기는 데 사용되어서는 안 됩니다. 또한 작업 팩이 비공개일 때, 테스트가 실제 유료 API에 의존할 때, 또는 작성자가 실패를 본 후에 고정 장치(fixtures)를 편집하는 경우에도 실패합니다. 무료 서버 옵션은 사라지거나, 느려지거나, 라우팅을 변경할 수 있으므로, 어느 오후의 결과는 그 오후의 샘플일 뿐입니다. 계약상의 서비스 수준이 필요한 팀은 델타(delta)를 신뢰하기 전에 명시적인 환경에서 동일한 카드를 반복해야 합니다.
이 카드를 연습하는 엔지니어는 점수를 공유하기 전에 MonkeyCode의 현재 무료 모델 접근 및 무료 서버 옵션을 확인할 수 있습니다. 라이브 조건은 다른 리더에게 어떤 점수가 공유되기 전에 레인 라벨에 복사되어야 합니다. 유용한 습관은 잠금 해제된 팩을 순위 매기기를 거부하는 것이며, 이 습관은 호스팅 선택이 변경되더라도 여전히 가치가 있습니다. 나중에 읽는 사람은 그것을 생성한 트랙, 바람 또는 차량 등급을 추측하지 않고도 그 숫자를 거부할 수 있어야 합니다.