oh-my-knowledge 0.30.0 → 0.31.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 +198 -26
- package/README.zh.md +198 -26
- package/dist/src/authoring/evolver.d.ts +26 -2
- package/dist/src/authoring/evolver.d.ts.map +1 -1
- package/dist/src/authoring/evolver.js +410 -49
- package/dist/src/authoring/evolver.js.map +1 -1
- package/dist/src/authoring/generator.d.ts +5 -2
- package/dist/src/authoring/generator.d.ts.map +1 -1
- package/dist/src/authoring/generator.js +22 -6
- package/dist/src/authoring/generator.js.map +1 -1
- package/dist/src/authoring/sample-fixer.d.ts +10 -4
- package/dist/src/authoring/sample-fixer.d.ts.map +1 -1
- package/dist/src/authoring/sample-fixer.js +153 -126
- package/dist/src/authoring/sample-fixer.js.map +1 -1
- package/dist/src/cli/commands/doctor.d.ts +25 -1
- package/dist/src/cli/commands/doctor.d.ts.map +1 -1
- package/dist/src/cli/commands/doctor.js +233 -124
- package/dist/src/cli/commands/doctor.js.map +1 -1
- package/dist/src/cli/commands/eval/gold/compare.d.ts +17 -0
- package/dist/src/cli/commands/eval/gold/compare.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/compare.js +91 -0
- package/dist/src/cli/commands/eval/gold/compare.js.map +1 -0
- package/dist/src/cli/commands/eval/gold/index.d.ts +9 -0
- package/dist/src/cli/commands/eval/gold/index.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/index.js +34 -0
- package/dist/src/cli/commands/eval/gold/index.js.map +1 -0
- package/dist/src/cli/commands/eval/gold/init.d.ts +11 -0
- package/dist/src/cli/commands/eval/gold/init.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/init.js +51 -0
- package/dist/src/cli/commands/eval/gold/init.js.map +1 -0
- package/dist/src/cli/commands/eval/gold/validate.d.ts +12 -0
- package/dist/src/cli/commands/eval/gold/validate.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/validate.js +46 -0
- package/dist/src/cli/commands/eval/gold/validate.js.map +1 -0
- package/dist/src/cli/commands/eval/index.d.ts +54 -0
- package/dist/src/cli/commands/eval/index.d.ts.map +1 -0
- package/dist/src/cli/commands/{eval-runner.js → eval/index.js} +216 -50
- package/dist/src/cli/commands/eval/index.js.map +1 -0
- package/dist/src/cli/commands/evolve.d.ts +36 -1
- package/dist/src/cli/commands/evolve.d.ts.map +1 -1
- package/dist/src/cli/commands/evolve.js +191 -47
- package/dist/src/cli/commands/evolve.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts +15 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +70 -28
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/observe/inbox.d.ts +23 -0
- package/dist/src/cli/commands/observe/inbox.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/inbox.js +258 -0
- package/dist/src/cli/commands/observe/inbox.js.map +1 -0
- package/dist/src/cli/commands/observe/index.d.ts +22 -0
- package/dist/src/cli/commands/observe/index.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/index.js +118 -0
- package/dist/src/cli/commands/observe/index.js.map +1 -0
- package/dist/src/cli/commands/observe/ingest.d.ts +13 -0
- package/dist/src/cli/commands/observe/ingest.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/ingest.js +69 -0
- package/dist/src/cli/commands/observe/ingest.js.map +1 -0
- package/dist/src/cli/commands/observe/show.d.ts +13 -0
- package/dist/src/cli/commands/observe/show.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/show.js +49 -0
- package/dist/src/cli/commands/observe/show.js.map +1 -0
- package/dist/src/cli/commands/sample.d.ts +28 -5
- package/dist/src/cli/commands/sample.d.ts.map +1 -1
- package/dist/src/cli/commands/sample.js +242 -169
- package/dist/src/cli/commands/sample.js.map +1 -1
- package/dist/src/cli/commands/skill-extract.d.ts +20 -0
- package/dist/src/cli/commands/skill-extract.d.ts.map +1 -0
- package/dist/src/cli/commands/skill-extract.js +84 -0
- package/dist/src/cli/commands/skill-extract.js.map +1 -0
- package/dist/src/cli/commands/studio.d.ts +22 -1
- package/dist/src/cli/commands/studio.d.ts.map +1 -1
- package/dist/src/cli/commands/studio.js +111 -37
- package/dist/src/cli/commands/studio.js.map +1 -1
- package/dist/src/cli/index.js +15 -47
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/lib/cli-exit.d.ts +16 -0
- package/dist/src/cli/lib/cli-exit.d.ts.map +1 -0
- package/dist/src/cli/lib/cli-exit.js +20 -0
- package/dist/src/cli/lib/cli-exit.js.map +1 -0
- package/dist/src/cli/lib/cmd-flags.d.ts +236 -0
- package/dist/src/cli/lib/cmd-flags.d.ts.map +1 -0
- package/dist/src/cli/lib/cmd-flags.js +46 -0
- package/dist/src/cli/lib/cmd-flags.js.map +1 -0
- package/dist/src/cli/{i18n-dict.d.ts → lib/i18n-dict.d.ts} +1 -1
- package/dist/src/cli/lib/i18n-dict.d.ts.map +1 -0
- package/dist/src/cli/{i18n-dict.js → lib/i18n-dict.js} +39 -264
- package/dist/src/cli/lib/i18n-dict.js.map +1 -0
- package/dist/src/cli/{i18n.d.ts → lib/i18n.d.ts} +11 -6
- package/dist/src/cli/lib/i18n.d.ts.map +1 -0
- package/dist/src/cli/{i18n.js → lib/i18n.js} +12 -7
- package/dist/src/cli/lib/i18n.js.map +1 -0
- package/dist/src/cli/{parse-run-config.d.ts → lib/parse-run-config.d.ts} +5 -6
- package/dist/src/cli/lib/parse-run-config.d.ts.map +1 -0
- package/dist/src/cli/{parse-run-config.js → lib/parse-run-config.js} +11 -61
- package/dist/src/cli/lib/parse-run-config.js.map +1 -0
- package/dist/src/cli/lib/progress.d.ts.map +1 -0
- package/dist/src/cli/lib/progress.js.map +1 -0
- package/dist/src/cli/{run-tally.d.ts → lib/run-tally.d.ts} +1 -1
- package/dist/src/cli/lib/run-tally.d.ts.map +1 -0
- package/dist/src/cli/lib/run-tally.js.map +1 -0
- package/dist/src/cli/{commands/_shared.d.ts → lib/shared.d.ts} +2 -2
- package/dist/src/cli/lib/shared.d.ts.map +1 -0
- package/dist/src/cli/{commands/_shared.js → lib/shared.js} +3 -3
- package/dist/src/cli/lib/shared.js.map +1 -0
- package/dist/src/cli/lib/update-check.d.ts.map +1 -0
- package/dist/src/cli/lib/update-check.js.map +1 -0
- package/dist/src/cli/oclif/base-command.d.ts +8 -0
- package/dist/src/cli/oclif/base-command.d.ts.map +1 -0
- package/dist/src/cli/oclif/base-command.js +27 -0
- package/dist/src/cli/oclif/base-command.js.map +1 -0
- package/dist/src/cli/oclif/help.d.ts +16 -0
- package/dist/src/cli/oclif/help.d.ts.map +1 -0
- package/dist/src/cli/oclif/help.js +33 -0
- package/dist/src/cli/oclif/help.js.map +1 -0
- package/dist/src/cli/oclif/i18n.d.ts +16 -0
- package/dist/src/cli/oclif/i18n.d.ts.map +1 -0
- package/dist/src/cli/oclif/i18n.js +62 -0
- package/dist/src/cli/oclif/i18n.js.map +1 -0
- package/dist/src/cli/oclif/parsers.d.ts +10 -0
- package/dist/src/cli/oclif/parsers.d.ts.map +1 -0
- package/dist/src/cli/oclif/parsers.js +102 -0
- package/dist/src/cli/oclif/parsers.js.map +1 -0
- package/dist/src/cli/oclif/projection.d.ts +23 -0
- package/dist/src/cli/oclif/projection.d.ts.map +1 -0
- package/dist/src/cli/oclif/projection.js +52 -0
- package/dist/src/cli/oclif/projection.js.map +1 -0
- package/dist/src/cli/oclif/run.d.ts +2 -0
- package/dist/src/cli/oclif/run.d.ts.map +1 -0
- package/dist/src/cli/oclif/run.js +11 -0
- package/dist/src/cli/oclif/run.js.map +1 -0
- package/dist/src/diagnosis/observe-mapper.d.ts +68 -0
- package/dist/src/diagnosis/observe-mapper.d.ts.map +1 -0
- package/dist/src/diagnosis/observe-mapper.js +276 -0
- package/dist/src/diagnosis/observe-mapper.js.map +1 -0
- package/dist/src/diagnosis/observe-producer.d.ts +9 -0
- package/dist/src/diagnosis/observe-producer.d.ts.map +1 -0
- package/dist/src/diagnosis/observe-producer.js +197 -0
- package/dist/src/diagnosis/observe-producer.js.map +1 -0
- package/dist/src/diagnosis/studio-projection.d.ts +14 -0
- package/dist/src/diagnosis/studio-projection.d.ts.map +1 -0
- package/dist/src/diagnosis/studio-projection.js +84 -0
- package/dist/src/diagnosis/studio-projection.js.map +1 -0
- package/dist/src/diagnosis/types.d.ts +79 -0
- package/dist/src/diagnosis/types.d.ts.map +1 -0
- package/dist/src/diagnosis/types.js +20 -0
- package/dist/src/diagnosis/types.js.map +1 -0
- package/dist/src/doctor/fixer.d.ts +12 -0
- package/dist/src/doctor/fixer.d.ts.map +1 -0
- package/dist/src/doctor/fixer.js +326 -0
- package/dist/src/doctor/fixer.js.map +1 -0
- package/dist/src/doctor/health/composer.js +7 -4
- package/dist/src/doctor/health/composer.js.map +1 -1
- package/dist/src/doctor/health/parser.d.ts +0 -1
- package/dist/src/doctor/health/parser.d.ts.map +1 -1
- package/dist/src/doctor/health/parser.js +37 -0
- package/dist/src/doctor/health/parser.js.map +1 -1
- package/dist/src/doctor/health/prompt-builder.d.ts +2 -21
- package/dist/src/doctor/health/prompt-builder.d.ts.map +1 -1
- package/dist/src/doctor/health/prompt-builder.js +1 -169
- package/dist/src/doctor/health/prompt-builder.js.map +1 -1
- package/dist/src/doctor/html-renderer.d.ts +1 -1
- package/dist/src/doctor/html-renderer.d.ts.map +1 -1
- package/dist/src/doctor/html-renderer.js +2 -2
- package/dist/src/doctor/html-renderer.js.map +1 -1
- package/dist/src/doctor/index.d.ts.map +1 -1
- package/dist/src/doctor/index.js +1 -0
- package/dist/src/doctor/index.js.map +1 -1
- package/dist/src/doctor/renderer.d.ts +1 -1
- package/dist/src/doctor/renderer.d.ts.map +1 -1
- package/dist/src/doctor/renderer.js +2 -2
- package/dist/src/doctor/renderer.js.map +1 -1
- package/dist/src/doctor/rules.js +1 -1
- package/dist/src/doctor/rules.js.map +1 -1
- package/dist/src/eval-core/mock-hook.cjs +13 -1
- package/dist/src/eval-core/mocks-runtime.d.ts +7 -3
- package/dist/src/eval-core/mocks-runtime.d.ts.map +1 -1
- package/dist/src/eval-core/mocks-runtime.js +240 -4
- package/dist/src/eval-core/mocks-runtime.js.map +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.js +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
- package/dist/src/eval-workflows/run-evaluation.js +1 -1
- 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 +6 -4
- package/dist/src/executors/claude-cli.js.map +1 -1
- package/dist/src/observability/experience.d.ts +184 -3
- package/dist/src/observability/experience.d.ts.map +1 -1
- package/dist/src/observability/experience.js +1208 -41
- package/dist/src/observability/experience.js.map +1 -1
- package/dist/src/observability/inbox-view-model.d.ts +3 -0
- package/dist/src/observability/inbox-view-model.d.ts.map +1 -1
- package/dist/src/observability/inbox-view-model.js +9 -0
- package/dist/src/observability/inbox-view-model.js.map +1 -1
- package/dist/src/observability/inbox.d.ts +2 -0
- package/dist/src/observability/inbox.d.ts.map +1 -1
- package/dist/src/observability/inbox.js +16 -2
- package/dist/src/observability/inbox.js.map +1 -1
- package/dist/src/observability/problem-patterns.d.ts +1 -0
- package/dist/src/observability/problem-patterns.d.ts.map +1 -1
- package/dist/src/observability/problem-patterns.js +8 -8
- package/dist/src/observability/problem-patterns.js.map +1 -1
- package/dist/src/observability/resolved-review.d.ts +25 -0
- package/dist/src/observability/resolved-review.d.ts.map +1 -0
- package/dist/src/observability/resolved-review.js +231 -0
- package/dist/src/observability/resolved-review.js.map +1 -0
- package/dist/src/observability/review-state.d.ts +9 -2
- package/dist/src/observability/review-state.d.ts.map +1 -1
- package/dist/src/observability/review-state.js +40 -2
- package/dist/src/observability/review-state.js.map +1 -1
- package/dist/src/observability/skill-chain-advisories.js +4 -4
- package/dist/src/observability/skill-chain-advisories.js.map +1 -1
- package/dist/src/observability/skill-chain.d.ts +1 -0
- package/dist/src/observability/skill-chain.d.ts.map +1 -1
- package/dist/src/observability/skill-chain.js +72 -35
- package/dist/src/observability/skill-chain.js.map +1 -1
- package/dist/src/observability/soft-standards.d.ts +130 -0
- package/dist/src/observability/soft-standards.d.ts.map +1 -0
- package/dist/src/observability/soft-standards.js +426 -0
- package/dist/src/observability/soft-standards.js.map +1 -0
- package/dist/src/observability/text-signals.d.ts +7 -0
- package/dist/src/observability/text-signals.d.ts.map +1 -1
- package/dist/src/observability/text-signals.js +88 -4
- package/dist/src/observability/text-signals.js.map +1 -1
- package/dist/src/observability/trace-segmenter.d.ts.map +1 -1
- package/dist/src/observability/trace-segmenter.js +4 -2
- package/dist/src/observability/trace-segmenter.js.map +1 -1
- package/dist/src/observability/trace-source.d.ts.map +1 -1
- package/dist/src/observability/trace-source.js +13 -3
- package/dist/src/observability/trace-source.js.map +1 -1
- package/dist/src/renderer/observation-inbox-renderer.d.ts.map +1 -1
- package/dist/src/renderer/observation-inbox-renderer.js +5914 -924
- package/dist/src/renderer/observation-inbox-renderer.js.map +1 -1
- package/dist/src/renderer/skill-detail-renderer.d.ts.map +1 -1
- package/dist/src/renderer/skill-detail-renderer.js +15 -5
- package/dist/src/renderer/skill-detail-renderer.js.map +1 -1
- package/dist/src/renderer/skill-list-renderer.d.ts.map +1 -1
- package/dist/src/renderer/skill-list-renderer.js +10 -3
- package/dist/src/renderer/skill-list-renderer.js.map +1 -1
- package/dist/src/renderer/test-view.js +2 -2
- package/dist/src/renderer/test-view.js.map +1 -1
- package/dist/src/server/report-server.d.ts.map +1 -1
- package/dist/src/server/report-server.js +95 -2
- package/dist/src/server/report-server.js.map +1 -1
- package/dist/src/server/skill-index.d.ts +5 -1
- package/dist/src/server/skill-index.d.ts.map +1 -1
- package/dist/src/server/skill-index.js +72 -26
- package/dist/src/server/skill-index.js.map +1 -1
- package/dist/src/server/skill-insights.d.ts +10 -1
- package/dist/src/server/skill-insights.d.ts.map +1 -1
- package/dist/src/server/skill-insights.js +113 -1
- package/dist/src/server/skill-insights.js.map +1 -1
- package/dist/src/shared/hard-rules.d.ts +2 -0
- package/dist/src/shared/hard-rules.d.ts.map +1 -1
- package/dist/src/shared/hard-rules.js +42 -0
- package/dist/src/shared/hard-rules.js.map +1 -1
- package/dist/src/shared/llm-prompts/index.d.ts +14 -0
- package/dist/src/shared/llm-prompts/index.d.ts.map +1 -0
- package/dist/src/shared/llm-prompts/index.js +35 -0
- package/dist/src/shared/llm-prompts/index.js.map +1 -0
- package/dist/src/shared/llm-prompts/skill-health.d.ts +22 -0
- package/dist/src/shared/llm-prompts/skill-health.d.ts.map +1 -0
- package/dist/src/shared/llm-prompts/skill-health.js +170 -0
- package/dist/src/shared/llm-prompts/skill-health.js.map +1 -0
- package/dist/src/types/doctor.d.ts +2 -0
- package/dist/src/types/doctor.d.ts.map +1 -1
- package/dist/src/types/eval.d.ts +6 -1
- package/dist/src/types/eval.d.ts.map +1 -1
- package/dist/src/types/report.d.ts +6 -0
- package/dist/src/types/report.d.ts.map +1 -1
- package/docs/prompts/llm-enhanced-review.prompt.md +111 -0
- package/package.json +29 -4
- package/dist/src/cli/cli-exit.d.ts +0 -15
- package/dist/src/cli/cli-exit.d.ts.map +0 -1
- package/dist/src/cli/cli-exit.js +0 -19
- package/dist/src/cli/cli-exit.js.map +0 -1
- package/dist/src/cli/commands/_shared.d.ts.map +0 -1
- package/dist/src/cli/commands/_shared.js.map +0 -1
- package/dist/src/cli/commands/eval-gold.d.ts +0 -2
- package/dist/src/cli/commands/eval-gold.d.ts.map +0 -1
- package/dist/src/cli/commands/eval-gold.js +0 -137
- package/dist/src/cli/commands/eval-gold.js.map +0 -1
- package/dist/src/cli/commands/eval-runner.d.ts +0 -2
- package/dist/src/cli/commands/eval-runner.d.ts.map +0 -1
- package/dist/src/cli/commands/eval-runner.js.map +0 -1
- package/dist/src/cli/commands/eval.d.ts +0 -2
- package/dist/src/cli/commands/eval.d.ts.map +0 -1
- package/dist/src/cli/commands/eval.js +0 -11
- package/dist/src/cli/commands/eval.js.map +0 -1
- package/dist/src/cli/commands/observe.d.ts +0 -2
- package/dist/src/cli/commands/observe.d.ts.map +0 -1
- package/dist/src/cli/commands/observe.js +0 -247
- package/dist/src/cli/commands/observe.js.map +0 -1
- package/dist/src/cli/commands/registry.d.ts +0 -11
- package/dist/src/cli/commands/registry.d.ts.map +0 -1
- package/dist/src/cli/commands/registry.js +0 -32
- package/dist/src/cli/commands/registry.js.map +0 -1
- package/dist/src/cli/i18n-dict.d.ts.map +0 -1
- package/dist/src/cli/i18n-dict.js.map +0 -1
- package/dist/src/cli/i18n.d.ts.map +0 -1
- package/dist/src/cli/i18n.js.map +0 -1
- package/dist/src/cli/parse-run-config.d.ts.map +0 -1
- package/dist/src/cli/parse-run-config.js.map +0 -1
- package/dist/src/cli/parse-strict.d.ts +0 -7
- package/dist/src/cli/parse-strict.d.ts.map +0 -1
- package/dist/src/cli/parse-strict.js +0 -26
- package/dist/src/cli/parse-strict.js.map +0 -1
- package/dist/src/cli/progress.d.ts.map +0 -1
- package/dist/src/cli/progress.js.map +0 -1
- package/dist/src/cli/run-tally.d.ts.map +0 -1
- package/dist/src/cli/run-tally.js.map +0 -1
- package/dist/src/cli/update-check.d.ts.map +0 -1
- package/dist/src/cli/update-check.js.map +0 -1
- /package/dist/src/cli/{progress.d.ts → lib/progress.d.ts} +0 -0
- /package/dist/src/cli/{progress.js → lib/progress.js} +0 -0
- /package/dist/src/cli/{run-tally.js → lib/run-tally.js} +0 -0
- /package/dist/src/cli/{update-check.d.ts → lib/update-check.d.ts} +0 -0
- /package/dist/src/cli/{update-check.js → lib/update-check.js} +0 -0
|
@@ -1,112 +1,63 @@
|
|
|
1
1
|
import { sanitizeGeneratedSamples } from './generator.js';
|
|
2
|
-
|
|
3
|
-
const FIX_SYSTEM_PROMPT = `你是一个评测用例修复专家。根据诊断信息修复有设计缺陷的评测用例(sample)。
|
|
2
|
+
const FIX_SYSTEM_PROMPT = `你是一个评测用例修复专家。根据诊断信息和失败断言修复评测用例(sample)。
|
|
4
3
|
|
|
5
4
|
修复原则:
|
|
6
|
-
1.
|
|
7
|
-
2.
|
|
8
|
-
3.
|
|
9
|
-
4.
|
|
10
|
-
5.
|
|
11
|
-
6.
|
|
5
|
+
1. 先分析失败原因——是 sample 设计问题(mock 缺失 / 断言写错 / 工具名不匹配)还是 LLM 行为问题(LLM 真的做错了,低分合理)
|
|
6
|
+
2. **如果是 LLM 行为问题(低分合理),不要改 sample,原样返回**
|
|
7
|
+
3. 如果是 sample 设计问题,修复 mocks / assertions / environment,必要时微调 rubric
|
|
8
|
+
4. 保持 sample_id 不变,保持测试意图不变
|
|
9
|
+
5. provenance 只能使用现有合法枚举: "human" / "llm-generated" / "production-trace"。不要发明 "llm-generated-fixed"、"fixed" 等新值;不确定时保留原值或用 "llm-generated"
|
|
10
|
+
6. 断言修复只保留核心行为节点:必要输出位置、必须/禁止的关键副作用、关键安全约束。不要为了贴合某次执行轨迹而绑定具体工具、命令形态、文案、完整步骤顺序或临时实现细节
|
|
11
|
+
7. 常见 sample 设计问题:
|
|
12
|
+
- mock 缺失:LLM 调用被 mock-strict 拦截,需要补 mock
|
|
13
|
+
- 工具名不匹配:断言写 Write:X 但场景是修改(应该是 Edit:X),或反之
|
|
14
|
+
- mock 返回格式不对:通配 mock 返回了文件内容但 Glob 工具期望路径列表
|
|
15
|
+
- 断言过严:检查了不该检查的细节
|
|
16
|
+
8. 不要删除整条用例
|
|
17
|
+
9. **只能修改 sample,绝对不能建议修改 SKILL.md** — skill 是被测对象,fix 只优化测试用例本身
|
|
12
18
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
输出一个 **JSON 数组**,包含所有待修复 sample(修改过的和原样保留的都要包含)。
|
|
20
|
+
第一字符 \`[\`,最后 \`]\`,不要用 \`\`\`json\`\`\` 围栏,不要寒暄。
|
|
21
|
+
如果判断某条是 LLM 行为问题不需要改,也原样放进数组。`;
|
|
22
|
+
function sanitizeFixedSamples(samples, skillContent) {
|
|
23
|
+
sanitizeGeneratedSamples(samples, { skillContent });
|
|
24
|
+
return samples;
|
|
17
25
|
}
|
|
18
|
-
function
|
|
19
|
-
|
|
26
|
+
function fixAttempts(sample) {
|
|
27
|
+
const meta = sample.omkFix;
|
|
28
|
+
if (!meta || typeof meta !== 'object')
|
|
29
|
+
return 0;
|
|
30
|
+
const attempts = meta.attempts;
|
|
31
|
+
return typeof attempts === 'number' && Number.isFinite(attempts) ? attempts : 0;
|
|
20
32
|
}
|
|
21
|
-
function
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
if (candidate.mocksStrict !== undefined && typeof candidate.mocksStrict !== 'boolean') {
|
|
30
|
-
throw new Error('mocksStrict must be boolean when present');
|
|
31
|
-
}
|
|
32
|
-
const normalized = cloneJson(candidate);
|
|
33
|
-
const { stripped } = sanitizeGeneratedSamples([normalized], { skillContent });
|
|
34
|
-
if (stripped.length > 0) {
|
|
35
|
-
throw new Error(`fixed sample failed sanitizer: ${stripped.join('; ')}`);
|
|
36
|
-
}
|
|
37
|
-
validateSamples([normalized]);
|
|
38
|
-
const merged = cloneJson(original);
|
|
39
|
-
merged.sample_id = sampleId;
|
|
40
|
-
for (const field of FIXABLE_FIELDS) {
|
|
41
|
-
const touchedByFix = hasOwn(fixed, field) || (field === 'mocksStrict' && hasOwn(fixed, 'mocks'));
|
|
42
|
-
if (!touchedByFix)
|
|
43
|
-
continue;
|
|
44
|
-
const normalizedRecord = normalized;
|
|
45
|
-
if (hasOwn(normalizedRecord, field)) {
|
|
46
|
-
merged[field] = normalizedRecord[field];
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
delete merged[field];
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
const sample = merged;
|
|
53
|
-
validateSamples([sample]);
|
|
54
|
-
return {
|
|
55
|
-
sample,
|
|
56
|
-
changed: JSON.stringify(sample) !== JSON.stringify(original),
|
|
33
|
+
function stampFixMetadata(sample, reportId) {
|
|
34
|
+
sample.omkFix = {
|
|
35
|
+
...(typeof sample.omkFix === 'object' && sample.omkFix !== null ? sample.omkFix : {}),
|
|
36
|
+
attempts: fixAttempts(sample) + 1,
|
|
37
|
+
lastFixedAt: new Date().toISOString(),
|
|
38
|
+
lastReportId: reportId,
|
|
57
39
|
};
|
|
58
40
|
}
|
|
59
|
-
function
|
|
60
|
-
const skillPreview = skillContent.length > 8000
|
|
61
|
-
? skillContent.slice(0, 8000) + '\n\n... (truncated)'
|
|
62
|
-
: skillContent;
|
|
63
|
-
const failedList = ctx.failedAssertions
|
|
64
|
-
.filter((a) => !a.passed)
|
|
65
|
-
.map((a) => `- ${a.type}: ${a.value}`)
|
|
66
|
-
.join('\n');
|
|
67
|
-
return `## 原始 Sample
|
|
68
|
-
|
|
69
|
-
${JSON.stringify(ctx.originalSample, null, 2)}
|
|
70
|
-
|
|
71
|
-
## 诊断信息
|
|
72
|
-
|
|
73
|
-
- 归因:sample_design
|
|
74
|
-
- 诊断摘要:${ctx.diagnosticSummary}
|
|
75
|
-
- 期望行为:${ctx.expected}
|
|
76
|
-
- 实际行为:${ctx.actual}
|
|
77
|
-
- Sample 修改建议:${ctx.suggestionSample || '(无)'}
|
|
78
|
-
|
|
79
|
-
## 失败的断言
|
|
80
|
-
|
|
81
|
-
${failedList || '(无)'}
|
|
82
|
-
|
|
83
|
-
## Skill 原文(参考)
|
|
84
|
-
|
|
85
|
-
${skillPreview}
|
|
86
|
-
|
|
87
|
-
请根据诊断信息修复这个 sample。直接输出修复后的完整 sample JSON 对象。`;
|
|
88
|
-
}
|
|
89
|
-
function parseFixedSample(text) {
|
|
41
|
+
function parseFixedSamples(text) {
|
|
90
42
|
let cleaned = text.trim();
|
|
91
|
-
// Strip markdown code fences
|
|
92
43
|
if (cleaned.startsWith('```')) {
|
|
93
44
|
cleaned = cleaned.replace(/^```(?:json)?\s*\n?/, '').replace(/\n?```\s*$/, '');
|
|
94
45
|
}
|
|
95
46
|
try {
|
|
96
|
-
const
|
|
97
|
-
if (
|
|
98
|
-
return
|
|
47
|
+
const arr = JSON.parse(cleaned);
|
|
48
|
+
if (Array.isArray(arr) && arr.every((x) => x && typeof x === 'object' && !Array.isArray(x)))
|
|
49
|
+
return arr;
|
|
99
50
|
}
|
|
100
51
|
catch { /* fall through */ }
|
|
101
|
-
// Try to extract first JSON
|
|
102
|
-
const start = cleaned.indexOf('
|
|
52
|
+
// Try to extract first JSON array
|
|
53
|
+
const start = cleaned.indexOf('[');
|
|
103
54
|
if (start < 0)
|
|
104
55
|
return null;
|
|
105
56
|
let depth = 0;
|
|
106
57
|
for (let i = start; i < cleaned.length; i++) {
|
|
107
|
-
if (cleaned[i] === '
|
|
58
|
+
if (cleaned[i] === '[')
|
|
108
59
|
depth++;
|
|
109
|
-
else if (cleaned[i] === '
|
|
60
|
+
else if (cleaned[i] === ']') {
|
|
110
61
|
depth--;
|
|
111
62
|
if (depth === 0) {
|
|
112
63
|
try {
|
|
@@ -121,66 +72,142 @@ function parseFixedSample(text) {
|
|
|
121
72
|
return null;
|
|
122
73
|
}
|
|
123
74
|
export async function fixSamples(options) {
|
|
124
|
-
const { skillContent, samples, report, treatmentKey, executor, model = 'opus' } = options;
|
|
75
|
+
const { skillContent, samples, report, treatmentKey, executor, model = 'opus', maxAttemptsPerSample = 2 } = options;
|
|
125
76
|
const sampleMap = new Map(samples.map((s) => [s.sample_id, s]));
|
|
126
|
-
|
|
127
|
-
const
|
|
77
|
+
// Collect all fixable samples into one batch
|
|
78
|
+
const fixContexts = [];
|
|
79
|
+
const skippedByAttempts = [];
|
|
128
80
|
for (const entry of report.results) {
|
|
129
81
|
const variant = entry.variants?.[treatmentKey];
|
|
130
82
|
if (!variant)
|
|
131
83
|
continue;
|
|
132
84
|
const variantObj = variant;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if (
|
|
85
|
+
if (variantObj.ok === false)
|
|
86
|
+
continue;
|
|
87
|
+
const assertionDetails = variantObj.assertions?.details ?? [];
|
|
88
|
+
if (assertionDetails.length === 0 || assertionDetails.every((d) => d.passed))
|
|
137
89
|
continue;
|
|
138
90
|
const sid = entry.sample_id;
|
|
139
91
|
const original = sampleMap.get(sid);
|
|
140
|
-
if (!original)
|
|
141
|
-
|
|
92
|
+
if (!original)
|
|
93
|
+
continue;
|
|
94
|
+
if (fixAttempts(original) >= maxAttemptsPerSample) {
|
|
95
|
+
skippedByAttempts.push(sid);
|
|
142
96
|
continue;
|
|
143
97
|
}
|
|
144
|
-
const
|
|
145
|
-
const diag = variantAny.diagnostic;
|
|
98
|
+
const diag = variantObj.diagnostic;
|
|
146
99
|
const suggestion = diag?.suggestion;
|
|
147
|
-
|
|
148
|
-
const ctx = {
|
|
100
|
+
fixContexts.push({
|
|
149
101
|
sampleId: sid,
|
|
150
102
|
originalSample: original,
|
|
151
103
|
diagnosticSummary: diag?.summary ?? '',
|
|
152
104
|
expected: diag?.expected ?? '',
|
|
153
105
|
actual: diag?.actual ?? '',
|
|
154
106
|
suggestionSample: suggestion?.sample ?? '',
|
|
107
|
+
rootCause: diag?.rootCause ?? [],
|
|
155
108
|
failedAssertions: assertionDetails,
|
|
109
|
+
toolCalls: (variantObj.toolCalls ?? []),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
if (fixContexts.length === 0) {
|
|
113
|
+
return {
|
|
114
|
+
samples,
|
|
115
|
+
fixedCount: 0,
|
|
116
|
+
costUSD: 0,
|
|
117
|
+
fixes: skippedByAttempts.map((sampleId) => ({ sampleId, changed: false, error: `max attempts reached (${maxAttemptsPerSample})` })),
|
|
156
118
|
};
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
119
|
+
}
|
|
120
|
+
// Build one batch prompt with all failing samples
|
|
121
|
+
const skillPreview = skillContent.length > 6000
|
|
122
|
+
? skillContent.slice(0, 6000) + '\n\n... (truncated)'
|
|
123
|
+
: skillContent;
|
|
124
|
+
const sampleSections = fixContexts.map((ctx) => {
|
|
125
|
+
const failedList = ctx.failedAssertions
|
|
126
|
+
.filter((a) => !a.passed)
|
|
127
|
+
.map((a) => ` - ${a.type}: ${a.value}`)
|
|
128
|
+
.join('\n');
|
|
129
|
+
const toolCallsSummary = ctx.toolCalls.length > 0
|
|
130
|
+
? ctx.toolCalls.map((tc, i) => ` [${i}] ${tc.tool} success=${tc.success} input=${JSON.stringify(tc.input).slice(0, 150)}`).join('\n')
|
|
131
|
+
: ' (无工具调用)';
|
|
132
|
+
return `### ${ctx.sampleId}
|
|
133
|
+
|
|
134
|
+
原始 sample:
|
|
135
|
+
${JSON.stringify(ctx.originalSample, null, 2)}
|
|
136
|
+
|
|
137
|
+
诊断: ${ctx.rootCause.join(', ') || '(无)'} — ${ctx.diagnosticSummary}
|
|
138
|
+
期望: ${ctx.expected}
|
|
139
|
+
实际: ${ctx.actual}
|
|
140
|
+
建议: ${ctx.suggestionSample || '(无)'}
|
|
141
|
+
|
|
142
|
+
失败断言:
|
|
143
|
+
${failedList || '(无)'}
|
|
144
|
+
|
|
145
|
+
实际工具调用:
|
|
146
|
+
${toolCallsSummary}`;
|
|
147
|
+
}).join('\n\n---\n\n');
|
|
148
|
+
const prompt = `以下有 ${fixContexts.length} 条失败的评测用例需要分析修复。
|
|
149
|
+
|
|
150
|
+
## Skill 原文(参考,不可修改)
|
|
151
|
+
|
|
152
|
+
${skillPreview}
|
|
153
|
+
|
|
154
|
+
## 待修复的用例
|
|
155
|
+
|
|
156
|
+
${sampleSections}
|
|
157
|
+
|
|
158
|
+
请分析每条用例的失败原因,判断是 sample 设计问题还是 LLM 行为问题。若是 sample 设计问题,优先把断言收敛到核心行为节点,放松易随机的工具/命令/文案/完整步骤绑定;不要为了过用例而要求修改 SKILL.md,也不要把 skill 的完整流程细节塞进 sample。输出一个 JSON 数组,包含所有 ${fixContexts.length} 条 sample(修改过的和原样保留的都要包含)。`;
|
|
159
|
+
try {
|
|
160
|
+
const result = await executor({ model, system: FIX_SYSTEM_PROMPT, prompt, timeoutMs: 300_000 });
|
|
161
|
+
if (!result.ok) {
|
|
162
|
+
return {
|
|
163
|
+
samples,
|
|
164
|
+
fixedCount: 0,
|
|
165
|
+
costUSD: result.costUSD,
|
|
166
|
+
fixes: fixContexts.map((ctx) => ({ sampleId: ctx.sampleId, changed: false, error: 'executor failed' })),
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
const fixedArr = parseFixedSamples(result.text);
|
|
170
|
+
if (!fixedArr) {
|
|
171
|
+
return {
|
|
172
|
+
samples,
|
|
173
|
+
fixedCount: 0,
|
|
174
|
+
costUSD: result.costUSD,
|
|
175
|
+
fixes: fixContexts.map((ctx) => ({ sampleId: ctx.sampleId, changed: false, error: 'failed to parse LLM response as JSON array' })),
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
const sanitizedFixedArr = sanitizeFixedSamples(fixedArr, skillContent);
|
|
179
|
+
const fixes = [];
|
|
180
|
+
for (const fixed of sanitizedFixedArr) {
|
|
181
|
+
const sid = fixed.sample_id;
|
|
182
|
+
if (!sid)
|
|
163
183
|
continue;
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
if (!fixed) {
|
|
167
|
-
fixes.push({ sampleId: sid, changed: false, error: 'failed to parse LLM response as JSON' });
|
|
184
|
+
const original = sampleMap.get(sid);
|
|
185
|
+
if (!original)
|
|
168
186
|
continue;
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
if (
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
catch (err) {
|
|
176
|
-
fixes.push({ sampleId: sid, changed: false, error: String(err) });
|
|
187
|
+
const changed = JSON.stringify(fixed) !== JSON.stringify(original);
|
|
188
|
+
fixed.sample_id = sid;
|
|
189
|
+
if (changed)
|
|
190
|
+
stampFixMetadata(fixed, report.id);
|
|
191
|
+
sampleMap.set(sid, fixed);
|
|
192
|
+
fixes.push({ sampleId: sid, changed });
|
|
177
193
|
}
|
|
194
|
+
return {
|
|
195
|
+
samples: samples.map((s) => sampleMap.get(s.sample_id) ?? s),
|
|
196
|
+
fixedCount: fixes.filter((f) => f.changed).length,
|
|
197
|
+
costUSD: result.costUSD,
|
|
198
|
+
fixes: [
|
|
199
|
+
...fixes,
|
|
200
|
+
...skippedByAttempts.map((sampleId) => ({ sampleId, changed: false, error: `max attempts reached (${maxAttemptsPerSample})` })),
|
|
201
|
+
],
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
catch (err) {
|
|
205
|
+
return {
|
|
206
|
+
samples,
|
|
207
|
+
fixedCount: 0,
|
|
208
|
+
costUSD: 0,
|
|
209
|
+
fixes: fixContexts.map((ctx) => ({ sampleId: ctx.sampleId, changed: false, error: String(err) })),
|
|
210
|
+
};
|
|
178
211
|
}
|
|
179
|
-
return {
|
|
180
|
-
samples: samples.map((s) => sampleMap.get(s.sample_id) ?? s),
|
|
181
|
-
fixedCount: fixes.filter((f) => f.changed).length,
|
|
182
|
-
costUSD: totalCost,
|
|
183
|
-
fixes,
|
|
184
|
-
};
|
|
185
212
|
}
|
|
186
213
|
//# sourceMappingURL=sample-fixer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample-fixer.js","sourceRoot":"","sources":["../../../src/authoring/sample-fixer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sample-fixer.js","sourceRoot":"","sources":["../../../src/authoring/sample-fixer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,26 @@
|
|
|
1
|
-
|
|
1
|
+
import { BaseCommand } from '../oclif/base-command.js';
|
|
2
|
+
export default class Doctor extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: {
|
|
5
|
+
description: string;
|
|
6
|
+
command: string;
|
|
7
|
+
}[];
|
|
8
|
+
static args: {
|
|
9
|
+
target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
10
|
+
};
|
|
11
|
+
static flags: {
|
|
12
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
gate: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
executor: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
model: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
samples: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
timeout: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
html: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
'static-only': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
fix: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
22
|
+
effort: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
};
|
|
24
|
+
run(): Promise<void>;
|
|
25
|
+
}
|
|
2
26
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAkDvD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,WAAW,SAGf;IAEH,MAAM,CAAC,QAAQ;;;QAsBb;IAEF,MAAM,CAAC,IAAI;;MAQT;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAmEV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkH3B"}
|