oh-my-knowledge 0.23.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +146 -84
- package/README.zh.md +144 -83
- package/dist/src/analysis/report-diagnostics.d.ts +3 -2
- package/dist/src/analysis/report-diagnostics.d.ts.map +1 -1
- package/dist/src/analysis/report-diagnostics.js +107 -80
- package/dist/src/analysis/report-diagnostics.js.map +1 -1
- package/dist/src/analysis/sample-diagnostics.d.ts +4 -1
- package/dist/src/analysis/sample-diagnostics.d.ts.map +1 -1
- package/dist/src/analysis/sample-diagnostics.js +123 -29
- package/dist/src/analysis/sample-diagnostics.js.map +1 -1
- package/dist/src/analysis/saturation.d.ts +2 -2
- package/dist/src/analysis/saturation.js +2 -2
- package/dist/src/authoring/evolver.d.ts +12 -4
- package/dist/src/authoring/evolver.d.ts.map +1 -1
- package/dist/src/authoring/evolver.js +35 -10
- package/dist/src/authoring/evolver.js.map +1 -1
- package/dist/src/cli/i18n-dict.d.ts +1 -1
- package/dist/src/cli/i18n-dict.d.ts.map +1 -1
- package/dist/src/cli/i18n-dict.js +241 -64
- package/dist/src/cli/i18n-dict.js.map +1 -1
- package/dist/src/cli/index.js +267 -152
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/parse-run-config.d.ts +32 -9
- package/dist/src/cli/parse-run-config.d.ts.map +1 -1
- package/dist/src/cli/parse-run-config.js +80 -25
- package/dist/src/cli/parse-run-config.js.map +1 -1
- package/dist/src/cli/parse-strict.d.ts +20 -0
- package/dist/src/cli/parse-strict.d.ts.map +1 -0
- package/dist/src/cli/parse-strict.js +25 -0
- package/dist/src/cli/parse-strict.js.map +1 -0
- package/dist/src/cli/progress.d.ts +1 -0
- package/dist/src/cli/progress.d.ts.map +1 -1
- package/dist/src/cli/progress.js +8 -1
- package/dist/src/cli/progress.js.map +1 -1
- package/dist/src/doctor/index.d.ts +19 -0
- package/dist/src/doctor/index.d.ts.map +1 -0
- package/dist/src/doctor/index.js +182 -0
- package/dist/src/doctor/index.js.map +1 -0
- package/dist/src/doctor/preflight.d.ts +32 -0
- package/dist/src/doctor/preflight.d.ts.map +1 -0
- package/dist/src/doctor/preflight.js +32 -0
- package/dist/src/doctor/preflight.js.map +1 -0
- package/dist/src/doctor/renderer.d.ts +13 -0
- package/dist/src/doctor/renderer.d.ts.map +1 -0
- package/dist/src/doctor/renderer.js +69 -0
- package/dist/src/doctor/renderer.js.map +1 -0
- package/dist/src/doctor/rules.d.ts +30 -0
- package/dist/src/doctor/rules.d.ts.map +1 -0
- package/dist/src/doctor/rules.js +216 -0
- package/dist/src/doctor/rules.js.map +1 -0
- package/dist/src/eval-core/bootstrap.d.ts +1 -1
- package/dist/src/eval-core/bootstrap.js +1 -1
- package/dist/src/eval-core/cache.d.ts +7 -5
- package/dist/src/eval-core/cache.d.ts.map +1 -1
- package/dist/src/eval-core/cache.js +11 -7
- package/dist/src/eval-core/cache.js.map +1 -1
- package/dist/src/eval-core/comparability.d.ts +11 -0
- package/dist/src/eval-core/comparability.d.ts.map +1 -0
- package/dist/src/eval-core/comparability.js +296 -0
- package/dist/src/eval-core/comparability.js.map +1 -0
- package/dist/src/eval-core/dependency-checker.js +1 -1
- package/dist/src/eval-core/dependency-checker.js.map +1 -1
- package/dist/src/eval-core/evaluation-execution.d.ts +23 -7
- package/dist/src/eval-core/evaluation-execution.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-execution.js +53 -21
- package/dist/src/eval-core/evaluation-execution.js.map +1 -1
- package/dist/src/eval-core/evaluation-job.d.ts +3 -5
- package/dist/src/eval-core/evaluation-job.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-job.js +2 -4
- package/dist/src/eval-core/evaluation-job.js.map +1 -1
- package/dist/src/eval-core/evaluation-reporting.d.ts +3 -1
- package/dist/src/eval-core/evaluation-reporting.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-reporting.js +67 -9
- package/dist/src/eval-core/evaluation-reporting.js.map +1 -1
- package/dist/src/eval-core/execution-strategy.js +2 -2
- package/dist/src/eval-core/execution-strategy.js.map +1 -1
- package/dist/src/eval-core/schema.d.ts.map +1 -1
- package/dist/src/eval-core/schema.js +20 -2
- package/dist/src/eval-core/schema.js.map +1 -1
- package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts +113 -0
- package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts.map +1 -0
- package/dist/src/eval-workflows/batch-evaluation-workflow.js +217 -0
- package/dist/src/eval-workflows/batch-evaluation-workflow.js.map +1 -0
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts +6 -4
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.js +44 -38
- package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
- package/dist/src/eval-workflows/evaluation-preparation.d.ts +4 -17
- package/dist/src/eval-workflows/evaluation-preparation.d.ts.map +1 -1
- package/dist/src/eval-workflows/evaluation-preparation.js +3 -18
- package/dist/src/eval-workflows/evaluation-preparation.js.map +1 -1
- package/dist/src/eval-workflows/run-evaluation.d.ts +27 -23
- package/dist/src/eval-workflows/run-evaluation.d.ts.map +1 -1
- package/dist/src/eval-workflows/run-evaluation.js +137 -20
- package/dist/src/eval-workflows/run-evaluation.js.map +1 -1
- package/dist/src/executors/claude-cli.d.ts.map +1 -1
- package/dist/src/executors/claude-cli.js +11 -6
- package/dist/src/executors/claude-cli.js.map +1 -1
- package/dist/src/executors/codex-cli-trace.d.ts +10 -0
- package/dist/src/executors/codex-cli-trace.d.ts.map +1 -0
- package/dist/src/executors/codex-cli-trace.js +123 -0
- package/dist/src/executors/codex-cli-trace.js.map +1 -0
- package/dist/src/executors/codex-cli.d.ts +18 -0
- package/dist/src/executors/codex-cli.d.ts.map +1 -0
- package/dist/src/executors/codex-cli.js +254 -0
- package/dist/src/executors/codex-cli.js.map +1 -0
- package/dist/src/executors/codex-sdk.d.ts +18 -0
- package/dist/src/executors/codex-sdk.d.ts.map +1 -0
- package/dist/src/executors/codex-sdk.js +214 -0
- package/dist/src/executors/codex-sdk.js.map +1 -0
- package/dist/src/executors/gemini.d.ts.map +1 -1
- package/dist/src/executors/gemini.js +28 -24
- package/dist/src/executors/gemini.js.map +1 -1
- package/dist/src/executors/index.d.ts.map +1 -1
- package/dist/src/executors/index.js +7 -2
- package/dist/src/executors/index.js.map +1 -1
- package/dist/src/executors/runtime-fingerprint.d.ts +7 -0
- package/dist/src/executors/runtime-fingerprint.d.ts.map +1 -0
- package/dist/src/executors/runtime-fingerprint.js +277 -0
- package/dist/src/executors/runtime-fingerprint.js.map +1 -0
- package/dist/src/executors/script.d.ts.map +1 -1
- package/dist/src/executors/script.js +47 -55
- package/dist/src/executors/script.js.map +1 -1
- package/dist/src/executors/shared.d.ts +78 -1
- package/dist/src/executors/shared.d.ts.map +1 -1
- package/dist/src/executors/shared.js +203 -1
- package/dist/src/executors/shared.js.map +1 -1
- package/dist/src/grading/assertions.d.ts.map +1 -1
- package/dist/src/grading/assertions.js +22 -7
- package/dist/src/grading/assertions.js.map +1 -1
- package/dist/src/grading/gold-cli.js +4 -4
- package/dist/src/grading/gold-cli.js.map +1 -1
- package/dist/src/grading/human-gold.d.ts +1 -1
- package/dist/src/grading/human-gold.js +1 -1
- package/dist/src/grading/index.d.ts +20 -15
- package/dist/src/grading/index.d.ts.map +1 -1
- package/dist/src/grading/index.js +40 -16
- package/dist/src/grading/index.js.map +1 -1
- package/dist/src/grading/judge.d.ts +1 -1
- package/dist/src/grading/judge.d.ts.map +1 -1
- package/dist/src/grading/judge.js +76 -7
- package/dist/src/grading/judge.js.map +1 -1
- package/dist/src/inputs/eval-config.js +65 -7
- package/dist/src/inputs/eval-config.js.map +1 -1
- package/dist/src/inputs/skill-loader.d.ts +1 -1
- package/dist/src/inputs/skill-loader.d.ts.map +1 -1
- package/dist/src/inputs/skill-loader.js +1 -1
- package/dist/src/inputs/skill-loader.js.map +1 -1
- package/dist/src/renderer/html-renderer.d.ts +5 -4
- package/dist/src/renderer/html-renderer.d.ts.map +1 -1
- package/dist/src/renderer/html-renderer.js +240 -96
- package/dist/src/renderer/html-renderer.js.map +1 -1
- package/dist/src/renderer/layout.d.ts +2 -1
- package/dist/src/renderer/layout.d.ts.map +1 -1
- package/dist/src/renderer/layout.js +30 -42
- package/dist/src/renderer/layout.js.map +1 -1
- package/dist/src/renderer/summary.d.ts +3 -3
- package/dist/src/renderer/summary.d.ts.map +1 -1
- package/dist/src/renderer/summary.js +233 -43
- package/dist/src/renderer/summary.js.map +1 -1
- package/dist/src/renderer/trends.d.ts.map +1 -1
- package/dist/src/renderer/trends.js +5 -3
- package/dist/src/renderer/trends.js.map +1 -1
- package/dist/src/server/report-server.js +4 -4
- package/dist/src/server/report-server.js.map +1 -1
- package/dist/src/server/report-store.d.ts +7 -5
- package/dist/src/server/report-store.d.ts.map +1 -1
- package/dist/src/server/report-store.js +39 -11
- package/dist/src/server/report-store.js.map +1 -1
- package/dist/src/types/doctor.d.ts +95 -0
- package/dist/src/types/doctor.d.ts.map +1 -0
- package/dist/src/types/doctor.js +2 -0
- package/dist/src/types/doctor.js.map +1 -0
- package/dist/src/types/eval.d.ts +40 -19
- package/dist/src/types/eval.d.ts.map +1 -1
- package/dist/src/types/executor.d.ts +38 -0
- package/dist/src/types/executor.d.ts.map +1 -1
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +1 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/judge.d.ts +21 -0
- package/dist/src/types/judge.d.ts.map +1 -1
- package/dist/src/types/report.d.ts +100 -35
- package/dist/src/types/report.d.ts.map +1 -1
- package/dist/src/types/storage.d.ts +7 -7
- package/dist/src/types/storage.d.ts.map +1 -1
- package/package.json +6 -5
- package/dist/src/eval-workflows/each-evaluation-workflow.d.ts +0 -153
- package/dist/src/eval-workflows/each-evaluation-workflow.d.ts.map +0 -1
- package/dist/src/eval-workflows/each-evaluation-workflow.js +0 -178
- package/dist/src/eval-workflows/each-evaluation-workflow.js.map +0 -1
- package/dist/src/executors/openai-cli.d.ts +0 -3
- package/dist/src/executors/openai-cli.d.ts.map +0 -1
- package/dist/src/executors/openai-cli.js +0 -60
- package/dist/src/executors/openai-cli.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample-diagnostics.d.ts","sourceRoot":"","sources":["../../../src/analysis/sample-diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGrE,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,UAAU,GACV,UAAU,GACV,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,iBAAiB,GACjB,aAAa,GAEb,oBAAoB,GACpB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,eAAe,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"sample-diagnostics.d.ts","sourceRoot":"","sources":["../../../src/analysis/sample-diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGrE,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,UAAU,GACV,UAAU,GACV,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,iBAAiB,GACjB,aAAa,GAEb,oBAAoB,GACpB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,eAAe,CAAC;IACtB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,6BAA6B;IAC7B,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/F;AAED,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAYD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,sBAAsB,CAgNrG;AAqDD;;yDAEyD;AACzD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,KAAK,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AAYlC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,GAAE,cAAqB,GAAG,MAAM,CA2EzF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAO,GAAG,MAAM,CA+EpI"}
|
|
@@ -70,22 +70,19 @@ export function diagnoseSamples(report, options = {}) {
|
|
|
70
70
|
if (max === 5 && min === 5) {
|
|
71
71
|
issues.push({
|
|
72
72
|
sample_id: entry.sample_id, severity: 'info', kind: 'all_pass',
|
|
73
|
-
message: `所有 variant 得分均为 5 — 用例可能太简单或断言过宽`,
|
|
74
73
|
evidence: { scores: scoresMap(entry, variants) },
|
|
75
74
|
});
|
|
76
75
|
}
|
|
77
76
|
else if (max === 1 && min === 1) {
|
|
78
77
|
issues.push({
|
|
79
78
|
sample_id: entry.sample_id, severity: 'error', kind: 'all_fail',
|
|
80
|
-
message: `所有 variant 得分均为 1 — 用例可能 broken / rubric 不可达`,
|
|
81
79
|
evidence: { scores: scoresMap(entry, variants) },
|
|
82
80
|
});
|
|
83
81
|
}
|
|
84
82
|
else if (max - min < opt.flatThreshold) {
|
|
85
83
|
issues.push({
|
|
86
84
|
sample_id: entry.sample_id, severity: 'warning', kind: 'flat_scores',
|
|
87
|
-
|
|
88
|
-
evidence: { scores: scoresMap(entry, variants), spread: Number((max - min).toFixed(2)) },
|
|
85
|
+
evidence: { scores: scoresMap(entry, variants), spread: Number((max - min).toFixed(2)), threshold: opt.flatThreshold },
|
|
89
86
|
});
|
|
90
87
|
}
|
|
91
88
|
}
|
|
@@ -93,7 +90,6 @@ export function diagnoseSamples(report, options = {}) {
|
|
|
93
90
|
if (errors > 0) {
|
|
94
91
|
issues.push({
|
|
95
92
|
sample_id: entry.sample_id, severity: errors === variants.length ? 'error' : 'warning', kind: 'error_prone',
|
|
96
|
-
message: `${errors}/${variants.length} variant 执行失败 — 检查用例配置 / 环境依赖`,
|
|
97
93
|
evidence: { errorCount: errors, variantCount: variants.length },
|
|
98
94
|
});
|
|
99
95
|
}
|
|
@@ -102,8 +98,7 @@ export function diagnoseSamples(report, options = {}) {
|
|
|
102
98
|
if (maxStddev >= opt.ambiguousStddev) {
|
|
103
99
|
issues.push({
|
|
104
100
|
sample_id: entry.sample_id, severity: 'warning', kind: 'ambiguous_rubric',
|
|
105
|
-
|
|
106
|
-
evidence: { maxStddev: Number(maxStddev.toFixed(2)), stddevs: judgeStddevs.map((s) => Number(s.toFixed(2))) },
|
|
101
|
+
evidence: { maxStddev: Number(maxStddev.toFixed(2)), threshold: opt.ambiguousStddev, stddevs: judgeStddevs.map((s) => Number(s.toFixed(2))) },
|
|
107
102
|
});
|
|
108
103
|
}
|
|
109
104
|
}
|
|
@@ -116,15 +111,13 @@ export function diagnoseSamples(report, options = {}) {
|
|
|
116
111
|
if (medianCost > 0 && s.cost >= opt.costOutlierK * medianCost) {
|
|
117
112
|
issues.push({
|
|
118
113
|
sample_id: s.entry.sample_id, severity: 'info', kind: 'cost_outlier',
|
|
119
|
-
|
|
120
|
-
evidence: { cost: Number(s.cost.toFixed(4)), medianCost: Number(medianCost.toFixed(4)) },
|
|
114
|
+
evidence: { cost: Number(s.cost.toFixed(4)), medianCost: Number(medianCost.toFixed(4)), multiplier: opt.costOutlierK },
|
|
121
115
|
});
|
|
122
116
|
}
|
|
123
117
|
if (medianLatency > 0 && s.latencyMs >= opt.latencyOutlierK * medianLatency) {
|
|
124
118
|
issues.push({
|
|
125
119
|
sample_id: s.entry.sample_id, severity: 'info', kind: 'latency_outlier',
|
|
126
|
-
|
|
127
|
-
evidence: { latencyMs: s.latencyMs, medianMs: medianLatency },
|
|
120
|
+
evidence: { latencyMs: s.latencyMs, medianMs: medianLatency, multiplier: opt.latencyOutlierK },
|
|
128
121
|
});
|
|
129
122
|
}
|
|
130
123
|
}
|
|
@@ -153,8 +146,7 @@ export function diagnoseSamples(report, options = {}) {
|
|
|
153
146
|
seenPair.add(key);
|
|
154
147
|
issues.push({
|
|
155
148
|
sample_id: prompts[i].id, severity: 'warning', kind: 'near_duplicate',
|
|
156
|
-
|
|
157
|
-
evidence: { duplicateOf: prompts[j].id, rouge1: Number(score.toFixed(2)) },
|
|
149
|
+
evidence: { duplicateOf: prompts[j].id, rouge1: Number(score.toFixed(2)), threshold: opt.duplicateRouge },
|
|
158
150
|
});
|
|
159
151
|
}
|
|
160
152
|
}
|
|
@@ -179,7 +171,6 @@ export function diagnoseSamples(report, options = {}) {
|
|
|
179
171
|
continue;
|
|
180
172
|
issues.push({
|
|
181
173
|
sample_id: entry.sample_id, severity: 'info', kind: 'rubric_clarity_low',
|
|
182
|
-
message: `rubric 仅 ${rubric.length} 字且未含评分级别词 — 评委标准模糊,可能 judge 分数不稳`,
|
|
183
174
|
evidence: { rubricLength: rubric.length, rubricSnippet: rubric.slice(0, 80) },
|
|
184
175
|
});
|
|
185
176
|
}
|
|
@@ -215,7 +206,6 @@ export function diagnoseSamples(report, options = {}) {
|
|
|
215
206
|
const primarySampleId = info.sampleIds[0];
|
|
216
207
|
issues.push({
|
|
217
208
|
sample_id: primarySampleId, severity: 'warning', kind: 'capability_thin',
|
|
218
|
-
message: `capability "${cap}" 只 ${info.count} 个 sample 撑(阈值 ${threshold},N=${options.samples.length}) — 单 sample 失败会让该维度结论不稳`,
|
|
219
209
|
evidence: { capability: cap, sampleCount: info.count, threshold, sampleIds: info.sampleIds },
|
|
220
210
|
});
|
|
221
211
|
}
|
|
@@ -301,18 +291,106 @@ function containsRubricGradeKeyword(rubric) {
|
|
|
301
291
|
export function normalizeCapability(raw) {
|
|
302
292
|
return raw.trim().toLowerCase().replace(/[-_\s]+/g, '');
|
|
303
293
|
}
|
|
294
|
+
function evidenceNumber(evidence, key, fallback = 0) {
|
|
295
|
+
const value = evidence[key];
|
|
296
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
|
|
297
|
+
}
|
|
298
|
+
function evidenceString(evidence, key, fallback = '') {
|
|
299
|
+
const value = evidence[key];
|
|
300
|
+
return typeof value === 'string' ? value : fallback;
|
|
301
|
+
}
|
|
302
|
+
export function formatSampleIssue(issue, lang = 'zh') {
|
|
303
|
+
const evidence = issue.evidence;
|
|
304
|
+
switch (issue.kind) {
|
|
305
|
+
case 'all_pass':
|
|
306
|
+
return lang === 'zh'
|
|
307
|
+
? '所有 variant 得分均为 5 — 用例可能太简单或断言过宽'
|
|
308
|
+
: 'All variants scored 5; this sample may be too easy or the assertions may be too loose';
|
|
309
|
+
case 'all_fail':
|
|
310
|
+
return lang === 'zh'
|
|
311
|
+
? '所有 variant 得分均为 1 — 用例可能 broken / rubric 不可达'
|
|
312
|
+
: 'All variants scored 1; this sample may be broken or the rubric may be unreachable';
|
|
313
|
+
case 'flat_scores': {
|
|
314
|
+
const spread = evidenceNumber(evidence, 'spread').toFixed(2);
|
|
315
|
+
const threshold = evidenceNumber(evidence, 'threshold').toString();
|
|
316
|
+
return lang === 'zh'
|
|
317
|
+
? `分差 ${spread} < ${threshold} — 区分度低,该用例对结论贡献小`
|
|
318
|
+
: `Score spread ${spread} < ${threshold}; low discrimination, so this sample contributes little to the conclusion`;
|
|
319
|
+
}
|
|
320
|
+
case 'error_prone': {
|
|
321
|
+
const errors = evidenceNumber(evidence, 'errorCount');
|
|
322
|
+
const variants = evidenceNumber(evidence, 'variantCount');
|
|
323
|
+
return lang === 'zh'
|
|
324
|
+
? `${errors}/${variants} variant 执行失败 — 检查用例配置 / 环境依赖`
|
|
325
|
+
: `${errors}/${variants} variants failed; check sample config and environment dependencies`;
|
|
326
|
+
}
|
|
327
|
+
case 'ambiguous_rubric': {
|
|
328
|
+
const maxStddev = evidenceNumber(evidence, 'maxStddev').toFixed(2);
|
|
329
|
+
const threshold = evidenceNumber(evidence, 'threshold').toString();
|
|
330
|
+
return lang === 'zh'
|
|
331
|
+
? `LLM 评委多次评分 stddev ${maxStddev} ≥ ${threshold} — rubric 可能存在歧义`
|
|
332
|
+
: `LLM judge score stddev ${maxStddev} >= ${threshold}; the rubric may be ambiguous`;
|
|
333
|
+
}
|
|
334
|
+
case 'cost_outlier': {
|
|
335
|
+
const cost = evidenceNumber(evidence, 'cost').toFixed(4);
|
|
336
|
+
const medianCost = evidenceNumber(evidence, 'medianCost').toFixed(4);
|
|
337
|
+
const multiplier = evidenceNumber(evidence, 'multiplier');
|
|
338
|
+
return lang === 'zh'
|
|
339
|
+
? `用例总成本 $${cost} ≥ ${multiplier}× 中位数 $${medianCost}`
|
|
340
|
+
: `Sample cost $${cost} >= ${multiplier}x median $${medianCost}`;
|
|
341
|
+
}
|
|
342
|
+
case 'latency_outlier': {
|
|
343
|
+
const latencySec = (evidenceNumber(evidence, 'latencyMs') / 1000).toFixed(1);
|
|
344
|
+
const medianSec = (evidenceNumber(evidence, 'medianMs') / 1000).toFixed(1);
|
|
345
|
+
const multiplier = evidenceNumber(evidence, 'multiplier');
|
|
346
|
+
return lang === 'zh'
|
|
347
|
+
? `用例总耗时 ${latencySec}s ≥ ${multiplier}× 中位数 ${medianSec}s`
|
|
348
|
+
: `Sample latency ${latencySec}s >= ${multiplier}x median ${medianSec}s`;
|
|
349
|
+
}
|
|
350
|
+
case 'near_duplicate': {
|
|
351
|
+
const rouge = evidenceNumber(evidence, 'rouge1').toFixed(2);
|
|
352
|
+
const threshold = evidenceNumber(evidence, 'threshold').toString();
|
|
353
|
+
const duplicateOf = evidenceString(evidence, 'duplicateOf', 'unknown');
|
|
354
|
+
return lang === 'zh'
|
|
355
|
+
? `prompt ROUGE-1 ${rouge} ≥ ${threshold} 与用例 "${duplicateOf}" 高度相似`
|
|
356
|
+
: `Prompt ROUGE-1 ${rouge} >= ${threshold}; highly similar to sample "${duplicateOf}"`;
|
|
357
|
+
}
|
|
358
|
+
case 'rubric_clarity_low': {
|
|
359
|
+
const rubricLength = evidenceNumber(evidence, 'rubricLength');
|
|
360
|
+
return lang === 'zh'
|
|
361
|
+
? `rubric 仅 ${rubricLength} 字且未含评分级别词 — 评委标准模糊,可能 judge 分数不稳`
|
|
362
|
+
: `Rubric is only ${rubricLength} characters and has no grading-level terms; judge scores may be unstable`;
|
|
363
|
+
}
|
|
364
|
+
case 'capability_thin': {
|
|
365
|
+
const capability = evidenceString(evidence, 'capability', 'unknown');
|
|
366
|
+
const sampleCount = evidenceNumber(evidence, 'sampleCount');
|
|
367
|
+
const threshold = evidenceNumber(evidence, 'threshold');
|
|
368
|
+
return lang === 'zh'
|
|
369
|
+
? `capability "${capability}" 只 ${sampleCount} 个 sample 撑(阈值 ${threshold}) — 单 sample 失败会让该维度结论不稳`
|
|
370
|
+
: `Capability "${capability}" is covered by only ${sampleCount} samples (threshold ${threshold}); one failed sample can destabilize this dimension`;
|
|
371
|
+
}
|
|
372
|
+
default:
|
|
373
|
+
return lang === 'zh'
|
|
374
|
+
? `结构化诊断:${issue.kind}`
|
|
375
|
+
: `Structured diagnostic: ${issue.kind}`;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
304
378
|
/**
|
|
305
379
|
* Plain-text formatter for `omk bench diagnose <reportId>`.
|
|
306
380
|
*/
|
|
307
381
|
export function formatSampleDiagnostics(diag, options = {}) {
|
|
308
382
|
const lines = [];
|
|
309
|
-
const { topN } = options;
|
|
383
|
+
const { topN, lang = 'zh' } = options;
|
|
310
384
|
lines.push('');
|
|
311
|
-
lines.push(
|
|
312
|
-
|
|
385
|
+
lines.push(lang === 'zh'
|
|
386
|
+
? ` 用例质量诊断 — health score ${diag.healthScore}/100`
|
|
387
|
+
: ` Sample quality diagnostics — health score ${diag.healthScore}/100`);
|
|
388
|
+
lines.push(lang === 'zh'
|
|
389
|
+
? ` 用例总数: ${diag.totals.samples}, flagged: ${diag.totals.flagged} (errors=${diag.totals.errors}, warnings=${diag.totals.warnings}, infos=${diag.totals.infos})`
|
|
390
|
+
: ` Samples: ${diag.totals.samples}, flagged: ${diag.totals.flagged} (errors=${diag.totals.errors}, warnings=${diag.totals.warnings}, infos=${diag.totals.infos})`);
|
|
313
391
|
lines.push('');
|
|
314
392
|
if (diag.issues.length === 0) {
|
|
315
|
-
lines.push(' ✓ 未检测到用例质量问题');
|
|
393
|
+
lines.push(lang === 'zh' ? ' ✓ 未检测到用例质量问题' : ' ✓ No sample quality issues detected');
|
|
316
394
|
lines.push('');
|
|
317
395
|
return lines.join('\n');
|
|
318
396
|
}
|
|
@@ -327,36 +405,52 @@ export function formatSampleDiagnostics(diag, options = {}) {
|
|
|
327
405
|
const display = topN ? matching.slice(0, topN) : matching;
|
|
328
406
|
for (const issue of display) {
|
|
329
407
|
const sev = issue.severity === 'error' ? '✗' : issue.severity === 'warning' ? '⚠' : 'ℹ';
|
|
330
|
-
lines.push(` ${sev} ${issue.sample_id}: ${issue
|
|
408
|
+
lines.push(` ${sev} ${issue.sample_id}: ${formatSampleIssue(issue, lang)}`);
|
|
331
409
|
}
|
|
332
410
|
if (topN && matching.length > topN) {
|
|
333
|
-
lines.push(
|
|
411
|
+
lines.push(lang === 'zh'
|
|
412
|
+
? ` ... 还有 ${matching.length - topN} 个,加 --top 0 看全部`
|
|
413
|
+
: ` ... ${matching.length - topN} more; pass --top 0 to show all`);
|
|
334
414
|
}
|
|
335
415
|
lines.push('');
|
|
336
416
|
}
|
|
337
417
|
// Recommendations based on dominant issue kinds.
|
|
338
|
-
lines.push(' 建议:');
|
|
418
|
+
lines.push(lang === 'zh' ? ' 建议:' : ' Recommendations:');
|
|
339
419
|
if (diag.byKind.all_pass && diag.byKind.all_pass.length > diag.totals.samples * 0.3) {
|
|
340
|
-
lines.push(
|
|
420
|
+
lines.push(lang === 'zh'
|
|
421
|
+
? ' - 用例太简单 (>30% all-pass) — 加难度 / 加更严断言来拉开 variant 差距'
|
|
422
|
+
: ' - Samples are too easy (>30% all-pass); add difficulty or stricter assertions to separate variants');
|
|
341
423
|
}
|
|
342
424
|
if (diag.byKind.flat_scores && diag.byKind.flat_scores.length > diag.totals.samples * 0.3) {
|
|
343
|
-
lines.push(
|
|
425
|
+
lines.push(lang === 'zh'
|
|
426
|
+
? ' - 多数用例区分度低 — 当前评分维度可能与 skill 差异不正交'
|
|
427
|
+
: ' - Many samples have low discrimination; the scoring dimensions may not isolate skill differences');
|
|
344
428
|
}
|
|
345
429
|
if (diag.byKind.near_duplicate) {
|
|
346
|
-
lines.push(
|
|
430
|
+
lines.push(lang === 'zh'
|
|
431
|
+
? ' - 删除或改写 near-duplicate 用例,避免数据有效维度被挤压'
|
|
432
|
+
: ' - Remove or rewrite near-duplicate samples so the effective data dimensions are not compressed');
|
|
347
433
|
}
|
|
348
434
|
if (diag.byKind.ambiguous_rubric) {
|
|
349
|
-
lines.push(
|
|
435
|
+
lines.push(lang === 'zh'
|
|
436
|
+
? ' - rubric 在这些用例上歧义大 — 改写 rubric 或加更多确定性断言锚定'
|
|
437
|
+
: ' - Rubrics are ambiguous on these samples; rewrite them or add deterministic assertions');
|
|
350
438
|
}
|
|
351
439
|
if (diag.byKind.error_prone) {
|
|
352
|
-
lines.push(
|
|
440
|
+
lines.push(lang === 'zh'
|
|
441
|
+
? ' - 这些用例执行失败 — 检查环境依赖 / executor 配置 / 用例本身是否过期'
|
|
442
|
+
: ' - These samples failed during execution; check environment dependencies, executor config, or stale samples');
|
|
353
443
|
}
|
|
354
444
|
// sample design science signals
|
|
355
445
|
if (diag.byKind.rubric_clarity_low) {
|
|
356
|
-
lines.push(
|
|
446
|
+
lines.push(lang === 'zh'
|
|
447
|
+
? ' - rubric 太短 / 无评分级别词 — 把 rubric 写成"应识别 X / 必须包含 Y / 至少 N 项"这样的判分细则,让 judge 有可执行标准'
|
|
448
|
+
: ' - Rubrics are too short or lack grading-level terms; write actionable criteria such as "must identify X", "must include Y", or "at least N items"');
|
|
357
449
|
}
|
|
358
450
|
if (diag.byKind.capability_thin) {
|
|
359
|
-
lines.push(
|
|
451
|
+
lines.push(lang === 'zh'
|
|
452
|
+
? ' - 某 capability 维度只 1-2 用例撑 — 要么补 sample 加厚该维度,要么删该 capability(明确不在测试范围),避免单 sample 失败让该维度结论不稳'
|
|
453
|
+
: ' - Some capability dimensions have only 1-2 samples; add coverage or remove the capability from scope to avoid single-sample instability');
|
|
360
454
|
}
|
|
361
455
|
lines.push('');
|
|
362
456
|
return lines.join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample-diagnostics.js","sourceRoot":"","sources":["../../../src/analysis/sample-diagnostics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sample-diagnostics.js","sourceRoot":"","sources":["../../../src/analysis/sample-diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* is "is N=30 enough, or should I keep running?". Without a principled
|
|
8
8
|
* answer, users either over-pay (running 200 when 50 was enough) or
|
|
9
9
|
* under-pay (calling skill effects null at N=30 when N=80 would have
|
|
10
|
-
* shown clearly significant — Bootstrap CI
|
|
10
|
+
* shown clearly significant — Bootstrap CI just hasn't
|
|
11
11
|
* converged yet).
|
|
12
12
|
*
|
|
13
13
|
* Saturation analysis fits the right tool to the question: track a
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* checkpoints. Easy to explain. Fragile to outlier samples.
|
|
20
20
|
* - **bootstrap-ci-width** (default): CI shrinks as O(1/√N); when its
|
|
21
21
|
* decay rate flattens, more samples buy little. Statistically
|
|
22
|
-
* grounded; pairs naturally with
|
|
22
|
+
* grounded; pairs naturally with the Bootstrap CI module.
|
|
23
23
|
* - **plateau-height**: range of mean across the last K checkpoints.
|
|
24
24
|
* Conservative — slow to declare saturation, hard to fool.
|
|
25
25
|
*
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* is "is N=30 enough, or should I keep running?". Without a principled
|
|
8
8
|
* answer, users either over-pay (running 200 when 50 was enough) or
|
|
9
9
|
* under-pay (calling skill effects null at N=30 when N=80 would have
|
|
10
|
-
* shown clearly significant — Bootstrap CI
|
|
10
|
+
* shown clearly significant — Bootstrap CI just hasn't
|
|
11
11
|
* converged yet).
|
|
12
12
|
*
|
|
13
13
|
* Saturation analysis fits the right tool to the question: track a
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* checkpoints. Easy to explain. Fragile to outlier samples.
|
|
20
20
|
* - **bootstrap-ci-width** (default): CI shrinks as O(1/√N); when its
|
|
21
21
|
* decay rate flattens, more samples buy little. Statistically
|
|
22
|
-
* grounded; pairs naturally with
|
|
22
|
+
* grounded; pairs naturally with the Bootstrap CI module.
|
|
23
23
|
* - **plateau-height**: range of mean across the last K checkpoints.
|
|
24
24
|
* Conservative — slow to declare saturation, hard to fool.
|
|
25
25
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ProgressCallback, Report, Sample } from '../types/index.js';
|
|
1
|
+
import type { JudgeConfig, ProgressCallback, Report, Sample } from '../types/index.js';
|
|
2
2
|
interface WeakSample {
|
|
3
3
|
sample_id: string;
|
|
4
4
|
compositeScore: number;
|
|
@@ -18,6 +18,9 @@ export interface EvolveRoundProgressInfo {
|
|
|
18
18
|
delta?: number;
|
|
19
19
|
accepted?: boolean;
|
|
20
20
|
costUSD?: number;
|
|
21
|
+
/** False = exec 或 judge executor 不报 cost(如 codex)→ costUSD 是占位 0。
|
|
22
|
+
* CLI 输出据此把 "$0.0000" 改成「—」。 */
|
|
23
|
+
costReported?: boolean;
|
|
21
24
|
error?: string;
|
|
22
25
|
}
|
|
23
26
|
interface EvolveOptions {
|
|
@@ -26,12 +29,15 @@ interface EvolveOptions {
|
|
|
26
29
|
rounds?: number;
|
|
27
30
|
target?: number | null;
|
|
28
31
|
model?: string;
|
|
29
|
-
|
|
32
|
+
/** Single-judge config. evolve 不支持 ensemble — CLI 在 length>=2 时 exit 2,
|
|
33
|
+
* programmatic API 在 evolveSkill 入口同样 throw,二者一致。Default
|
|
34
|
+
* `[{ executor: <executorName>, model: 'haiku' }]`. */
|
|
35
|
+
judgeModels?: JudgeConfig[];
|
|
30
36
|
improveModel?: string;
|
|
31
37
|
executorName?: string;
|
|
32
38
|
concurrency?: number;
|
|
33
39
|
timeoutMs?: number;
|
|
34
|
-
|
|
40
|
+
skipConnectivity?: boolean;
|
|
35
41
|
onProgress?: ProgressCallback | null;
|
|
36
42
|
onRoundProgress?: ((progress: EvolveRoundProgressInfo) => void) | null;
|
|
37
43
|
}
|
|
@@ -48,6 +54,8 @@ export interface EvolveResult {
|
|
|
48
54
|
bestRound: number;
|
|
49
55
|
totalRounds: number;
|
|
50
56
|
totalCostUSD: number;
|
|
57
|
+
/** False = 任一轮的 exec / judge 不报 cost → totalCostUSD 是 lower-bound 而非真值。 */
|
|
58
|
+
costReported?: boolean;
|
|
51
59
|
trajectory: TrajectoryEntry[];
|
|
52
60
|
bestSkillPath: string;
|
|
53
61
|
allVersions: string[];
|
|
@@ -59,6 +67,6 @@ export interface RoundReport {
|
|
|
59
67
|
report: Report;
|
|
60
68
|
}
|
|
61
69
|
export declare function mergeEvolveReports(roundReports: RoundReport[], skillName: string, totalCostUSD: number, samples?: Sample[]): Report;
|
|
62
|
-
export declare function evolveSkill({ skillPath, samplesPath, rounds, target, model,
|
|
70
|
+
export declare function evolveSkill({ skillPath, samplesPath, rounds, target, model, judgeModels, improveModel, executorName, concurrency, timeoutMs, skipConnectivity, onProgress, onRoundProgress, }: EvolveOptions): Promise<EvolveResult>;
|
|
63
71
|
export {};
|
|
64
72
|
//# sourceMappingURL=evolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evolver.d.ts","sourceRoot":"","sources":["../../../src/authoring/evolver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAe,MAAM,EAAiB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"evolver.d.ts","sourceRoot":"","sources":["../../../src/authoring/evolver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAe,MAAM,EAAiB,MAAM,mBAAmB,CAAC;AAYnH,UAAU,UAAU;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC3C;AAmBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,UAAU,EAAE,CAkBtG;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAqB7G;AAgBD,+DAA+D;AAC/D,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;qCACiC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;4DAEwD;IACxD,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,uBAAuB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACxE;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,WAAW,EAAE,EAC3B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,MAAM,CAoER;AAED,wBAAsB,WAAW,CAAC,EAChC,SAAS,EACT,WAAW,EACX,MAAU,EACV,MAAa,EACb,KAAqB,EACrB,WAAW,EACX,YAA4B,EAC5B,YAAuB,EACvB,WAAe,EACf,SAAS,EACT,gBAAwB,EACxB,UAAiB,EACjB,eAAsB,GACvB,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAyJvC"}
|
|
@@ -130,6 +130,7 @@ export function mergeEvolveReports(roundReports, skillName, totalCostUSD, sample
|
|
|
130
130
|
}
|
|
131
131
|
const runId = `evolve-${skillName}-${generateRunId([skillName]).split('-').slice(-2).join('-')}`;
|
|
132
132
|
const report = {
|
|
133
|
+
kind: 'evaluation',
|
|
133
134
|
id: runId,
|
|
134
135
|
meta: {
|
|
135
136
|
...firstReport.meta,
|
|
@@ -144,11 +145,19 @@ export function mergeEvolveReports(roundReports, skillName, totalCostUSD, sample
|
|
|
144
145
|
};
|
|
145
146
|
// pass samples to populate analysis.sampleQuality (capability/difficulty/
|
|
146
147
|
// construct/provenance coverage). Without samples, sampleQuality is omitted but
|
|
147
|
-
// insights
|
|
148
|
+
// structured insights are still computed.
|
|
148
149
|
report.analysis = analyzeResults(report, { samples });
|
|
149
150
|
return report;
|
|
150
151
|
}
|
|
151
|
-
export async function evolveSkill({ skillPath, samplesPath, rounds = 5, target = null, model = DEFAULT_MODEL,
|
|
152
|
+
export async function evolveSkill({ skillPath, samplesPath, rounds = 5, target = null, model = DEFAULT_MODEL, judgeModels, improveModel = DEFAULT_MODEL, executorName = 'claude', concurrency = 1, timeoutMs, skipConnectivity = false, onProgress = null, onRoundProgress = null, }) {
|
|
153
|
+
if (judgeModels && judgeModels.length > 1) {
|
|
154
|
+
throw new Error('evolveSkill does not support multi-judge ensemble (received '
|
|
155
|
+
+ `${judgeModels.length} judges). Pass a single-judge array, e.g. `
|
|
156
|
+
+ `[{ executor: 'claude', model: 'haiku' }]`);
|
|
157
|
+
}
|
|
158
|
+
const effectiveJudgeModels = judgeModels && judgeModels.length > 0
|
|
159
|
+
? judgeModels
|
|
160
|
+
: [{ executor: executorName, model: JUDGE_MODEL }];
|
|
152
161
|
const absSkillPath = resolve(skillPath);
|
|
153
162
|
const absSamplesPath = resolve(samplesPath);
|
|
154
163
|
const skillDir = dirname(absSkillPath);
|
|
@@ -168,21 +177,27 @@ export async function evolveSkill({ skillPath, samplesPath, rounds = 5, target =
|
|
|
168
177
|
let bestScore = 0;
|
|
169
178
|
let bestRound = 0;
|
|
170
179
|
let totalCostUSD = 0;
|
|
180
|
+
let totalCostReported = true; // 任一 round 走不报 cost 的 executor → 整体 lower-bound
|
|
171
181
|
let consecutiveRejects = 0;
|
|
172
182
|
const trajectory = [];
|
|
173
183
|
const roundReports = [];
|
|
184
|
+
// 给定一个 report 看任一 variant 的 exec/judge cost 是否未报告
|
|
185
|
+
const reportHasUnreportedCost = (rep) => Object.values(rep.summary).some((v) => v.execCostReported === false || v.judgeCostReported === false);
|
|
174
186
|
// Round 0: baseline evaluation
|
|
175
187
|
const baselineReport = await evaluate(r0Path, {
|
|
176
|
-
samplesPath: absSamplesPath, skillDir, model,
|
|
188
|
+
samplesPath: absSamplesPath, skillDir, model, judgeModels: effectiveJudgeModels, executorName, concurrency, timeoutMs, skipConnectivity, onProgress,
|
|
177
189
|
});
|
|
178
190
|
const baselineVariantKey = Object.keys(baselineReport.summary)[0];
|
|
179
191
|
bestScore = baselineReport.summary[baselineVariantKey]?.avgCompositeScore ?? 0;
|
|
180
192
|
const baselineCost = baselineReport.meta.totalCostUSD;
|
|
181
193
|
totalCostUSD += baselineCost;
|
|
194
|
+
const baselineCostReported = !reportHasUnreportedCost(baselineReport);
|
|
195
|
+
if (!baselineCostReported)
|
|
196
|
+
totalCostReported = false;
|
|
182
197
|
trajectory.push({ round: 0, score: bestScore, delta: 0, accepted: true, costUSD: baselineCost });
|
|
183
198
|
roundReports.push({ round: 0, accepted: true, report: baselineReport });
|
|
184
199
|
if (onRoundProgress)
|
|
185
|
-
onRoundProgress({ round: 0, totalRounds: rounds, phase: 'baseline', score: bestScore, costUSD: baselineCost });
|
|
200
|
+
onRoundProgress({ round: 0, totalRounds: rounds, phase: 'baseline', score: bestScore, costUSD: baselineCost, costReported: baselineCostReported });
|
|
186
201
|
// Evolution loop
|
|
187
202
|
for (let round = 1; round <= rounds; round++) {
|
|
188
203
|
// Extract weak samples from last accepted evaluation. round=1 reuses baselineReport
|
|
@@ -196,9 +211,11 @@ export async function evolveSkill({ skillPath, samplesPath, rounds = 5, target =
|
|
|
196
211
|
}
|
|
197
212
|
else {
|
|
198
213
|
lastReport = await evaluate(allVersions[bestRound], {
|
|
199
|
-
samplesPath: absSamplesPath, skillDir, model,
|
|
214
|
+
samplesPath: absSamplesPath, skillDir, model, judgeModels: effectiveJudgeModels, executorName, concurrency, timeoutMs, skipConnectivity, onProgress,
|
|
200
215
|
});
|
|
201
216
|
totalCostUSD += lastReport.meta.totalCostUSD;
|
|
217
|
+
if (reportHasUnreportedCost(lastReport))
|
|
218
|
+
totalCostReported = false;
|
|
202
219
|
}
|
|
203
220
|
const lastVariantKey = Object.keys(lastReport.summary)[0];
|
|
204
221
|
const weakSamples = extractWeakSamples(lastReport, lastVariantKey);
|
|
@@ -212,21 +229,28 @@ export async function evolveSkill({ skillPath, samplesPath, rounds = 5, target =
|
|
|
212
229
|
consecutiveRejects++;
|
|
213
230
|
trajectory.push({ round, score: bestScore, delta: 0, accepted: false, costUSD: improveResult.costUSD });
|
|
214
231
|
totalCostUSD += improveResult.costUSD;
|
|
232
|
+
if (improveResult.costReportedByExecutor === false)
|
|
233
|
+
totalCostReported = false;
|
|
215
234
|
if (consecutiveRejects >= 2)
|
|
216
235
|
break;
|
|
217
236
|
continue;
|
|
218
237
|
}
|
|
238
|
+
if (improveResult.costReportedByExecutor === false)
|
|
239
|
+
totalCostReported = false;
|
|
219
240
|
const candidateContent = parseImprovedSkill(improveResult.output);
|
|
220
241
|
const candidatePath = join(evolveDir, `${skillName}.r${round}.md`);
|
|
221
242
|
writeFileSync(candidatePath, candidateContent);
|
|
222
243
|
allVersions.push(candidatePath);
|
|
223
244
|
// Evaluate candidate
|
|
224
245
|
const candidateReport = await evaluate(candidatePath, {
|
|
225
|
-
samplesPath: absSamplesPath, skillDir, model,
|
|
246
|
+
samplesPath: absSamplesPath, skillDir, model, judgeModels: effectiveJudgeModels, executorName, concurrency, timeoutMs, skipConnectivity, onProgress,
|
|
226
247
|
});
|
|
227
248
|
const candidateVariantKey = Object.keys(candidateReport.summary)[0];
|
|
228
249
|
const candidateScore = candidateReport.summary[candidateVariantKey]?.avgCompositeScore ?? 0;
|
|
229
250
|
const roundCost = improveResult.costUSD + candidateReport.meta.totalCostUSD;
|
|
251
|
+
const roundCostReported = improveResult.costReportedByExecutor !== false && !reportHasUnreportedCost(candidateReport);
|
|
252
|
+
if (!roundCostReported)
|
|
253
|
+
totalCostReported = false;
|
|
230
254
|
totalCostUSD += roundCost;
|
|
231
255
|
const delta = candidateScore - bestScore;
|
|
232
256
|
const accepted = candidateScore > bestScore;
|
|
@@ -242,7 +266,7 @@ export async function evolveSkill({ skillPath, samplesPath, rounds = 5, target =
|
|
|
242
266
|
}
|
|
243
267
|
trajectory.push({ round, score: candidateScore, delta, accepted, costUSD: roundCost });
|
|
244
268
|
if (onRoundProgress)
|
|
245
|
-
onRoundProgress({ round, totalRounds: rounds, phase: 'done', score: candidateScore, delta, accepted, costUSD: roundCost });
|
|
269
|
+
onRoundProgress({ round, totalRounds: rounds, phase: 'done', score: candidateScore, delta, accepted, costUSD: roundCost, costReported: roundCostReported });
|
|
246
270
|
// Early stop
|
|
247
271
|
if (target && bestScore >= target)
|
|
248
272
|
break;
|
|
@@ -266,25 +290,26 @@ export async function evolveSkill({ skillPath, samplesPath, rounds = 5, target =
|
|
|
266
290
|
bestRound,
|
|
267
291
|
totalRounds: trajectory.length - 1, // excluding baseline
|
|
268
292
|
totalCostUSD: Number(totalCostUSD.toFixed(6)),
|
|
293
|
+
...(totalCostReported ? {} : { costReported: false }),
|
|
269
294
|
trajectory,
|
|
270
295
|
bestSkillPath: allVersions[bestRound],
|
|
271
296
|
allVersions,
|
|
272
297
|
reportId,
|
|
273
298
|
};
|
|
274
299
|
}
|
|
275
|
-
async function evaluate(skillFilePath, { samplesPath, skillDir, model,
|
|
300
|
+
async function evaluate(skillFilePath, { samplesPath, skillDir, model, judgeModels, executorName, concurrency, timeoutMs, skipConnectivity, onProgress }) {
|
|
276
301
|
const { report } = await runEvaluation({
|
|
277
302
|
samplesPath,
|
|
278
303
|
skillDir,
|
|
279
304
|
// evolve 评测每一轮只跑当前迭代的 skill,没有对照组;标为 treatment。
|
|
280
305
|
variantSpecs: [{ name: skillFilePath, role: 'treatment', expr: skillFilePath }],
|
|
281
306
|
model,
|
|
282
|
-
|
|
307
|
+
judgeModels,
|
|
283
308
|
outputDir: null, // don't persist intermediate reports
|
|
284
309
|
concurrency,
|
|
285
310
|
timeoutMs,
|
|
286
311
|
executorName,
|
|
287
|
-
|
|
312
|
+
skipConnectivity,
|
|
288
313
|
onProgress,
|
|
289
314
|
});
|
|
290
315
|
return report;
|