From c6a9972dda1439bd8a1c2d9732fb9de52a9745ac Mon Sep 17 00:00:00 2001 From: toki Date: Tue, 11 Aug 2026 05:03:58 +0900 Subject: [PATCH] =?UTF-8?q?chore(epic):=20evidence-report=20=EC=A4=80?= =?UTF-8?q?=EB=B9=84=20=EA=B2=B0=EA=B3=BC=EB=A5=BC=20=EA=B2=80=EC=A6=9D?= =?UTF-8?q?=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agent-comparison-benchmark-pipeline.md | 14 ++-- .../SDD.md | 14 ++-- .../USER_REVIEW.md | 67 +++++++++++++++++++ 3 files changed, 83 insertions(+), 12 deletions(-) create mode 100644 agent-roadmap/sdd/knowledge-tool-optimization-extension/agent-comparison-benchmark-pipeline/USER_REVIEW.md diff --git a/agent-roadmap/phase/knowledge-tool-optimization-extension/milestones/agent-comparison-benchmark-pipeline.md b/agent-roadmap/phase/knowledge-tool-optimization-extension/milestones/agent-comparison-benchmark-pipeline.md index ccf91671..e388a122 100644 --- a/agent-roadmap/phase/knowledge-tool-optimization-extension/milestones/agent-comparison-benchmark-pipeline.md +++ b/agent-roadmap/phase/knowledge-tool-optimization-extension/milestones/agent-comparison-benchmark-pipeline.md @@ -17,19 +17,19 @@ IOP를 경유하는 Claude Code, agy, Codex의 단독 모델·하이브리드 ## 구현 잠금 -- 상태: 해제 +- 상태: 잠금 - SDD: 필요 - SDD 문서: [Agent 비교 벤치마크 파이프라인 준비 SDD](../../../sdd/knowledge-tool-optimization-extension/agent-comparison-benchmark-pipeline/SDD.md) - SDD 사유: 외부 CLI의 IOP API 연결, credential/model preflight, 실제 provider 호출, 반복 실행·비용·secret-safe evidence와 실패 분기 계약을 함께 고정해야 한다. -- SDD 상태: 승인됨 -- SDD 잠금: 해제 -- SDD 사용자 리뷰: 없음 +- SDD 상태: 검토중 +- SDD 잠금: 잠금 +- SDD 사용자 리뷰: [USER_REVIEW.md](../../../sdd/knowledge-tool-optimization-extension/agent-comparison-benchmark-pipeline/USER_REVIEW.md) - 잠금 해제 조건: 아래 체크리스트 - - [x] SDD 잠금이 해제되어 있다. - - [x] SDD 사용자 리뷰가 없거나 승인/해결되었다. + - [ ] SDD 잠금이 해제되어 있다. + - [ ] SDD 사용자 리뷰가 없거나 승인/해결되었다. - [x] Acceptance Scenario가 Milestone 기능 Task와 연결되어 있다. - [x] Evidence Map이 완료 시 `complete.log`의 `milestone-task` id별 집계와 최종 검증 evidence로 검증 가능하게 연결되어 있다. -- 결정 필요: 없음 +- 결정 필요: `evidence-report` Epic의 deterministic web fixture, 100점 rubric, score 적격성, Codex evaluator 실행 정책(D11-D14) ## 범위 diff --git a/agent-roadmap/sdd/knowledge-tool-optimization-extension/agent-comparison-benchmark-pipeline/SDD.md b/agent-roadmap/sdd/knowledge-tool-optimization-extension/agent-comparison-benchmark-pipeline/SDD.md index 507d633c..289f4e44 100644 --- a/agent-roadmap/sdd/knowledge-tool-optimization-extension/agent-comparison-benchmark-pipeline/SDD.md +++ b/agent-roadmap/sdd/knowledge-tool-optimization-extension/agent-comparison-benchmark-pipeline/SDD.md @@ -7,12 +7,12 @@ ## 상태 -[승인됨] +[검토중] ## SDD 잠금 -- 상태: 해제 -- 사용자 리뷰: 없음 +- 상태: 잠금 +- 사용자 리뷰: [USER_REVIEW.md](USER_REVIEW.md) - 잠금 항목: - [x] [D01] benchmark 준비는 `[route-02]`와 병렬로 진행하며 direct route live connectivity와 generic preset runner fixture까지만 완료 조건으로 둔다. 실제 Gemini/GPT hybrid preset live readiness와 scored 비교는 `[route-02]` 정식 smoke 뒤의 별도 `[bench-02]`가 소유한다. - [x] [D02] 모든 scored model 호출은 IOP를 경유하며 Claude Code, agy, Codex 차이는 runner adapter가 흡수한다. @@ -24,6 +24,10 @@ - [x] [D08] 실제 CLI/IOP entrypoint를 직접 호출하며 Agent-Ops task dispatcher를 제품 runtime이나 benchmark harness로 사용하지 않는다. - [x] [D09] provider가 보고하지 않은 token은 `unavailable`로 기록하고 추정값을 exact source와 섞지 않는다. - [x] [D10] 각 cell은 fresh caller session과 clean workspace를 사용하고 공통 setup/cache 정책을 기록하며, timing은 관측 clock/source를 보존하고 중첩 구간을 임의 합산하지 않는다. + - [ ] [D11] 익명 비교의 입력이 되는 deterministic web fixture의 과업·필수 산출물·제공 asset 범위를 확정한다. + - [ ] [D12] 자동 gate와 중복되지 않는 100점 품질 rubric의 항목·가중치를 확정한다. + - [ ] [D13] 자동 검증 실패·blocked attempt의 수동 점수 적격성과 동점 처리 정책을 확정한다. + - [ ] [D14] Codex evaluator의 IOP route/model/effort 고정 위치와 scoring retry/failure 정책을 확정한다. ## 문제 / 비목표 @@ -45,7 +49,7 @@ | Dev Testbed | `../iop-s2` | IOP dev runtime; scored 결과 workspace의 source가 아님 | | API Contract | [Anthropic-Compatible Messages API](../../../../agent-contract/outer/anthropic-compatible-api.md), [OpenAI-Compatible API](../../../../agent-contract/outer/openai-compatible-api.md) | Claude Code/agy/Codex의 IOP ingress와 terminal/usage 기준 | | Config Contract | [Edge Config And Runtime Refresh](../../../../agent-contract/inner/edge-config-runtime-refresh.md) | model route, execution preset, protocol profile, credential 경계 | -| User Decision | D01-D10 | 2026-08-06 확정 방향과 공정성 보강, 추가 사용자 결정 없음 | +| User Decision | D01-D14 | D01-D10은 2026-08-06 확정, D11-D14는 [USER_REVIEW.md](USER_REVIEW.md)에서 결정 필요 | ## State Machine @@ -142,7 +146,7 @@ State invariant: - [x] Milestone 기능 Task와 Acceptance Scenario가 일치한다. - [x] Evidence Map이 code-review/complete.log에서 검증 가능하다. - [x] agent-contract를 쓰는 경우 SDD에 계약 원문을 복제하지 않았다. -- [x] 사용자 리뷰가 필요한 항목은 없고 확정된 D01-D10을 반영했다. +- [ ] 사용자 리뷰가 필요한 D11-D14를 [USER_REVIEW.md](USER_REVIEW.md)에 분리했다. ## 사용자 리뷰 이력 diff --git a/agent-roadmap/sdd/knowledge-tool-optimization-extension/agent-comparison-benchmark-pipeline/USER_REVIEW.md b/agent-roadmap/sdd/knowledge-tool-optimization-extension/agent-comparison-benchmark-pipeline/USER_REVIEW.md new file mode 100644 index 00000000..c0a1488d --- /dev/null +++ b/agent-roadmap/sdd/knowledge-tool-optimization-extension/agent-comparison-benchmark-pipeline/USER_REVIEW.md @@ -0,0 +1,67 @@ +# SDD User Review + +## 상태 + +요청됨 + +## 검토 대상 + +- SDD: [SDD.md](SDD.md) +- Milestone: [Agent 비교 벤치마크 파이프라인 준비](../../../phase/knowledge-tool-optimization-extension/milestones/agent-comparison-benchmark-pipeline.md) + +## 사용자 결정 항목 + +### [D11] Deterministic web fixture 범위 + +- 결정 필요: 익명 비교의 공통 입력이 될 웹 과업, 필수 산출물과 제공 asset 범위를 어디까지 고정할지 결정해야 한다. +- 추천안: 하나의 중립적인 제품 소개 landing page 과업을 고정하고 `index.html`, `styles.css`, `script.js`와 저장소가 제공하는 로컬 이미지 2장을 필수 산출물/입력으로 둔다. 외부 network asset, framework, build 도구는 금지하고 정확한 prompt·copy·asset checksum은 versioned fixture가 소유한다. +- 대안: dashboard형 과업으로 고정하거나, HTML 단일 파일만 허용하거나, 외부 asset을 허용한다. +- 영향: 모델별 과업 난이도, web-validation의 build/serve 규칙, screenshot 비교 가능성, benchmark 재현성과 범위에 영향을 준다. +- 적용 위치: + - SDD: `Interface Contract`, `Acceptance Scenarios` S12-S14, `Evidence Map` + - Milestone: `web-validation`, `blind-score`, `report-output` + +### [D12] 100점 품질 rubric + +- 결정 필요: 자동 gate와 분리해 Codex가 평가할 품질 항목과 100점 가중치를 결정해야 한다. +- 추천안: task fidelity 25, visual hierarchy 25, responsive composition 20, typography/readability 15, polish/consistency 15로 고정한다. asset/console/accessibility 같은 pass/fail 자동 gate는 수동 점수에 다시 합산하지 않는다. +- 대안: 접근성과 구현 품질을 수동 항목에도 포함하거나, 시각 품질 중심으로 가중치를 재배분한다. +- 영향: 비교 결과의 의미, 순위 민감도, rubric version 호환성, golden report의 score 표에 영향을 준다. +- 적용 위치: + - SDD: `Interface Contract`, `Acceptance Scenarios` S13-S14 + - Milestone: `blind-score`, `report-output` + +### [D13] Score 적격성과 동점 정책 + +- 결정 필요: 자동 검증 실패·실행 실패·blocked attempt를 수동 채점할지와 동점을 어떻게 처리할지 결정해야 한다. +- 추천안: 실행 성공과 모든 필수 web gate를 통과한 attempt만 수동 채점하고 나머지는 `unscored`와 정확한 실패 사유로 보고한다. 총점 동점은 그대로 유지하며 임의 tie-break나 실패 점수 `0` 변환을 하지 않는다. +- 대안: render 가능한 실패 attempt도 참고 점수로 채점하거나, 실패를 0점으로 정규화하거나, 사전에 고정한 tie-break를 적용한다. +- 영향: 실패가 비교표에 반영되는 방식, 평균/순위 해석, report의 한계 표시와 scored failure 의미에 영향을 준다. +- 적용 위치: + - SDD: `State Machine`, `Interface Contract`, `Acceptance Scenarios` S13-S14 + - Milestone: `blind-score`, `report-output` + +### [D14] Codex evaluator 실행 정책 + +- 결정 필요: Codex evaluator의 IOP route/model/effort와 rubric prompt revision을 어디에 고정하고, invalid worksheet나 evaluator 실패를 재시도할지 결정해야 한다. +- 추천안: manifest에 별도 evaluator binding과 rubric revision을 명시하고 IOP를 경유한 fresh evaluator session 1회만 허용한다. invalid/failure는 점수를 만들거나 다른 model로 대체하지 않고 `scoring_failed`로 보존하며, 재시도는 새 scoring attempt id로 명시적으로 수행한다. +- 대안: project config에 evaluator를 고정하거나, 같은 scoring attempt에서 bounded automatic retry를 허용하거나, evaluator를 Codex 외 별도 서비스로 둔다. +- 영향: IOP 우회 금지 경계, 비용, 재현성, model 교체, retry 시 evidence 보존과 manifest schema에 영향을 준다. +- 적용 위치: + - SDD: `Source of Truth`, `State Machine`, `Interface Contract`, `Acceptance Scenarios` S13-S14 + - Milestone: `blind-score`, `report-output`, `구현 잠금` + +## 승인 항목 + +- [ ] 위 결정 항목을 승인했다. +- [ ] SDD 잠금 해제를 승인했다. + +## 답변 기록 + +- 없음 + +## 해결 조건 + +- 모든 사용자 결정 항목의 답변이 SDD에 반영되어 있다. +- [USER_REVIEW.md](USER_REVIEW.md)가 `user_review_N.log`로 이동되어 있다. +- 남은 잠금 항목이 없으면 SDD 상태가 `[승인됨]`이고 SDD 잠금 상태가 `해제`다.