별도 채점 하네스를 만들지 않고도 산출물을 재검산 가능하게 비교할 수 있도록 고정 100점 rubric, opaque 평가, 직접 evidence와 단순 총점 규칙을 마지막 작업으로 추가한다.
78 lines
7.2 KiB
Markdown
78 lines
7.2 KiB
Markdown
# IOP 초경량 Agent 모델 비교
|
||
|
||
## 목적
|
||
|
||
검증을 마친 9개 caller/model/route 조합에 같은 HTML 구현 요청을 정확히 한 번씩 실행한다. 운영 결과와 산출물 품질을 분리하고, 품질은 실행 전에 잠근 공통 100점 기준표로 산출물별 정확히 한 번 깊게 분석한다. 별도 benchmark script, runner, judge, manifest, retry, resume 또는 자동 gate는 사용하지 않는다.
|
||
|
||
## 고정 요청
|
||
|
||
아래 문장을 모든 조합에 그대로 사용한다.
|
||
|
||
> Create a polished single-file responsive landing page in `index.html` for “Orbit Ops”, a fictional AI operations dashboard. Use no external assets, frameworks, or JavaScript. Include a semantic header, main, and footer; a hero with a title and two calls to action; three feature cards; and a system-status panel with three services and visible status labels. Put all CSS in a `<style>` element and make the layout adapt at 720px or below. Include exactly once `<meta name="iop-bench" content="BENCH_LITE_01">`. Write the file, read it back, and then finish with `BENCH_LITE_01_DONE` on its own line followed by the exact full `index.html` in one `html` fenced code block.
|
||
|
||
입력을 교체할 때는 이 블록과 아래 `A. 요청 충족` 체크리스트만 실행 전에 함께 바꾸고 고정한다. 나머지 평가 축과 실행 방식은 유지한다.
|
||
|
||
## 실행 규칙
|
||
|
||
- 각 조합은 빈 임시 workspace에서 정확히 한 번만 실행한다.
|
||
- 실패도 결과이며 같은 측정에서 retry, resume, recovery 또는 대체 실행을 하지 않는다.
|
||
- direct 경로는 caller workspace의 `index.html`과 terminal marker를 확인한다.
|
||
- execution preset은 Edge private workspace cleanup 계약을 유지하므로 caller-visible terminal marker와 최종 응답의 exact HTML code block을 확인한다.
|
||
- usage는 caller가 직접 제공한 값만 기록하고 없으면 `미제공`으로 둔다.
|
||
- 기존 원격 SOPS token과 command-scoped managed CA만 사용하며 별도 benchmark token이나 전역 CA override를 만들지 않는다.
|
||
- 이 세션의 execution preset Work는 live `ornith:35b` 바인딩을 사용한다. tracked runtime 설정은 변경하지 않는다.
|
||
- 각 exact HTML source와 SHA-256, `1440×900` desktop 및 `390×844` mobile render만 ignored run evidence에 보존한다. render는 품질 분석 입력이지 제품 경로의 pass/fail gate가 아니다.
|
||
- full source를 얻지 못한 실행은 `실행 실패`와 별개로 `채점 불가`로 기록하며 0점으로 바꾸지 않는다.
|
||
- scorable source에는 실행 후 opaque 평가 ID를 부여한다. 단일 평가 pass에는 ID, source와 두 render만 제공하고 route·model·시간·usage 매핑은 점수와 evidence가 고정된 뒤 결합한다.
|
||
|
||
## 결과
|
||
|
||
| 경로 | 평가 ID | 상태 | 경과 시간 | caller usage | source SHA-256 / terminal evidence | 짧은 관찰 |
|
||
|---|---|---|---:|---|---|---|
|
||
| Claude Code → Claude direct | 미부여 | 미실행 | 미측정 | 미제공 | 미확인 | — |
|
||
| Claude Code → Gemini direct | 미부여 | 미실행 | 미측정 | 미제공 | 미확인 | — |
|
||
| OpenCode → Gemini direct | 미부여 | 미실행 | 미측정 | 미제공 | 미확인 | — |
|
||
| Claude Code → GPT direct | 미부여 | 미실행 | 미측정 | 미제공 | 미확인 | — |
|
||
| Codex → GPT direct | 미부여 | 미실행 | 미측정 | 미제공 | 미확인 | — |
|
||
| Claude Code → Gemini execution preset | 미부여 | 미실행 | 미측정 | 미제공 | 미확인 | — |
|
||
| OpenCode → Gemini execution preset | 미부여 | 미실행 | 미측정 | 미제공 | 미확인 | — |
|
||
| Claude Code → GPT execution preset | 미부여 | 미실행 | 미측정 | 미제공 | 미확인 | — |
|
||
| Codex → GPT execution preset | 미부여 | 미실행 | 미측정 | 미제공 | 미확인 | — |
|
||
|
||
## 공통 평가 기준표 — 100점
|
||
|
||
평가자는 route, model, 경과 시간과 usage를 보지 않고 opaque 평가 ID, exact source와 두 고정 viewport render만 사용한다. `A`는 명시된 세부 점수를 합산한다. `B`~`D`의 각 5점 항목은 `5=명확히 충족`, `3=대체로 충족하나 눈에 띄는 결함 1개`, `1=일부 흔적만 있거나 결함이 여러 개`, `0=없거나 깨짐`의 네 anchor만 사용한다. 중간 점수는 쓰지 않는다.
|
||
|
||
| 축 | 세부 기준 | 배점 | 허용 점수 |
|
||
|---|---|---:|---|
|
||
| A. 요청 충족 | 완전한 HTML 문서 4, 내부 `<style>` 4, 외부 asset/framework 없음 4, JavaScript 없음 4, exact meta 1회 4 | 20 | 세부 항목별 0 또는 4 |
|
||
| A. 요청 충족 | `header/main/footer` 3, hero title+CTA 2개 4, feature card 3개 4, service 3개+visible label 4, 720px 이하 실제 breakpoint 5 | 20 | 명시 세부 점수만 합산 |
|
||
| B. 반응형·레이아웃 | desktop hierarchy, mobile reflow, overflow/clipping 방지, component/readability consistency | 20 | 각 0/1/3/5 |
|
||
| C. 사용성·접근성 | heading/landmark 구조, CTA 의미·focus, status의 non-color cue, viewport·대비·가독성 | 20 | 각 0/1/3/5 |
|
||
| D. 시각 완성도 | 정보 위계, palette/type/spacing, component/status cohesion, polish/distinctiveness | 20 | 각 0/1/3/5 |
|
||
|
||
총점은 `A+B+C+D`의 단순 합이며 별도 가중·정규화·상대 순위 보정은 없다. 요구 위반은 해당 `A` 점수에서만 반영하고 같은 결함을 다른 축에서 중복 감점하지 않는다. 단, 그 위반이 실제 레이아웃·사용성·시각 결함을 별도로 만든 경우에는 해당 render 증거를 적고 감점할 수 있다.
|
||
|
||
## 단일 평가 기록
|
||
|
||
각 scorable 산출물마다 아래 한 행과 짧은 evidence block 하나만 작성한다. 모든 산출물 평가가 끝날 때까지 rubric을 바꾸지 않는다.
|
||
|
||
| 평가 ID | A /40 | B /20 | C /20 | D /20 | 총점 /100 | 채점 상태 |
|
||
|---|---:|---:|---:|---:|---:|---|
|
||
| 미부여-01 | — | — | — | — | — | 미채점 |
|
||
| 미부여-02 | — | — | — | — | — | 미채점 |
|
||
| 미부여-03 | — | — | — | — | — | 미채점 |
|
||
| 미부여-04 | — | — | — | — | — | 미채점 |
|
||
| 미부여-05 | — | — | — | — | — | 미채점 |
|
||
| 미부여-06 | — | — | — | — | — | 미채점 |
|
||
| 미부여-07 | — | — | — | — | — | 미채점 |
|
||
| 미부여-08 | — | — | — | — | — | 미채점 |
|
||
| 미부여-09 | — | — | — | — | — | 미채점 |
|
||
|
||
Evidence block 형식: `평가 ID — A: 충족/누락 selector와 점수; B~D: source selector 또는 viewport에서 직접 관찰한 근거; 감점: 기준·anchor·사유`. 한 결함당 한 문장으로 제한한다. 평가는 산출물별 한 번만 수행하고, 이후 수정은 합계 산술 오류나 evidence 전사 오류만 허용하며 수정 사유를 같은 block에 남긴다.
|
||
|
||
이 총점은 고정 rubric과 직접 evidence에 기반한 재검산 가능한 단일 평가 점수다. 반복 표본이나 다중 평가자 합의가 아니므로 통계적 모델 우위나 절대적 품질 척도로 해석하지 않는다.
|
||
|
||
## 결론
|
||
|
||
9개 단일 시도와 단일 평가가 끝난 뒤 scorable 결과의 총점과 축별 강점·약점만 짧게 비교한다. 실행 성공률·속도·usage는 품질 총점과 별도로 제시한다. 실패, 채점 불가와 미제공 usage를 0점으로 바꾸거나 반복 실행·통계적 우위로 일반화하지 않는다.
|