@sokeai/cli 1.0.75 → 1.0.77
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 +7 -7
- package/package.json +1 -1
- package/scripts/build-binaries.sh +1 -1
- package/scripts/e2e-test.sh +75 -3
- package/skills/SKILL.md +18 -1
- package/skills/soke-ai-coach-director/CHANGELOG.md +203 -0
- package/skills/soke-ai-coach-director/README.md +123 -0
- package/skills/soke-ai-coach-director/SKILL.md +221 -0
- package/skills/soke-ai-coach-director/coaching/knowledge-packager/knowledge-packager.md +91 -0
- package/skills/soke-ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +97 -0
- package/skills/{ai-coach-director → soke-ai-coach-director}/coaching/prompt-engineer/parts/part3-flow.md +3 -3
- package/skills/soke-ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +76 -0
- package/skills/{ai-coach-director → soke-ai-coach-director}/coaching/prompt-optimizer/prompt-optimizer.md +77 -58
- package/skills/{ai-coach-director → soke-ai-coach-director}/platform/adapters/workbuddy.md +2 -3
- package/skills/soke-ai-coach-director/platform/interaction.md +103 -0
- package/skills/{ai-coach-director → soke-ai-coach-director}/platform/publish-gate.md +3 -3
- package/skills/{ai-coach-director → soke-ai-coach-director}/platform/resource-finalizer.md +10 -35
- package/skills/{ai-coach-director → soke-ai-coach-director}/platform/soke-ai-training/soke-ai-training.md +33 -3
- package/skills/soke-ai-coach-director/platform/sync-engine.md +39 -0
- package/skills/{ai-coach-director → soke-ai-coach-director}/references/change-log-partwise-refactor.md +1 -1
- package/skills/soke-ai-coach-director/references/env-check.md +146 -0
- package/skills/soke-ai-coach-director/references/exec-common.md +126 -0
- package/skills/soke-ai-coach-director/references/exec-handbook.md +621 -0
- package/skills/soke-ai-coach-director/references/exec-part1.md +86 -0
- package/skills/soke-ai-coach-director/references/exec-part2.md +145 -0
- package/skills/soke-ai-coach-director/references/exec-part3.md +91 -0
- package/skills/soke-ai-coach-director/references/exec-part4.md +187 -0
- package/skills/soke-ai-coach-director/references/gate-check-matrix.md +46 -0
- package/skills/soke-ai-coach-director/references/micro-tune-labels.md +30 -0
- package/skills/soke-ai-coach-director/references/platform-api-pitfalls.md +49 -0
- package/skills/soke-ai-coach-director/references/role-resource-matching.md +45 -0
- package/skills/{ai-coach-director → soke-ai-coach-director}/references/self-improvement-examples.md +2 -0
- package/skills/soke-ai-coach-director/references/self-learning-engine.md +489 -0
- package/skills/soke-ai-coach-director/references/subs/part1/SOP.md +17 -0
- package/skills/soke-ai-coach-director/references/subs/part2/SOP.md +34 -0
- package/skills/soke-ai-coach-director/references/subs/part3/SOP.md +27 -0
- package/skills/soke-ai-coach-director/references/subs/part4/SOP.md +31 -0
- package/skills/soke-ai-coach-director/references/subs/publish/SOP.md +81 -0
- package/skills/soke-ai-coach-director/references/subs/tune/SOP.md +92 -0
- package/skills/soke-ai-coach-director/references/verified-cli-cheatsheet.md +56 -0
- package/skills/{ai-coach-director → soke-ai-coach-director}/scripts/activator.sh +0 -0
- package/skills/{ai-coach-director → soke-ai-coach-director}/scripts/error-detector.sh +0 -0
- package/skills/{ai-coach-director → soke-ai-coach-director}/scripts/extract-skill.sh +0 -0
- package/skills/soke-ai-coach-director/scripts/gate_check.py +112 -0
- package/skills/soke-ai-coach-director/scripts/validate_operations.py +403 -0
- package/skills/soke-certificate/SKILL.md +717 -0
- package/skills/soke-course/README.md +12 -2
- package/skills/soke-course/SKILL.md +12 -10
- package/skills/soke-course/references/course-list-courses.md +49 -84
- package/skills/soke-course/references/intent-cases.md +8 -8
- package/skills/soke-course/references/sop-full-workflow.md +11 -6
- package/skills/soke-course/references/sop-publish-check.md +3 -1
- package/skills/soke-course/references/subs/publish/SOP.md +34 -4
- package/skills/soke-course/references/subs/query/SOP.md +9 -7
- package/skills/soke-course/references/subs/settings/SOP.md +87 -25
- package/skills/soke-exam-question-pool/SKILL.md +80 -112
- package/skills/soke-task/SKILL.md +32 -10
- package/skills/soke-training-demand/SKILL.md +150 -43
- package/skills/ai-coach-director/SKILL.md +0 -1563
- package/skills/ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +0 -317
- package/skills/ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +0 -244
- package/skills/ai-coach-director/platform/interaction.md +0 -315
- package/skills/ai-coach-director/platform/sync-engine.md +0 -1101
- package/skills/ai-coach-director/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277_/346/240/207/345/207/206/347/237/245/350/257/206/345/272/223.md +0 -199
- package/skills/ai-coach-director/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277/347/237/245/350/257/206/345/272/223.md +0 -388
- package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/tuv-knowledge-base.md +0 -125
- package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/tuv-p03-first-call-scenario-prompt.md +0 -428
- package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204P03/351/231/252/347/273/203/346/211/247/350/241/214/346/226/271/346/241/210_20260610.md +0 -225
- package/skills/ai-coach-director/references/cases/create//346/237/220/345/234/260/346/226/271/351/223/266/350/241/214//346/237/220/345/234/260/346/226/271/351/223/266/350/241/214/345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277AI/351/231/252/347/273/203/346/265/213/350/257/225/347/224/250/344/276/213/345/220/210/351/233/206.md +0 -525
- package/skills/ai-coach-director/references/cases/create//347/211/251/346/265/201/350/241/214/344/270/232//347/211/251/346/265/201/350/241/214/344/270/232-/345/210/235/346/254/241/346/213/234/350/256/277/351/246/231/347/262/276/351/246/231/346/226/231/345/256/242/346/210/267.md +0 -146
- package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2061_/346/226/260/345/223/201/346/216/250/351/224/200_20260701.md +0 -230
- package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2062_/345/202/254/350/217/234/345/256/211/346/212/232_20260701.md +0 -257
- package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2063_/345/267/256/350/257/204/345/233/236/350/256/277_20260701.md +0 -259
- package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203/345/234/272/346/231/257/346/226/271/346/241/210_20260701.md +0 -452
- package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/345/256/242/346/210/267/347/241/256/350/256/244/345/217/215/351/246/210/350/241/250.md +0 -133
- package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215_v1.md +0 -333
- package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215_v2_Part1-Part5.md +0 -649
- package/skills/ai-coach-director/references/env-check.md +0 -167
- package/skills/ai-coach-director/references/platform-api-pitfalls.md +0 -232
- package/skills/ai-coach-director/references/role-resource-matching.md +0 -349
- package/skills/ai-coach-director/references/verified-cli-cheatsheet.md +0 -203
- /package/skills/{ai-coach-director → soke-ai-coach-director}/assets/ERRORS-TEMPLATE.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/assets/FEATURE_REQUESTS-TEMPLATE.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/assets/LEARNINGS-TEMPLATE.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/assets/SKILL-TEMPLATE.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/coaching/prompt-engineer/parts/part1-basic.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/coaching/prompt-engineer/parts/part4-scoring.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/coaching/prompt-engineer/parts/part5-constraints.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/coaching/role-profiler/role-profiler.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/platform/adapters/README.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/platform/adapters/qclaw.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/platform/adapters/wukong.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/platform/adapters/zework.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/platform/api-fallback.md +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/345/256/242/346/210/267/350/247/222/350/211/262/346/250/241/346/235/277/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/231/252/347/273/203Bad Case/346/240/267/346/234/254/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/231/252/347/273/203/345/210/233/345/273/272/351/227/256/351/242/230/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/231/252/347/273/203/345/234/272/346/231/257/345/210/206/347/261/273/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/231/252/347/273/203/345/256/242/346/210/267/346/235/220/346/226/231/346/270/205/345/215/225/344/270/216/350/256/277/350/260/210/351/242/230/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/231/252/347/273/203/345/276/256/350/260/203/351/227/256/351/242/230/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/231/252/347/273/203/346/212/200/346/234/257/350/276/271/347/225/214/344/270/216/346/216/222/351/232/234/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215/346/250/241/345/235/227/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/231/252/347/273/203/346/225/260/346/215/256/346/214/207/346/240/207/344/270/216/347/234/213/346/235/277/345/217/243/345/276/204/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/231/252/347/273/203/346/265/213/350/257/225/347/224/250/344/276/213/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/231/252/347/273/203/350/257/204/345/210/206/346/240/207/345/207/206/347/273/204/344/273/266/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/231/252/347/273/203/351/241/271/347/233/256/346/241/210/344/276/213/345/244/215/347/233/230/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/AI/351/241/276/345/256/242/350/247/222/350/211/262/346/250/241/346/213/237_GoodCase_BadCase_20260701.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/345/256/242/346/210/267/346/235/220/346/226/231/346/261/207/346/200/273_2026-05-19_1341.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/create//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267/347/237/245/350/257/206/345/272/223/347/224/237/346/210/220_20260615.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/create//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215/347/224/237/346/210/220_20260615.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/351/231/252/347/273/203/346/211/247/350/241/214/346/226/271/346/241/210/344/272/244/344/273/230/350/256/260/345/275/225_20260610.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/346/217/220/347/244/272/350/257/215/346/220/255/345/273/272_20260622.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_V1.1_20260616.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_V1.2_20260616.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/345/216/213/347/274/251/347/211/210_V2.0_20260616.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215/344/274/230/345/214/226_20260616.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277AI/351/231/252/347/273/203/347/263/273/347/273/237_/346/265/213/350/257/225/345/217/215/351/246/210/346/261/207/346/200/273_2026-06-01.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277KYC/344/277/241/344/273/273/345/200/274/347/246/201/344/273/244_2026-06-09_0932.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277KYC/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v2_20260608.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v1.1.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v1.2.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215/344/274/230/345/214/226_V2_/350/257/212/346/226/255/344/272/244/344/273/230_20260609.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases//345/233/233/345/244/247/345/234/272/346/231/257_GoodCase_BadCase_20260701.md" +0 -0
- /package/skills/{ai-coach-director → soke-ai-coach-director}/references/cases//346/241/210/344/276/213/345/272/223/350/241/245/345/205/205_2026-06-24.md" +0 -0
|
@@ -1,1563 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ai-coach-director
|
|
3
|
-
description: AI陪练主管技能。当用户输入业务资料、对话场景、提示词、需求描述、对话问题、评分问题、微调需求或平台同步需求时,自动分析意图、检查输入完整性、调度AI陪练专项技能,并执行资产调用与质量闸门。统一入口,覆盖创建陪练、微调陪练、技术排障、客户交付与平台同步。内置自主学习引擎。v2.20.8:Part 确认后前台不再展示后续后台步骤;Part1 默认封面固定为 lingshou_daogou.png。
|
|
4
|
-
agent_created: true
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# AI陪练主管技能
|
|
8
|
-
|
|
9
|
-
## 技能定位
|
|
10
|
-
|
|
11
|
-
本技能是AI陪练技能体系的**统一调度入口**。它不直接替代专项技能,而是负责:
|
|
12
|
-
|
|
13
|
-
1. 识别任务类型
|
|
14
|
-
2. 检查输入是否足够
|
|
15
|
-
3. 选择应读取的资产库
|
|
16
|
-
4. 调度对应专项技能
|
|
17
|
-
5. 设置质量闸门
|
|
18
|
-
6. 防止技术问题被误当成提示词问题
|
|
19
|
-
7. 平台同步时执行环境前置检测
|
|
20
|
-
8. 端到端编排:创作 → 同步 → 交付
|
|
21
|
-
9. 自主学习与自我进化:每次纠正、失败、漏拦都记录并推广为永久规则
|
|
22
|
-
10. 当平台真实 API 与历史文档冲突时,以最新 CLI 实证、附件《比得_AI陪练CLI创建与更新场景使用指南 2.0》及 `references/platform-api-pitfalls.md` 为准
|
|
23
|
-
11. 场景命令模板统一以 `references/verified-cli-cheatsheet.md` 为抄写基准,避免误写成顶层 `soke-cli +...`
|
|
24
|
-
12. **所有 soke-cli 命令必须绕过沙箱执行**:soke-cli 是 Go 编译的二进制文件,在 WorkBuddy Bash 工具的沙箱中会被限制(表现为 `permission denied`、`operation not permitted`、静默无输出等)。调用 Bash 工具执行任何 soke-cli 命令时,**必须设置 `dangerouslyDisableSandbox: true`**。此规则适用于全部 soke-cli 子命令(`config show`、`auth login`、`ai-training +...` 等),不限于创建型流程
|
|
25
|
-
13. **Part1 封面自动处理 + Part2 拆分同步后台自动执行(v2.14)**:用户在 Part1/Part2 只确认完整内容,不再确认中间执行细节。Part2 确认后,系统先生成完整 `part2-operations.json`,再后台拆分为角色级同步单元(角色1/角色2/角色3/OS),逐个保守写入并回读校验。只有失败时才向用户暴露异常。**若后台同步成功,必须自动继续输出 Part3,禁止停在“正在后台同步”中间态等待用户再次输入。**
|
|
26
|
-
14. **Part3 已知回读问题默认直通(v2.20.3)**:若 Part3 `apply` 成功,但 `get-scenario` 仍未反映 `conversation_steps` 和/或 `opening_dialogue`,按已知平台回读口径异常处理,不再把用户确认 Web 后台可见作为前置闸门。应记录该异常到状态快照,默认继续进入 Part4;仅当 `preview/apply` 本身失败、或后续 Part4/Part5 需要依赖 Part3 字段且出现明确阻塞证据时,才中断排查。
|
|
27
|
-
15. **Part1 封面主策略切换为平台图库择图(v2.20.3)**:Part1 确认后,封面优先从平台图片库/已有真实封面库中选择并写入,作为默认主路径;本地生成图片与上传降级为非主路径,仅在图库/封面库均不可用时才触发。前台仍不展示图片处理过程。
|
|
28
|
-
16. **Part1 创建链路硬约束(v2.20.4)**:Part1 用户确认后,后台**必须立即生成 `part1-create.json` 或沿用 `step1-create.json` 作为创建请求文件,并立即执行 `soke-cli ai-training +create-scenario --request-file ...`**。创建成功后**必须拿到 `scenario_id`** 并写入状态快照。**没有 `scenario_id` 严禁进入 Part2。** 若前台已显示“已确认”但后台未创建成功,必须立即向用户报错并停止,不允许静默继续。
|
|
29
|
-
17. **Part2-Part5 同步成功硬闸门(v2.20.6)**:Part2、Part3、Part4、Part5 在用户确认后,后台都**必须立即生成对应 JSON、执行平台同步、完成验收成功后**,才允许进入下一 Part。若前台已显示“已确认”,但后台未生成 JSON、未执行同步、同步失败、或验收失败,**必须立即向用户报错并停止**,禁止静默继续到后续 Part。**其中 Part2 与 Part3 允许存在“CLI `get-scenario` 回读口径落后于平台实际展示”的已知差异,验收以“preview/apply 成功 + 平台实际展示可见”优先。**
|
|
30
|
-
18. **确认选项 = 后台执行触发器(新增硬约束)**:创建型任务中,所有“确认,同步到平台/同步角色/同步流程设置/同步评分/完成创建”都不是逻辑确认文案,而是**真实后台执行触发器**。用户一旦选择确认,系统必须立即执行:① 生成该 Part 对应 `.json` 文件;② 执行平台同步;③ 执行回读验收。三者缺一不可。**没有 `.json` = 没执行;没有同步成功 = 不得推进;没有验收通过 = 不得视为当前 Part 完成。**
|
|
31
|
-
20. **统一输出参数与文件约定(v2.7)**:场景相关命令默认只解析 `BaseResponse.data`;排障时才追加 `--raw`。需要落盘时优先使用 `--output <file>` 保存返回 JSON。`+preview-scenario-update` / `+apply-scenario-update` 现统一支持两种输入方式:① `--request-file <scenario-update.json>` 传完整更新请求;② `--operations-file <operations.json>` 并搭配 `--base-updated-at`、`--reason`、`--idempotency-key`(仅 apply 必填)。**preview 不需要也不应要求 `--idempotency-key`**
|
|
32
|
-
20. **soke-cli 多版本故障降级(v2.6)**:若默认 `soke-cli` 出现 Node wrapper `spawn Unknown system error -88`、Go 二进制 Exit 137、或 `config show` 因短 token / 空 token 触发 `slice bounds out of range [-4:]` panic,必须立即执行 `references/env-check.md` 的「soke-cli 多版本与配置修复」流程:按优先级探测 `which -a soke-cli`、`/Users/edy/soke-cli/soke-cli/soke-cli`、QClaw npm-global、nvm 安装路径;优先使用能正常 `config show` 和 `auth login` 的本地二进制完成登录;不要反复重试已知坏路径。若配置中 `UserToken` 为 `test_token_12345` 或长度不足 4、`CorpID` 为空,判定为未登录/未绑定,不得进入平台同步
|
|
33
|
-
20. **跨平台适配(v2.4)**:本技能支持在 WorkBuddy、悟空(Wukong)、QClaw、Zework 四大平台运行。交互层按 `platform/adapters/` 加载对应平台的适配器(弹窗/纯文本/IM 对话),业务逻辑层(Part1-5 管线、质量闸门、资产调用)所有平台完全一致。当 soke-cli 在目标平台不可用时,降级为 `platform/api-fallback.md` 的 REST API 直接调用——JSON 结构和字段映射与 CLI 路径完全一致,仅传输方式不同
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## 调度技能清单
|
|
38
|
-
|
|
39
|
-
### 创作管线(coaching/)
|
|
40
|
-
|
|
41
|
-
| 技能 | 功能 | 路径 |
|
|
42
|
-
|------|------|------|
|
|
43
|
-
| `role-profiler` | 可选增强模块:复杂资料 → 按需画像(MBTI+冰山理论+行为模式) | `coaching/role-profiler/role-profiler.md` |
|
|
44
|
-
| `prompt-engineer` | 编排器:工作流 + Part1 + 一致性校验(Part2-5 框架拆分至 `parts/`,Part2 已按真实平台规则升级) | `coaching/prompt-engineer/prompt-engineer.md` |
|
|
45
|
-
| `prompt-optimizer` | 现有提示词/对话问题 → 四段式诊断报告 | `coaching/prompt-optimizer/prompt-optimizer.md` |
|
|
46
|
-
|
|
47
|
-
### 平台同步(platform/)
|
|
48
|
-
|
|
49
|
-
| 技能 | 功能 | 路径 |
|
|
50
|
-
|------|------|------|
|
|
51
|
-
| `soke-ai-training` | 知识包/提示词 → MentorAI 平台同步 | `platform/soke-ai-training/soke-ai-training.md` |
|
|
52
|
-
| `sync-engine` | JSON 生成规则、字段映射表、CLI 命令模板 | `platform/sync-engine.md` |
|
|
53
|
-
| `interaction` | 弹窗交互规则(优先 render_ui 弹窗,兜底结构化文本) | `platform/interaction.md` |
|
|
54
|
-
| `adapters/` | **跨平台交互适配器**(WorkBuddy/悟空/QClaw/Zework) | `platform/adapters/README.md` |
|
|
55
|
-
| `api-fallback` | **REST API 降级方案**(soke-cli 不可用时的 HTTP 直接调用) | `platform/api-fallback.md` |
|
|
56
|
-
| `resource-finalizer` | **资源完善器**(封面/头像/语音回填) | `platform/resource-finalizer.md` |
|
|
57
|
-
| `publish-gate` | **发布闸门**(结构+资源验收后才允许发布) | `platform/publish-gate.md` |
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## 标准任务类型
|
|
62
|
-
|
|
63
|
-
### 1. 创建型
|
|
64
|
-
|
|
65
|
-
从资料、需求、业务场景搭建新陪练。
|
|
66
|
-
|
|
67
|
-
**典型表达**:帮我搭建AI陪练 / 创建陪练场景 / 根据资料生成提示词 / 做一个销售/面访/电话约访陪练
|
|
68
|
-
|
|
69
|
-
> ⚠️ **创建型任务第一步强制执行**:识别为创建型任务后,**立即进入「创建型任务流程(严格顺序管线)」**,不得跳步、不得省略任何步骤。流程起点固定为 **Step 0 环境检测**,经 Step 1-4 后必须进入 **Step 5 Part1 创建同步(先于其他 Part 同步到平台)→ Part2 → Part3 → Part4 → Part5 分段同步**。此规则 **不管是什么平台(WorkBuddy / WebChat / CLI / 纯文本 / 群聊)都强制执行**,任何平台不得跳过 Step 0 或省略 Part1 优先创建同步。若当前运行环境不支持 soke-cli(如纯聊天平台),则引导用户在支持的终端执行环境检测和平台同步步骤。
|
|
70
|
-
|
|
71
|
-
### 2. 微调型
|
|
72
|
-
|
|
73
|
-
已有提示词、对话记录或反馈,需要优化。
|
|
74
|
-
|
|
75
|
-
**典型表达**:优化提示词 / AI不像客户 / 对话不对劲 / 评分不准 / 提前结束 / 信息泄露
|
|
76
|
-
|
|
77
|
-
### 3. 技术排障型
|
|
78
|
-
|
|
79
|
-
涉及 ASR、TTS、权限、跳转、按钮、录音、部署、数据同步等。
|
|
80
|
-
|
|
81
|
-
### 4. 客户交付/复盘型
|
|
82
|
-
|
|
83
|
-
涉及培训包、看板、数据指标、项目复盘、客户验收。(纯流程型,不调度子技能)
|
|
84
|
-
|
|
85
|
-
**流程**:
|
|
86
|
-
1. 确认交付对象(学员/管理者/客户)和交付形式(培训包/看板/报告)
|
|
87
|
-
2. 收集对话数据和评分结果
|
|
88
|
-
3. 按交付对象生成对应物料:
|
|
89
|
-
- 学员侧:个人能力报告 + 薄弱项 + 练习建议
|
|
90
|
-
- 管理者侧:团队看板 + 数据指标 + 趋势分析
|
|
91
|
-
- 客户侧:项目复盘 + ROI 摘要 + 下一步建议
|
|
92
|
-
4. 交付前跑数据完整性检查(指标口径一致、数据无污染)
|
|
93
|
-
|
|
94
|
-
### 5. 平台同步型
|
|
95
|
-
|
|
96
|
-
把知识包/提示词同步到 MentorAI 平台。
|
|
97
|
-
|
|
98
|
-
**典型表达**:同步到平台 / 上传知识包 / 绑定场景 / 编译知识计划 / 发布场景
|
|
99
|
-
|
|
100
|
-
**流程**:
|
|
101
|
-
1. **环境前置检测**:`read references/env-check.md`,按顺序检查 Node.js → soke-cli 安装 → 登录状态 → 企业绑定
|
|
102
|
-
2. 全部通过 → 优先按 `platform/sync-engine.md` 的 Partwise 同步流执行(Step1 create → Part2 → Part3 → Part4 → Part5)
|
|
103
|
-
3. 同步前先参考 `references/platform-api-pitfalls.md` 的已验证差异,避免沿用过时 payload / operation type
|
|
104
|
-
4. 需要复制或核对命令时,统一参考 `references/verified-cli-cheatsheet.md`
|
|
105
|
-
5. 仅当知识库超长或用户明确要求知识包同步时,才追加调度 `platform/soke-ai-training/soke-ai-training.md`
|
|
106
|
-
6. 任一步未通过 → 按 `references/env-check.md` 修复流程引导,不进入同步
|
|
107
|
-
7. 创建型流程在 Step 8 自动执行 `+publish-scenario`;单独发布已有场景时同样走此命令
|
|
108
|
-
8. 在发布前必须先执行 `platform/resource-finalizer.md` 与 `platform/publish-gate.md`:封面、头像、语音任一缺失都禁止发布
|
|
109
|
-
9. 场景列表、快照、恢复能力已纳入标准工具集:不确定 `scenario_id` 时先 `+list-scenarios`; 更新异常先 `+list-scenario-snapshots`, 必要时 `+restore-scenario-snapshot`
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
## 资产调用规则
|
|
114
|
-
|
|
115
|
-
默认资产库路径:`references/cases/`(本技能内置)
|
|
116
|
-
|
|
117
|
-
### 创建型任务必读
|
|
118
|
-
|
|
119
|
-
- `AI陪练客户材料清单与访谈题库.md`
|
|
120
|
-
- `AI陪练场景分类库.md`
|
|
121
|
-
- `AI陪练提示词模块库.md`
|
|
122
|
-
- `AI陪练评分标准组件库.md`
|
|
123
|
-
- `AI陪练测试用例库.md`
|
|
124
|
-
|
|
125
|
-
### 微调型任务必读
|
|
126
|
-
|
|
127
|
-
- `AI陪练微调问题库.md`
|
|
128
|
-
- `AI陪练Bad Case样本库.md`
|
|
129
|
-
- `AI陪练技术边界与排障库.md`
|
|
130
|
-
|
|
131
|
-
### 微调按需选读
|
|
132
|
-
|
|
133
|
-
- 角色不像:`AI客户角色模板库.md`
|
|
134
|
-
- 评分不准:`AI陪练评分标准组件库.md`
|
|
135
|
-
- 信息泄露:`AI陪练提示词模块库.md`
|
|
136
|
-
- 数据问题:`AI陪练数据指标与看板口径库.md`
|
|
137
|
-
- 指令执行偏差(P标签):`AI陪练提示词模块库.md`
|
|
138
|
-
- 对话自然度偏差(N标签):`AI客户角色模板库.md`
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## 创建型任务流程(严格顺序管线)
|
|
143
|
-
|
|
144
|
-
> ⚠️ **强制串行执行(不管什么平台)**:以下 Step 0-8 必须严格按顺序执行,每一步必须完成并通过闸门检查后才能进入下一步。**禁止跳步、禁止并行、禁止省略中间步骤**。如果某一步检测不通过,必须在当前步骤修复后再继续,不可将未解决的问题带入下一步。
|
|
145
|
-
|
|
146
|
-
> ⚠️ **Part1 优先创建同步**:Step 5 内容生成时,**Part1 必须第一个生成并立即同步到平台创建场景**。Part1 创建成功后,再按 Part2 → Part3 → Part4 → Part5 顺序逐 Part 生成并同步。不得先生成全部 5 个 Part 再批量同步,也不得跳过 Part1 直接进入后续 Part。
|
|
147
|
-
|
|
148
|
-
### 管线总览
|
|
149
|
-
|
|
150
|
-
```
|
|
151
|
-
Step 0: 平台就绪检测
|
|
152
|
-
↓ ✅ 环境就绪
|
|
153
|
-
Step 1: 材料接收与完整性检查
|
|
154
|
-
↓ ✅ 材料齐全
|
|
155
|
-
Step 2: 场景类型判定
|
|
156
|
-
↓ ✅ 类型确认
|
|
157
|
-
Step 3: 完整链路需求判定
|
|
158
|
-
↓ ✅ 链路确认
|
|
159
|
-
Step 4: 7 项必问清单确认
|
|
160
|
-
↓ ✅ 全部可答
|
|
161
|
-
Step 5: 内容生成(prompt-engineer 逐 Part 流水线)
|
|
162
|
-
↓ ✅ 逐 Part 确认同步
|
|
163
|
-
Step 6: 平台同步验证
|
|
164
|
-
↓ ✅ 同步成功
|
|
165
|
-
Step 7: 创建质量闸门(12 项全部通过)
|
|
166
|
-
↓ ✅ 闸门通过
|
|
167
|
-
Step 8: 资源完善与发布闸门
|
|
168
|
-
↓ ✅ 资源完整、允许发布
|
|
169
|
-
Step 9: 场景发布
|
|
170
|
-
↓ ✅ 发布成功
|
|
171
|
-
交付
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
> 每个箭头上方的 ✅ 是该步骤的强制闸门,未通过不得推进到下一步。
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
### ⚙️ Step 0: 平台就绪检测(必做,不管什么平台都是第一步)
|
|
179
|
-
|
|
180
|
-
创建型流程全程依赖 soke-cli 与平台交互。**必须在 Step 1 之前**完成环境检测。此步骤是创建型管线的**绝对起点**,不管用户在什么平台(WorkBuddy / 悟空 / QClaw / Zework / WebChat / 纯文本群聊 / CLI / API)发起请求,**都必须从 Step 0 开始执行**。
|
|
181
|
-
|
|
182
|
-
> 📱 **跨平台适配(v2.4)**:Step 0 检测按当前运行平台自动选择执行策略——WorkBuddy 用 `dangerouslyDisableSandbox: true`,悟空/QClaw/Zework 直接执行 CLI(各自的沙箱机制不同),纯聊天平台可跳过 CLI 步骤直接检测 Token(从 `soke-cli config show` 或引导用户获取)。若 soke-cli 完全不可用,降级为 `platform/api-fallback.md` 的 REST API 模式——用 Token 验证 API 连通性代替 CLI 命令检测。交互方式按 `platform/adapters/` 加载对应平台适配器。
|
|
183
|
-
|
|
184
|
-
> ⚠️ **沙箱绕过(全局规则)**:soke-cli 是 Go 编译的二进制文件,在 WorkBuddy Bash 沙箱中执行会被限制(`permission denied` / 静默失败)。**所有 soke-cli 命令调用 Bash 工具时必须设置 `dangerouslyDisableSandbox: true`**,包括环境检测中的 `which soke-cli`、`soke-cli --version`、`soke-cli config show`、`soke-cli auth login` 以及后续全部 `soke-cli ai-training +...` 命令。
|
|
185
|
-
|
|
186
|
-
```
|
|
187
|
-
read references/env-check.md
|
|
188
|
-
按顺序执行 4 步检测:
|
|
189
|
-
1. node --version → 确认 >= 14
|
|
190
|
-
2. which soke-cli → 确认已安装
|
|
191
|
-
3. soke-cli config show → 确认含 user_token
|
|
192
|
-
4. soke-cli config show → 确认 implementation_corp_id / corpid 至少一个非空
|
|
193
|
-
|
|
194
|
-
全部通过 → 记录企业 ID,进入 Step 1
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
**各步失败时的处理:**
|
|
198
|
-
|
|
199
|
-
| 步骤 | 失败表现 | 自动修复动作 |
|
|
200
|
-
|------|---------|------------|
|
|
201
|
-
| 1 | Node.js 未安装或 < 14 | ❌ 无法自动修复,提示用户安装 Node.js >= 14 |
|
|
202
|
-
| 2 | `soke-cli` 未安装 | ❌ 无法自动修复,按 env-check.md 步骤 2 引导安装 |
|
|
203
|
-
| 3 | `user_token` 为空或过期 | ✅ **自动执行 `soke-cli auth login`**,浏览器会自动打开授权页。若浏览器未打开,提示用户复制终端输出的链接手动完成授权。登录后重新检测 |
|
|
204
|
-
| 4 | `implementation_corp_id` 和 `corpid` 均为空 | ✅ 登录成功后自动读取;若仍为空,执行 `soke-cli auth login --force` 刷新企业绑定信息。仍为空则提示用户在授客AI平台完成企业绑定 |
|
|
205
|
-
|
|
206
|
-
> ⚠️ **步骤 3 关键规则**:`soke-cli config show` 无 `user_token` 时,**必须立即执行 `soke-cli auth login`**,不可跳过、不可只告知用户。`soke-cli auth login` 会自动调用系统默认浏览器打开授客AI开放平台授权页面,用户在浏览器中完成授权即可。授权成功后返回终端,Token 自动保存。
|
|
207
|
-
|
|
208
|
-
> 🚦 **闸门**:环境检测失败时,不生成任何提示词、不创建任何 JSON 文件、不进入 Step 1。修复成功后必须从 Step 0 重新完整检测。
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
### Step 1: 材料接收与完整性检查
|
|
213
|
-
|
|
214
|
-
> ⚠️ **禁止跳过**:上传资料后必须先完成材料完整性检查。不允许"边做边补材料"或"先生成一版再补信息"。
|
|
215
|
-
|
|
216
|
-
#### 1.1 确认材料已接收
|
|
217
|
-
|
|
218
|
-
用户上传的业务资料必须至少包含以下一类:
|
|
219
|
-
- 真实话术、录音、SOP 或培训资料
|
|
220
|
-
- 产品资料、合规文件
|
|
221
|
-
- 销冠话术、优秀案例
|
|
222
|
-
- 明确的业务场景描述与训练目标
|
|
223
|
-
|
|
224
|
-
#### 1.2 逐项检查材料完整性
|
|
225
|
-
|
|
226
|
-
对每份材料进行检查:
|
|
227
|
-
- 内容是否可读、清晰
|
|
228
|
-
- 是否包含具体业务场景信息(而非仅有宏观方向)
|
|
229
|
-
- 是否包含对话/话术素材(而非仅有流程框架)
|
|
230
|
-
- 是否足以支撑后续角色设定和知识库构建
|
|
231
|
-
|
|
232
|
-
#### 1.3 输出检查结果
|
|
233
|
-
|
|
234
|
-
```
|
|
235
|
-
✅ 材料齐全,通过 → 进入 Step 2
|
|
236
|
-
⚠️ 材料不足 → 输出材料缺口清单 + 补充访谈问题 → 等待用户补充 → 重新执行 Step 1
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
> 🚦 **闸门**:材料不足时,先输出材料缺口和访谈问题,**不进入 Step 2(场景类型判定)**,更不进入 prompt-engineer。用户补充材料后,从 Step 1 重新开始。
|
|
240
|
-
|
|
241
|
-
---
|
|
242
|
-
|
|
243
|
-
### Step 2: 场景类型判定
|
|
244
|
-
|
|
245
|
-
> ⚠️ **禁止跳过**:必须基于 Step 1 确认的完整材料,通过场景分类资产库判定场景类型。不允许未经判定就直接生成内容。
|
|
246
|
-
|
|
247
|
-
#### 2.1 读取场景分类资产
|
|
248
|
-
|
|
249
|
-
```
|
|
250
|
-
read references/cases/AI陪练场景分类库.md
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
#### 2.2 结合材料判定场景类型
|
|
254
|
-
|
|
255
|
-
综合材料中的行业、业务环节、训练目标等信息,从分类库中匹配最合适的类型。
|
|
256
|
-
|
|
257
|
-
输出格式:
|
|
258
|
-
|
|
259
|
-
```markdown
|
|
260
|
-
## 场景类型判定
|
|
261
|
-
|
|
262
|
-
- **行业**:[行业]
|
|
263
|
-
- **业务环节**:[环节,如 电话约访 / 面访 / 展会 / 客服 等]
|
|
264
|
-
- **场景类型**:[类型名称,如 金融电话约访型 / B2B销售型 / 餐饮服务型]
|
|
265
|
-
- **匹配标杆案例**:[references/cases/create/ 中的对应案例路径]
|
|
266
|
-
- **判定依据**:[简述为什么匹配该类型]
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
> 🚦 **闸门**:场景类型判定结果必须输出给用户确认。不确定时列出最可能的 2 个备选类型让用户选择。确认后进入 Step 3。**类型未确认前,不得生成任何内容**。
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
### Step 3: 完整链路需求判定
|
|
274
|
-
|
|
275
|
-
> ⚠️ **禁止跳过**:基于场景类型和材料复杂度,判定执行标准链路还是完整链路。不允许模糊处理。
|
|
276
|
-
|
|
277
|
-
#### 判定规则
|
|
278
|
-
|
|
279
|
-
| 条件 | 链路选择 | 执行说明 |
|
|
280
|
-
|------|---------|---------|
|
|
281
|
-
| 材料简洁、角色明确、场景单一 | **标准链路** | 直走 `prompt-engineer`(知识库、角色生成、剧本设计已内嵌于各 Part 模块) |
|
|
282
|
-
| 资料复杂、需提炼多类典型客户 | **完整链路** | `role-profiler → prompt-engineer`(先按需画像提取典型角色,再生成内容) |
|
|
283
|
-
| 用户明确要求"按需画像 / MBTI 侧写" | **完整链路** | `role-profiler → prompt-engineer` |
|
|
284
|
-
|
|
285
|
-
输出链路判定结果,确认后进入 Step 4。
|
|
286
|
-
|
|
287
|
-
> 🚦 **闸门**:链路判定必须明确。标准链路不得无故调用 role-profiler;完整链路不得跳过 role-profiler。
|
|
288
|
-
|
|
289
|
-
---
|
|
290
|
-
|
|
291
|
-
### Step 4: 7 项必问清单确认
|
|
292
|
-
|
|
293
|
-
> ⚠️ **禁止跳过**:在进入内容生成前,必须逐项确认以下 7 个问题均有明确答案。任一无法回答,不得进入 Step 5。
|
|
294
|
-
|
|
295
|
-
逐项输出确认:
|
|
296
|
-
|
|
297
|
-
```markdown
|
|
298
|
-
## 7 项必问清单
|
|
299
|
-
|
|
300
|
-
| # | 检查项 | 状态 | 答案 / 材料来源 |
|
|
301
|
-
|---|--------|------|----------------|
|
|
302
|
-
| 1 | 训练对象是谁?(角色、职级、经验水平) | ✅ / ⚠️ | [从材料中提取的答案,或标注"待补充"] |
|
|
303
|
-
| 2 | 业务场景是什么?(行业、环节、上下文) | ✅ / ⚠️ | ... |
|
|
304
|
-
| 3 | 成功对话标准是什么?(怎样的对话算"练好了") | ✅ / ⚠️ | ... |
|
|
305
|
-
| 4 | AI 角色是谁?(模拟的客户/对话者画像) | ✅ / ⚠️ | ... |
|
|
306
|
-
| 5 | 有没有真实话术、录音、SOP 或培训资料? | ✅ / ⚠️ | ... |
|
|
307
|
-
| 6 | 有没有评分标准或验收口径? | ✅ / ⚠️ | ... |
|
|
308
|
-
| 7 | 有没有禁用话术或红线? | ✅ / ⚠️ | ... |
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
> 🚦 **闸门**:任一问题答案为 ⚠️(无法从材料中明确获知),先追问用户补充,**不进入 Step 5**。全部 ✅ 后方可推进。
|
|
312
|
-
|
|
313
|
-
---
|
|
314
|
-
|
|
315
|
-
### Step 5: 内容生成(prompt-engineer 逐 Part 流水线,不管什么平台都遵循同一协议)
|
|
316
|
-
|
|
317
|
-
> ⚠️ **强制顺序(不管什么平台)**:必须按 Part1 → Part2 → Part3 → Part4 → Part5 严格串行执行。**禁止跳 Part、禁止并行生成、禁止一次性批量输出多个 Part**。每个 Part 必须完成「**生成 → 完整展示 → 用户确认 → 同步**」四步闭环后才能进入下一 Part。
|
|
318
|
-
>
|
|
319
|
-
> ⚠️ **Part1 强制优先创建同步(不管什么平台)**:Part1 是创建型管线的第一个同步步骤,**必须先于 Part2-5 完成平台创建**。Part1 确认后立即调用 `soke-cli ai-training +create-scenario` 创建场景并拿到 `scenario_id`(若 soke-cli 不可用,降级为 `platform/api-fallback.md` 的 REST API POST),再逐个推进 Part2-5。若当前平台无法执行 soke-cli 也无法调用 API,在完成 Part1 内容生成和确认后,引导用户到支持的终端完成创建,**在此之前不得生成 Part2**。
|
|
320
|
-
>
|
|
321
|
-
> ⚠️ **Part2 资源匹配双通道(不管什么平台)**:Part2 内容完整展示并由用户确认后,系统在后台执行头像和声音资源匹配,再生成写入 JSON。先检测 soke-cli 可用性 → CLI 可用走 `references/role-resource-matching.md`;CLI 不可用走 `platform/api-fallback.md`「资源匹配完整流程」的 REST API 路径。**禁止因 CLI 不可用直接跳过资源匹配**——Zework/悟空/QClaw 等平台若没有 soke-cli,必须降级到 REST API 完成 avatar/voice 匹配。资源匹配、写入、回读校验都不向用户二次确认。
|
|
322
|
-
>
|
|
323
|
-
> 📺 **用户可见规则(v2.17 硬约束)**:Step 5 对话中**仅展示**各 Part 的标题(`## 🔨 PartN`)和确认交互(根据运行平台加载 `platform/adapters/` 对应适配器——WorkBuddy 用 `AskUserQuestion` / `render_ui`,悟空/QClaw/Zework 用结构化文本编号,但**所有平台的选项文案和分支路由完全一致**)。以下内容**全部在后台(内部推理 + 终端命令)中执行,严禁以任何形式写入对话窗口**:
|
|
324
|
-
> - 内部思考与生成过程
|
|
325
|
-
> - **任何 `.json` 文件名或路径**(`.json`、`step1-create.json`、`part2-operations.json`、`state-snapshot.json` 等全部禁止在对话中出现)
|
|
326
|
-
> - JSON 文件创建命令与 Python 生成脚本
|
|
327
|
-
> - CLI 命令及输出(`soke-cli`、`+preview-scenario-update`、`+apply-scenario-update`、`+get-scenario`、`+list-scenarios`、`+list-scenario-snapshots`、`+list-role-avatars`、`+list-role-voices`、`+create-scenario`、`+publish-scenario`、`python3` 脚本执行及其返回的 diff_summary、changed_fields、operation_count、snapshot_id 等全部禁止在对话中出现)
|
|
328
|
-
> - 协议阶段 1 自检清单与结果
|
|
329
|
-
> - 角色资源匹配过程(含头像/声音的 CLI 查询和写入)
|
|
330
|
-
> - 工作流步骤编号(如"步骤 6:预览更新""步骤 8:发布场景"等工作流元信息)
|
|
331
|
-
> - 任一同步操作的执行进度、成功/失败判断过程
|
|
332
|
-
> - 环境检测命令(`node --version`、`which soke-cli`、`soke-cli config show`、`soke-cli auth login`)及其输出
|
|
333
|
-
>
|
|
334
|
-
> **⛔ 仅允许在对话中展示的三种信息**:
|
|
335
|
-
> 1. Part 完整内容(`## 🔨 PartN` + 纯文本内容展示)
|
|
336
|
-
> 2. 确认弹窗交互(`AskUserQuestion` 或结构化文本编号)
|
|
337
|
-
> 3. 最终摘要(Part5 完成后的一句场景信息 + 本地文件路径 + 封面缺口提示,不含任何 `.json` 文件名)
|
|
338
|
-
|
|
339
|
-
> ⚠️ **确认后前台静默规则(v2.20.8)**:用户对任一 Part 回复“确认”后,后续 JSON 生成、preview、apply、回读、资源匹配、封面处理、状态快照写入等全部属于后台步骤,**前台不再展示任何“已确认”“正在同步”“继续处理中”“请稍候”等过渡消息**。后台成功则直接进入下一个 Part 展示;后台失败才允许前台报错。
|
|
340
|
-
|
|
341
|
-
> ⚠️ **确认选项极简展示规则(v2.19)**:所有纯文本确认选项只展示「编号 + 选项文案」,禁止展示破折号说明、下一步解释、同步动作解释、长句说明。正确示例:`1. 确认,同步到平台(推荐)`;错误示例:`1. 确认,同步到平台(推荐)— 场景基础信息确认无误,立即创建场景到平台`。
|
|
342
|
-
|
|
343
|
-
> ⚠️ **`.json` 前台零泄露规则(v2.19)**:任何 `.json` 文件名、路径、文件生成提示、脚本执行提示、CLI 参数中出现的文件名、同步中间文件、状态快照文件,均禁止出现在对话前台。即使是最终摘要,也只可说明「已完成同步/已发布」,不得出现 `step1-create.json`、`partX-update.json`、`operations.json`、`state-snapshot.json` 等字样。
|
|
344
|
-
|
|
345
|
-
> ⚠️ **本地图片前台零展示规则(v2.20)**:创建型流程中本地生成的封面图、角色图、流程图等图片均属于后台资源处理,不得在对话前台展示、不得调用图片预览工具展示给用户、不得在最终摘要中主动输出本地图片路径。只有用户明确要求“给我看封面/预览图片/导出图片文件”时,才可展示或提供路径。封面是否正确由后台内部检查,不作为用户确认步骤。
|
|
346
|
-
|
|
347
|
-
> ⚠️ **Part2-Part5 同等完整展示规则(v2.20)**:Part2、Part3、Part4、Part5 的内容展示必须与 Part1 同等严格:在对话框中逐字段完整展示,再给确认选项。禁止只展示摘要版、压缩版、标题版、部分字段版;禁止以“已同步/已生成/进入下一步”替代内容展示。隐藏字段仍按各 Part 隐藏规则不展示,但所有面向用户字段必须全文展示。
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
---
|
|
352
|
-
|
|
353
|
-
#### ⛔ 每个 Part 的确认协议(最高优先级,不可绕过)
|
|
354
|
-
|
|
355
|
-
> **统一协议:先完整展示,再提供确认。两个步骤不可颠倒、不可跳过、不可省略任何一步。**
|
|
356
|
-
>
|
|
357
|
-
> 本协议适用于 Part1-Part5 全部五个部分,是 Step 5 的第一道强制闸门。
|
|
358
|
-
|
|
359
|
-
##### 协议阶段 1:完整展示(必须在确认弹窗之前完成)
|
|
360
|
-
|
|
361
|
-
每个 Part 生成后,**必须将该 Part 的全部完整内容直接在对话框中逐字段展示给用户**。展示格式为 `## 🔨 PartN:{标题}` 开头,接着逐节逐字段输出全部正文。
|
|
362
|
-
|
|
363
|
-
**禁止使用弹窗组件(AskUserQuestion)替代内容展示**——弹窗组件仅用于协议阶段 2 的确认操作,**内容必须先在对话中以纯文本形式完整呈现**。
|
|
364
|
-
|
|
365
|
-
各 Part 必须展示的内容清单(**展示内容严禁使用 Markdown 表格格式,必须用纯文本段落/列表呈现**):
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
**Part1 展示清单**:
|
|
369
|
-
- 场景名称(完整原文)
|
|
370
|
-
- 全部标签(逐条列出)
|
|
371
|
-
- 场景描述全文(训练对象/业务情境/训练目标/边界条件——全部段落完整展示)
|
|
372
|
-
- 考核关键点(逐条原文)
|
|
373
|
-
- 场景语言
|
|
374
|
-
|
|
375
|
-
**Part2 展示清单**:
|
|
376
|
-
- **展示顺序固定**:先展示 AI角色整体设定 OS 全文,再逐个展示角色1、角色2、角色3...;禁止先展示角色资源匹配、写入、回读步骤。
|
|
377
|
-
- AI角色整体设定 OS 全文(核心铁律/状态机/双层逻辑/行为模拟规范/知识库合规——全部章节完整原文)
|
|
378
|
-
- 每个角色卡逐字段展示:名称/描述/沟通风格/MBTI/性格/标签/禁忌/知识水平
|
|
379
|
-
- 每个角色的角色背景四段深度画像完整正文(我是谁/我的困扰/我的过往经历/我今天的心态——四段全部完整展示)
|
|
380
|
-
- **隐藏字段**(不向用户展示):`scenario_role_id`、来源类型、专项技能与触发器、`avatar`(平台头像资源)、`voice_id`(平台语音资源)——以上为平台元数据/内部配置
|
|
381
|
-
|
|
382
|
-
**Part3 展示清单**:
|
|
383
|
-
- 开场引导语完整原文
|
|
384
|
-
- 每个环节完整展示:环节名/学员目标完整原文/AI任务完整原文(含环节进入条件+IF-THEN逻辑+环节退出条件)/最大轮次
|
|
385
|
-
- **隐藏字段**(不向用户展示):开场语类型——由 AI 根据开场内容智能判断(系统旁白式→2 学员先开口;AI直发式→1 AI先开口)
|
|
386
|
-
|
|
387
|
-
> 🔴 **同等展示硬约束(v2.20)**:以下清单对 Part1-Part5 具有同等约束力。Part2、Part3、Part4、Part5 不得低于 Part1 的展示完整度。若任一 Part 只展示摘要、只展示维度名/环节名、只展示配置值、或省略应展示正文,视为协议阶段 1 失败,必须回退重新完整展示。
|
|
388
|
-
|
|
389
|
-
**Part4 展示清单**:
|
|
390
|
-
- 评分标准名称
|
|
391
|
-
- 评分标准描述完整原文
|
|
392
|
-
- 每个评分维度展示:名称/描述/权重/评分规则全文/评分点列表
|
|
393
|
-
- **隐藏字段**(不向用户展示):维度 `code`、`id`、`sort_order`、平台内部层级字段——以上为平台评分引擎内部字段
|
|
394
|
-
|
|
395
|
-
> ⚠️ **Part4 展示修订(v2.20)**:评分规则和评分点必须作为面向用户内容完整展示,不再视为隐藏字段。不得只展示“名称/描述/权重”。
|
|
396
|
-
|
|
397
|
-
**Part5 展示清单**:
|
|
398
|
-
- 练习时间:默认关闭(不限时)
|
|
399
|
-
- 最大练习次数:10 次
|
|
400
|
-
- 通关分数:60 分
|
|
401
|
-
- 通关难度:中(默认锁定,不可调整)
|
|
402
|
-
- AI助答:开启
|
|
403
|
-
- **隐藏字段**(不向用户展示):`completion_rule`(写死 `all_steps`)——平台固定配置
|
|
404
|
-
|
|
405
|
-
##### 协议阶段 1 自检(内部执行,不对用户展示)
|
|
406
|
-
|
|
407
|
-
展示完成后,**必须内部自检后再弹窗**。逐项确认以下清单(**此清单仅在内部推理中执行,不得以文本/表格/Markdown 形式展示在对话窗口给用户看**):
|
|
408
|
-
|
|
409
|
-
```
|
|
410
|
-
☐ Part 内容已全部在对话中以纯文本展示(非弹窗中展示)
|
|
411
|
-
☐ 展示内容未使用 Markdown 表格格式(仅允许纯文本段落/列表)
|
|
412
|
-
☐ 无"……""(略)""(同上)""详见材料""(下略)"等缩略标记
|
|
413
|
-
☐ Part2 未展示 scenario_role_id、来源类型、专项技能与触发器、avatar、voice_id
|
|
414
|
-
☐ Part2 每个角色的 background 四段深度画像(我是谁/我的困扰/我的过往经历/我今天的心态)均已逐段完整展示,无缩略
|
|
415
|
-
☐ Part4 未展示维度 code/id/sort_order 等平台内部字段,但已展示每个维度的评分规则全文和评分点列表
|
|
416
|
-
☐ Part5 未展示 completion_rule;pass_difficulty 已展示为"中(默认锁定)"
|
|
417
|
-
☐ 角色卡已展示全部面向用户字段,非仅名称
|
|
418
|
-
☐ 场景描述/OS/背景/评分规则已展示全文,非仅标题或首句
|
|
419
|
-
☐ 未先写入 JSON 再展示(必须先展示,后生成 JSON)
|
|
420
|
-
☐ Part5 练习配置各字段值和说明已完整展示
|
|
421
|
-
☐ Part3 开场语类型未展示给用户(内部根据开场内容智能判断)
|
|
422
|
-
```
|
|
423
|
-
|
|
424
|
-
> 🔴 **自检任一未通过 → 禁止弹窗 → 回退重新完整展示 → 再次内部自检 → 全部通过后方可进入协议阶段 2。**
|
|
425
|
-
>
|
|
426
|
-
> ⚠️ **展示规则**:自检清单和自检结果**严禁写入对话窗口**。只在内部推理中执行判断,通过后直接进入协议阶段 2 弹窗。若未通过,回退重新展示时也只展示修正后的内容,不解释"之前某处缩略"。
|
|
427
|
-
|
|
428
|
-
##### 协议阶段 2:用户确认(必须提供按钮弹窗选项)
|
|
429
|
-
|
|
430
|
-
协议阶段 1 自检全部通过后,**必须使用 `AskUserQuestion` 工具提供确认弹窗或按当前平台适配器输出结构化文本编号确认**。纯文本编号确认只展示选项文案,不展示破折号说明。
|
|
431
|
-
|
|
432
|
-
正确纯文本格式:
|
|
433
|
-
```
|
|
434
|
-
请选择:
|
|
435
|
-
1. 确认,同步到平台(推荐)
|
|
436
|
-
2. 内容需要微调
|
|
437
|
-
|
|
438
|
-
回复数字编号即可。
|
|
439
|
-
```
|
|
440
|
-
|
|
441
|
-
错误纯文本格式:
|
|
442
|
-
```
|
|
443
|
-
请选择:
|
|
444
|
-
1. 确认,同步到平台(推荐)— 场景基础信息确认无误,立即创建场景到 MentorAI 平台
|
|
445
|
-
2. 内容需要微调 — 场景名称、标签、描述或考核关键点需要调整
|
|
446
|
-
```
|
|
447
|
-
|
|
448
|
-
选项映射如下:
|
|
449
|
-
|
|
450
|
-
| Part | 弹窗标题 | 选项 1(推荐) | 选项 2 | 选项 3 |
|
|
451
|
-
|------|---------|--------------|--------|--------|
|
|
452
|
-
| Part1 | 场景确认 | 确认,同步到平台(推荐) | 内容需要微调 | — |
|
|
453
|
-
| Part2 | 角色确认 | 确认,同步角色(推荐) | 调整角色设定 | 重设角色设定 |
|
|
454
|
-
| Part3 | 流程设置确认 | 确认,同步流程设置(推荐) | 调整流程设置 | 重设流程设置 |
|
|
455
|
-
| Part4 | 评分确认 | 确认,同步评分(推荐) | 调整评分标准 | 重设评分标准 |
|
|
456
|
-
| Part5 | 教练设置确认 | 确认,完成创建(推荐) | 调整教练设置 | 重设教练设置 |
|
|
457
|
-
|
|
458
|
-
**选项分支路由:**
|
|
459
|
-
- 用户选选项 1(推荐)→ 生成 JSON → preview + apply → 更新 state-snapshot → 进入下一 Part
|
|
460
|
-
- 用户选选项 2(微调)→ 局部修改后,重新执行本 Part 的协议阶段 1+2
|
|
461
|
-
- 用户选选项 3(重设)→ 回到内容层重新生成该 Part,重新执行协议阶段 1+2
|
|
462
|
-
|
|
463
|
-
> ⚠️ **Part1 确认后强制同步到平台**:模板 1 不提供"取消"或"跳过同步"选项。Part1 确认即意味着场景必须创建到平台。
|
|
464
|
-
|
|
465
|
-
> 🔴 **Part1 创建成功闸门(v2.20.4)**:Part1 的“同步到平台”不是逻辑确认,而是实际创建动作。必须满足以下四项后,才允许进入 Part2:
|
|
466
|
-
> 1. 已生成创建请求文件(`part1-create.json` 或 `step1-create.json`)
|
|
467
|
-
> 2. 已执行 `+create-scenario`
|
|
468
|
-
> 3. CLI/API 返回成功
|
|
469
|
-
> 4. 已提取到非空 `scenario_id`
|
|
470
|
-
>
|
|
471
|
-
> 任一项未满足 → 立即报错并停在 Part1,禁止静默继续到 Part2。
|
|
472
|
-
|
|
473
|
-
---
|
|
474
|
-
|
|
475
|
-
#### ⛔ Part1 确认硬约束(v2.18,一票否决)
|
|
476
|
-
|
|
477
|
-
Part1 完整展示之后,**必须立即在对话中提供确认选项**,格式根据当前运行平台加载 `platform/adapters/` 对应适配器:
|
|
478
|
-
- WorkBuddy → `AskUserQuestion` 弹窗(模板 1:确认同步到平台 / 内容需要微调)
|
|
479
|
-
- 悟空/QClaw/Zework → 结构化文本编号确认(只展示 `1. 确认,同步到平台(推荐)` / `2. 内容需要微调`,禁止追加破折号说明)
|
|
480
|
-
|
|
481
|
-
**以下行为视为执行错误,一票否决,必须打断回退**:
|
|
482
|
-
- ❌ Part1 展示后直接进入 Part2 生成,未在对话中提供任何确认选项
|
|
483
|
-
- ❌ Part1 展示后直接开始创建封面图或执行 `soke-cli ai-training +create-scenario`,未经用户确认
|
|
484
|
-
- ❌ 展示"以上 Part1 内容如上""接下来进入 Part2"等跳过确认的过渡语句
|
|
485
|
-
- ❌ 将 Part1 内容展示和确认选项合并在同一条消息中,用户直接看到 Part1 内容下方无确认选项即被跳过
|
|
486
|
-
|
|
487
|
-
**合规执行流程**:
|
|
488
|
-
```
|
|
489
|
-
对话消息 1: 展示 Part1 全部内容(## 🔨 Part1 + 逐字段全文)
|
|
490
|
-
对话消息 2: 提供极简确认选项(编号或弹窗,只含选项文案)→ 等待用户选择
|
|
491
|
-
→ 用户选"确认"后方可进入封面生成和平台创建
|
|
492
|
-
→ 用户选"微调"后回到内容层修改 Part1 并重新执行协议阶段 1+2
|
|
493
|
-
```
|
|
494
|
-
|
|
495
|
-
#### 流水线执行(Part1-Part5 完整顺序)
|
|
496
|
-
|
|
497
|
-
```
|
|
498
|
-
Part1 基础信息
|
|
499
|
-
协议阶段1: 在对话中完整展示 Part1 全部内容
|
|
500
|
-
协议阶段1自检: 内部逐项确认无缩略无截断
|
|
501
|
-
协议阶段2: AskUserQuestion 弹窗确认(模板 1)
|
|
502
|
-
→ 确定封面来源 → 生成 part1-create.json 或 step1-create.json → 执行 create-scenario → 取得 scenario_id → 更新 state-snapshot
|
|
503
|
-
↓
|
|
504
|
-
Part2 AI角色设定
|
|
505
|
-
协议阶段1: 在对话中按固定顺序完整展示 Part2:先 OS 全文 → 再逐个角色展示全部面向用户字段(background 四段深度画像必须逐段完整展示)
|
|
506
|
-
协议阶段1自检: 内部逐项确认→特别是 background 四段是否完整逐段展示、scenario_role_id/来源类型/专项技能已隐藏
|
|
507
|
-
协议阶段2: AskUserQuestion 弹窗确认(模板 2)
|
|
508
|
-
→ 后台自动执行(不向用户确认):为每个角色匹配头像/声音资源 → 生成完整 part2-operations.json(avatar/voice_id 已写入真实值)→ 后台拆分为角色级同步单元 → 逐个角色 preview+apply+回读验证 → 最后写入 OS 并回读验证 → 更新 state-snapshot → 全部同步成功后立即自动输出 Part3
|
|
509
|
-
|
|
510
|
-
> 🔴 **Part2 同步成功闸门(v2.20.6)**:Part2 只有在以下条件全部满足后,才允许进入 Part3:1. 已生成 `part2-operations.json` 与 `part2-update.json`;2. 已完成资源匹配并写入真实 `avatar`/`voice_id`;3. 已执行 preview/apply;4. 验收通过。**验收优先级**:a. `get-scenario` 回读正常且角色与 OS 验收通过;或 b. `get-scenario` 回读仍为 `ai_roles: []`、`ai_roles_overall_description: null`,但平台实际已展示 Part2 内容,则按已知平台回读差异记账通过。仅当 preview/apply 失败,或平台侧也未展示时,才立即报错并停在 Part2,禁止静默继续到 Part3。
|
|
511
|
-
|
|
512
|
-
> ⚠️ **Part2 自动续流硬约束(v2.20.1)**:Part2 用户确认后,前台不得停留在“Part2 已确认,正在后台同步角色设定。”或同类中间态消息后等待用户再次输入“继续”。正确行为是:后台同步成功后,系统在同一轮任务中自动继续输出 Part3;只有出现失败、超时或必须人工介入的异常时,才允许中断并向用户暴露最小必要异常。
|
|
513
|
-
↓
|
|
514
|
-
Part3 流程设置
|
|
515
|
-
协议阶段1: 在对话中完整展示开场语+每个环节的学员目标/AI任务全文
|
|
516
|
-
协议阶段1自检: 内部逐项确认→特别是环节IF-THEN逻辑是否完整展示
|
|
517
|
-
协议阶段2: AskUserQuestion 弹窗确认(模板 3)
|
|
518
|
-
→ 生成 part3-operations.json → preview+apply → 更新 state-snapshot
|
|
519
|
-
→ ⚠️ apply 后验证:回读 `conversation_steps` 和 `opening_dialogue`;若未反映到 `get-scenario`,按已知平台回读问题记录并直接续流 Part4,不再以前台确认 Web 可见性作为阻断条件。详见 `sync-engine.md` Part3 验证规则。
|
|
520
|
-
|
|
521
|
-
> 🔴 **Part3 同步成功闸门(v2.20.5)**:Part3 只有在以下条件全部满足后,才允许进入 Part4:1. 已生成 `part3-operations.json` 与 `part3-update.json`;2. 已执行 preview/apply;3. 若 CLI 回读正常,则回读字段验收通过;若 CLI 回读异常但 preview/apply 成功,则已按已知平台问题记录到状态快照。若 preview/apply 本身失败,或未生成 JSON,必须立即报错并停在 Part3,禁止静默继续到 Part4。
|
|
522
|
-
↓
|
|
523
|
-
Part4 评分标准
|
|
524
|
-
协议阶段1: 在对话中完整展示评分名称+描述+每个维度名称/描述/权重/评分规则全文/评分点列表
|
|
525
|
-
协议阶段1自检: 内部逐项确认→特别是一票否决是否嵌入各维度scoring_rule
|
|
526
|
-
协议阶段2: AskUserQuestion 弹窗确认(模板 4)
|
|
527
|
-
→ 生成 part4-operations.json → preview+apply → apply后验收评分同步 → 更新 state-snapshot
|
|
528
|
-
|
|
529
|
-
> 🔴 **Part4 同步成功闸门(v2.20.7)**:Part4 只有在以下条件全部满足后,才允许进入 Part5:1. 已生成 `part4-operations.json` 与 `part4-update.json`;2. 已执行 preview/apply;3. 验收通过。**验收优先级**:a. `get-scenario` 回读确认 `scoring_criteria_config.criteria_data.dimensions` 非空;或 b. `get-scenario` 回读仍为 `scoring_criteria_config: null`,但平台实际已展示评分标准,则按已知平台回读差异记账通过。仅当 preview/apply 失败,或平台侧也未展示评分标准时,才立即报错并停在 Part4,禁止静默继续到 Part5。
|
|
530
|
-
↓
|
|
531
|
-
Part5 教练设置
|
|
532
|
-
协议阶段1: 在对话中向用户展示:练习时间(关闭)/最大练习次数(10)/通关分数(60)/通关难度(中,默认锁定)/AI助答(开启)
|
|
533
|
-
协议阶段1自检: 内部逐项确认→所有值与固定模板一致、completion_rule 未泄露
|
|
534
|
-
协议阶段2: AskUserQuestion 弹窗确认(模板 5)
|
|
535
|
-
→ 生成 part5-operations.json → preview+apply → apply后验收练习配置 → 完成摘要
|
|
536
|
-
|
|
537
|
-
> 🔴 **Part5 同步成功闸门(v2.20.5)**:Part5 只有在以下条件全部满足后,才允许进入完成摘要/发布闸门:1. 已生成 `part5-operations.json` 与 `part5-update.json`;2. 已执行 preview/apply;3. `get-scenario` 验收确认练习配置字段已同步。任一项未满足 → 立即报错并停在 Part5,禁止静默结束或误报完成。
|
|
538
|
-
```
|
|
539
|
-
|
|
540
|
-
#### 各 Part 专项约束
|
|
541
|
-
|
|
542
|
-
1. **保持既有 Part1-Part5 输出框架和章节顺序不变**
|
|
543
|
-
2. **Part1 封面**:确认后优先在后台从平台图片库或已有真实封面库中选择一张匹配封面并写入;仅当图库/封面库都不可用时,才允许本地生成并上传。无论走哪条路径,**都必须拿到真实平台 URL 后**再创建场景,不得使用默认占位图,也不得只保留本地封面文件不上传
|
|
544
|
-
3. **Part1 场景语言固定写死**:`scene_lang` 在创建请求中必须固定写成 `简体中文`,不得跟随材料语言、用户输入语言、场景语种或文件内容变化,前台展示中的“场景语言”与后台创建字段都必须一致
|
|
545
|
-
3. **Part2 角色背景来源与完整性**:必须来自用户上传的业务材料,禁止 AI 凭空编造。若材料不足以支撑角色背景,标注"⚠️ 材料不足"并追问用户补充。`background` 字段直接复制四段深度画像全文,不压缩不修改。**⚠️ JSON 写入后、preview 前强制闸门**:生成 `part2-operations.json` 后,必须逐字比对每个角色的 `role_data.background` 与 Part2 展示中的「角色背景」文本是否完全一致(标点、措辞、空格均不可有差异),同时确认四段深度画像(我是谁/我的困扰/我的过往经历/我今天的心态)全部完整。**任一项不通过 → 驳回修正,禁止直接 preview。** 这是最高频疏漏场景——背景文本在 JSON 生成阶段被截断/缩略/改写
|
|
546
|
-
4. **Part2 头像/声音自动匹配 + 回读验收(CLI 过滤模式 v2.0)**:用户确认 Part2 完整内容后,后台**先从角色卡提取性别(gender)和年龄(age_group)**,映射为 CLI 的 `--gender` / `--age-group` 参数,再调用 `+list-role-avatars` / `+list-role-voices` 精准过滤查询(详见 `references/role-resource-matching.md`)。匹配失败时自动降级(去年龄→去性别→全量默认)。随后优先尝试整包 `replace_ai_roles` 写入;**仅当整包写入的 preview/apply 失败,或平台 Web 端也未展示内容时,才降级为角色级拆分同步单元。** 每次写入后执行验收:执行 `soke-cli ai-training +get-scenario --scenario-id <id> --pretty`,对比以下全部项;若 CLI 回读为空但平台 Web 端已展示,则按已知回读差异记账通过,不得直接判失败。
|
|
547
|
-
- `ai_roles` 数组长度 = JSON 角色数
|
|
548
|
-
- 每个角色逐字段(name/description/communication_style/background/personality_type/personality/tags/knowledge_level/taboos_objections)与 JSON 逐字一致
|
|
549
|
-
- `ai_roles_overall_description` 非空且前 100 字符与 OS 原文一致(确保 OS 完整写入非丢失)
|
|
550
|
-
- `role_data.name` ≠ `"角色数据异常"`(出现此值 → 检查外壳字段是否误放入 `role_data` 内部)
|
|
551
|
-
- `background` 四段完整(我是谁/我的困扰/我的过往经历/我今天的心态)
|
|
552
|
-
- **同步失败处理**:回退检查 JSON 结构(data.roles vs data.ai_roles、外壳字段层级、字段类型),修正后重新 preview+apply+验收,不得带缺陷进入 Part3
|
|
553
|
-
- **⚠️ avatar/voice_id 验收规则(v2.11)**:角色首次 apply 时 `avatar`/`voice_id` 应为真实值。验收时确认 avatar 为非空 URL、voice_id 为非空 ID。若个别角色匹配失败保留空值,不阻断流程但需在摘要中标注。
|
|
554
|
-
|
|
555
|
-
**⚠️ Part2 彻底解决方案:最小稳定结构 + 自动降级重试(新增)**
|
|
556
|
-
|
|
557
|
-
当 Part2 回读出现以下任一异常时:
|
|
558
|
-
- `role_data.name = "角色数据异常"`
|
|
559
|
-
- `description = "角色数据格式异常,请检查数据"`
|
|
560
|
-
- `background` / `communication_style` / `avatar` / `voice_id` 被平台回读为 `null`
|
|
561
|
-
|
|
562
|
-
不得继续沿用当前整包结构硬重试,必须立即进入以下“彻底解决链路”:
|
|
563
|
-
|
|
564
|
-
1. **第一层:字段级排雷**
|
|
565
|
-
- 将 `personality_type` 强制收敛为**单个 MBTI 值**,禁止写复合值(如 `ISTJ / ISFJ / ESTJ`)
|
|
566
|
-
- 检查 `source_type` 是否发生内外层重复写入;若有冲突,按已验证唯一层级保留,禁止双写博弈
|
|
567
|
-
- `customized_fields` 必须与实际保留字段逐项严格一致,禁止多报或漏报
|
|
568
|
-
|
|
569
|
-
2. **第二层:最小稳定结构重试**
|
|
570
|
-
- 若第一层修正后仍异常,必须退化为**最小稳定角色结构**,首次仅保留以下字段:
|
|
571
|
-
- `name`
|
|
572
|
-
- `description`
|
|
573
|
-
- `communication_style`
|
|
574
|
-
- `background`
|
|
575
|
-
- `avatar`
|
|
576
|
-
- `voice_id`
|
|
577
|
-
- 以下字段默认从首次稳定写入中移除,待平台解析稳定后再逐步恢复:
|
|
578
|
-
- `knowledge_level`
|
|
579
|
-
- `taboos_objections`
|
|
580
|
-
- `tags`
|
|
581
|
-
- `personality`
|
|
582
|
-
- 非必要扩展型元字段
|
|
583
|
-
|
|
584
|
-
3. **第三层:回读即准,不以 preview/apply 成功代替验收成功**
|
|
585
|
-
- `preview` 成功 ≠ Part2 成功
|
|
586
|
-
- `apply` 成功 ≠ Part2 成功
|
|
587
|
-
- 只有在 `get-scenario` 回读满足以下全部条件时,Part2 才算真正通过:
|
|
588
|
-
- `role_data.name` 不是“角色数据异常”
|
|
589
|
-
- `description` 正常
|
|
590
|
-
- `communication_style` 非空
|
|
591
|
-
- `background` 非空且四段完整
|
|
592
|
-
- `avatar` 为非空 URL
|
|
593
|
-
- `voice_id` 为非空 ID
|
|
594
|
-
- `ai_roles_overall_description` 非空
|
|
595
|
-
|
|
596
|
-
4. **第四层:禁止带病续流**
|
|
597
|
-
- 只要回读仍出现“角色数据异常”,就必须停在 Part2
|
|
598
|
-
- 不得因为 preview/apply 成功就继续展示 Part3
|
|
599
|
-
- 不得口头说明“稍后再修”或“先继续后面 Part”
|
|
600
|
-
|
|
601
|
-
5. **第五层:策略升级**
|
|
602
|
-
- 自此以后,Part2 默认策略不再是“高复杂字段整包写入”
|
|
603
|
-
- 默认策略改为:**最小稳定结构优先,稳定后再扩展字段**
|
|
604
|
-
- 只有在相同平台、相同结构已被实证稳定时,才允许恢复高复杂整包结构
|
|
605
|
-
|
|
606
|
-
**⚠️ Part2 头像/语音强制前置(v2.15)**:avatar 和 voice_id 必须在生成 `part2-operations.json` 之前完成匹配并写入。流程:a. 按「OS → 角色1 → 角色2 → 角色3...」完整展示 Part2 内容并弹窗确认;b. 后台执行 `+list-role-avatars` 和 `+list-role-voices`;c. 按 `references/role-resource-matching.md` 为每个角色匹配资源;d. 将匹配结果写入 `role_data.avatar` 和 `role_data.voice_id`;e. 先生成完整 `part2-operations.json` 与 `part2-update.json` 并优先尝试整包同步;f. 仅在整包同步失败或平台 Web 端也未展示时,再降级为角色1、角色2、角色3、OS 的拆分保守写入。用户只确认完整 Part2 内容,不确认资源匹配、写入或回读步骤。
|
|
607
|
-
5. **⚠️ Part2 JSON 关键结构规则**:
|
|
608
|
-
- `replace_ai_roles` 数据键用 `data.roles`(非 `data.ai_roles`)
|
|
609
|
-
- `role_data.avatar` 写头像资源 **URL**(来自 `+list-role-avatars` 的 `url` 字段),严禁用 `id`
|
|
610
|
-
- `role_data.voice_id` 写声音资源 **ID**(来自 `+list-role-voices` 的 `id` 字段)
|
|
611
|
-
- 每个角色必须提供 `scenario_role_id` 便于后续 `patch_ai_role` 定位
|
|
612
|
-
- **⚠️ 外壳字段在外层**:`customization_level`、`is_custom_role`、`customized_fields`、`source_type`、`created_at`、`updated_at` 放在与 `role_data` 和 `scenario_role_id` 同级的外层,**不可写入 `role_data` 内部**——写入内部触发"角色数据异常"
|
|
613
|
-
- **⚠️ generate → checklist → preview**:生成 `part2-operations.json` 后,**必须先对照 `platform/sync-engine.md`「Part2 replace_ai_roles 自查清单」逐项核对 14 项**,全部通过后方可 preview。最常见的写入失败根因是 `data.roles` 错写成 `data.ai_roles`(占比 80%+)
|
|
614
|
-
6. 平台同步优先按 `platform/sync-engine.md` 的 Partwise 流程;执行前参考 `references/platform-api-pitfalls.md`;复制命令统一参考 `references/verified-cli-cheatsheet.md`
|
|
615
|
-
7. 仅在知识库超长或用户明确要求知识包时,才追加调度 `platform/soke-ai-training/soke-ai-training.md`
|
|
616
|
-
8. prompt-engineer 内部一致性扫描在每个 Part 生成后自动执行;无告警不输出,有告警才提示 ⚠️
|
|
617
|
-
8.1 **Part2 默认生成策略升级(新增)**:首次同步角色时,默认优先生成“最小稳定结构”版本,不再默认把全部扩展字段一次性写入平台。高风险字段(如复合 `personality_type`、`knowledge_level`、`taboos_objections`、冗余 `source_type`)必须在平台解析稳定后再逐步恢复
|
|
618
|
-
9. **Part3 开场语类型智能判断**:`opening_dialogue_type` 不固定值,由 AI 根据开场引导语内容自动判断——系统旁白叙事式→2(学员先开口),AI角色直发式→1(AI先开口)。此字段不向用户展示
|
|
619
|
-
10. **Part4 apply 后强制验收**:立即执行 `soke-cli ai-training +get-scenario --pretty` 验证 `scoring_criteria_config.criteria_data.dimensions` 非空。**生成 part4-operations.json 后,必须先对照 `platform/sync-engine.md`「Part4 replace_scoring_criteria_config 自查清单」逐项核对 13 项**,全部通过后方可 preview。#1 最高频错误:漏掉 `config` 包裹层,`criteria_data` 直接放 `data` 下
|
|
620
|
-
11. **⚠️ Part4 禁止金牌话术**:`scoring_rule` 和 `criteria` 中禁止出现引号包裹的示例对话(如"太好了谢谢姐!"),评分规则仅描述行为标准和得分条件
|
|
621
|
-
12. **⚠️ Part4 一票否决嵌入维度**:不再使用全局 `one_vote_veto` 字段。每个维度的一票否决写在 `scoring_rule` 末尾(格式"以下行为触犯即该维度0分且总分不合格:…")
|
|
622
|
-
13. **⚠️ Part5 练习配置固定模板**:`min_practice_duration`=0, `max_practice_duration`=0, `max_practice_attempts`=10, `passing_score`=60, `pass_difficulty`=2(中,默认锁定不可调整), `completion_rule`="all_steps"(写死,不展示), `ai_assistance_enabled`=true。所有场景统一,不提供"调整"选项。不含收尾话术/SOP摘要/考核关键点摘要——这些已在 Part1 或 Part3 中同步。`completion_rule` 不向用户展示
|
|
623
|
-
20. **每个 Part JSON 生成后必须先对照 `platform/sync-engine.md` 对应自查清单逐项核对,全部通过后方可 preview**:
|
|
624
|
-
- Part1 → `step1-create.json 自查清单`(7 项):最高频错误 `key_points` 写成数组
|
|
625
|
-
- Part2 → `replace_ai_roles 自查清单`(14 项):最高频错误 `data.roles` 误写为 `data.ai_roles`
|
|
626
|
-
- Part3 → `Part3 operations 自查清单`(8 项):最高频错误 `opening_dialogue_type` 写成字符串
|
|
627
|
-
- Part4 → `replace_scoring_criteria_config 自查清单`(13 项):最高频错误漏 `config` 包裹层
|
|
628
|
-
- Part5 → `Part5 operations 自查清单`(9 项):最高频错误混入非练习配置字段
|
|
629
|
-
|
|
630
|
-
> 🚦 **闸门**:每个 Part 必须完整走完「协议阶段 1 展示 → 自检 → 协议阶段 2 确认」三步骤。任一步未完成或未通过,不得进入下一 Part。Part5 确认后进入 Step 6。
|
|
631
|
-
|
|
632
|
-
---
|
|
633
|
-
|
|
634
|
-
### Step 6: 平台同步验证
|
|
635
|
-
|
|
636
|
-
> 内容生成完成后,确认所有 Part 已成功同步到 MentorAI 平台,且 JSON 内容与平台存储一致。
|
|
637
|
-
|
|
638
|
-
1. 读取 `state-snapshot.json`,验证所有 Part 的 `applied` 状态均为 `true`
|
|
639
|
-
2. 执行 `soke-cli ai-training +get-scenario --scenario-id <id> --pretty` 获取最终平台状态
|
|
640
|
-
3. **逐字段验证 JSON 内容已同步**:对照各 Part 的 JSON 文件与平台返回结果,逐字段比对:
|
|
641
|
-
- `key_points`、`description`、`name`、`tags` → 与 `step1-create.json` 一致
|
|
642
|
-
- **Part2 关键验收**:`ai_roles` 非空、`ai_roles[].role_data.name` ≠ `"角色数据异常"`、`ai_roles[].role_data.avatar` 非空 URL、`ai_roles[].role_data.voice_id` 非空 ID。若 name 为"角色数据异常",回退检查 part2-operations.json 中外壳字段是否误放 `role_data` 内
|
|
643
|
-
- `scoring_criteria_config.criteria_data.dimensions` → 维度数量、名称、权重与 `part4-operations.json` 一致
|
|
644
|
-
- `passing_score`、`pass_difficulty`、`max_practice_attempts` 等练习配置 → 与 `part5-operations.json` 一致
|
|
645
|
-
4. 记录最终的 `scenario_id` 和平台 URL
|
|
646
|
-
|
|
647
|
-
> 🚦 **闸门**:所有 Part 必须 `applied: true`,平台状态验证通过,且关键字段内容与 JSON 一致,方可进入 Step 7。
|
|
648
|
-
|
|
649
|
-
---
|
|
650
|
-
|
|
651
|
-
### Step 7: 创建质量闸门(12 项)
|
|
652
|
-
|
|
653
|
-
> ⚠️ **交付前必做**:完成全部生成和同步后,必须逐项通过以下 12 项闸门(定义详见「质量闸门 → 创建闸门」节)。任一未通过,返回对应步骤修复,修复后重新执行本闸门。
|
|
654
|
-
>
|
|
655
|
-
> 📺 **以下闸门检查在内部推理中执行,严禁将逐项检查结果以任何形式(文本/表格/Markdown/代码块)输出到对话窗口。** 闸门全部通过后,仅在对话中输出一行摘要「✅ 质量闸门全部通过」。如有 ❌ 项,只在对话中告知用户"需返回 Step N 修复 X 问题",不列出逐项明细。
|
|
656
|
-
|
|
657
|
-
内部检查清单(不在对话窗展示):
|
|
658
|
-
|
|
659
|
-
| # | 检查项 | 状态 | 来源步骤 | 不通过时的处理 |
|
|
660
|
-
|---|--------|------|---------|---------------|
|
|
661
|
-
| 1 | 材料完整 | ✅ / ❌ | Step 1 | 返回 Step 1 补材料 |
|
|
662
|
-
| 2 | 场景拆解合理 | ✅ / ❌ | Step 2 | 返回 Step 2 重新判定 |
|
|
663
|
-
| 3 | 角色行为化 | ✅ / ❌ | Part2 | 返回 Step 5 Part2 调整 |
|
|
664
|
-
| 4 | 信息释放规则明确 | ✅ / ❌ | Part2 | 返回 Step 5 Part2 调整 |
|
|
665
|
-
| 5 | 每阶段有明确的进入/退出条件 | ✅ / ❌ | Part3 | 返回 Step 5 Part3 调整 |
|
|
666
|
-
| 6 | 评分可识别(含一票否决嵌入维度) | ✅ / ❌ | Part4 | 返回 Step 5 Part4 调整 |
|
|
667
|
-
| 7 | 练习配置匹配固定模板 | ✅ / ❌ | Part5 | 返回 Step 5 Part5 修正为固定值 |
|
|
668
|
-
| 8 | 有测试用例 | ✅ / ❌ | - | 补充测试用例 |
|
|
669
|
-
| 9 | 整体设定节去空白字符 ≤ 3000 | ✅ / ❌ | Part2 | 返回 Step 5 Part2 压缩 |
|
|
670
|
-
| 10 | 每个 Part 内容已在对话中完整展示 | ✅ / ❌ | Step 5 | 回退重新完整展示 |
|
|
671
|
-
|
|
672
|
-
> 🚦 **闸门**:12 项全部 ✅ 后方可进入 Step 8。如有 ❌,必须回到对应步骤修复后重新跑本闸门,不得带缺陷交付。
|
|
673
|
-
|
|
674
|
-
---
|
|
675
|
-
|
|
676
|
-
### Step 8: 发布闸门(资源兜底)
|
|
677
|
-
|
|
678
|
-
> 在执行发布前,必须先补齐资源并通过发布闸门。
|
|
679
|
-
|
|
680
|
-
1. 执行 `platform/resource-finalizer.md`
|
|
681
|
-
- 检查并补齐真实封面图
|
|
682
|
-
- 检查并补齐所有角色头像
|
|
683
|
-
- 检查并补齐所有角色语音
|
|
684
|
-
2. 执行 `platform/publish-gate.md`
|
|
685
|
-
- 验证封面不是默认图
|
|
686
|
-
- 验证 avatar 全部非空 URL
|
|
687
|
-
- 验证 voice_id 全部非空 ID
|
|
688
|
-
- 验证无“角色数据异常”
|
|
689
|
-
3. 任一失败 → 停止发布,输出缺口清单
|
|
690
|
-
4. 全部通过 → 进入 Step 9
|
|
691
|
-
|
|
692
|
-
### Step 9: 场景发布
|
|
693
|
-
|
|
694
|
-
> 质量闸门全部通过后,执行场景发布,使其在 MentorAI 平台正式生效。
|
|
695
|
-
|
|
696
|
-
#### 8.1 执行发布
|
|
697
|
-
|
|
698
|
-
```bash
|
|
699
|
-
soke-cli ai-training +publish-scenario \
|
|
700
|
-
--scenario-id <scenario_id> \
|
|
701
|
-
--version 1 \
|
|
702
|
-
--version-description "CLI发布" \
|
|
703
|
-
--pretty
|
|
704
|
-
```
|
|
705
|
-
|
|
706
|
-
> 若 soke-cli 不可用,降级为 `platform/api-fallback.md` 的 REST API POST 发布端点。
|
|
707
|
-
|
|
708
|
-
参数说明:
|
|
709
|
-
| 参数 | 说明 |
|
|
710
|
-
|---|---|
|
|
711
|
-
| `--scenario-id` | 必填,AI 陪练场景 ID |
|
|
712
|
-
| `--version` | 发布版本号,默认 1 |
|
|
713
|
-
| `--version-description` | 发布版本说明,默认 `CLI发布` |
|
|
714
|
-
|
|
715
|
-
#### 8.2 发布后验收
|
|
716
|
-
|
|
717
|
-
执行 `soke-cli ai-training +get-scenario --scenario-id <id> --pretty`,确认场景状态为已发布。
|
|
718
|
-
|
|
719
|
-
> 🚦 **闸门**:发布成功后方可交付。若发布返回 409/422,使用 `--raw` 查看完整错误,排查原因后重试。
|
|
720
|
-
|
|
721
|
-
---
|
|
722
|
-
|
|
723
|
-
## 微调型任务流程
|
|
724
|
-
|
|
725
|
-
1. 收集微调输入包
|
|
726
|
-
2. 🚨 **确认分析对象**:在陪练对话中,"AI"和"学员"是两个不同角色。诊断前必须先声明"本次分析对象是 AI(客户角色)还是学员"。AI模拟客户让学员练习的场景中,诊断对象为 AI(客户角色),分析其角色一致性、对话自然度、问题随机性等;学员的应对不当不应混入 AI 诊断标签
|
|
727
|
-
3. 判断是否为技术/产品问题
|
|
728
|
-
4. 使用 F/I/O/L/E/S/R/K/T/D 标签诊断(见「微调诊断标签」节)
|
|
729
|
-
5. 匹配资产库
|
|
730
|
-
6. 调度 `prompt-optimizer`
|
|
731
|
-
7. 输出标注版改稿、复测方案和版本记录建议
|
|
732
|
-
|
|
733
|
-
### 微调输入包
|
|
734
|
-
|
|
735
|
-
必须尽量收集:
|
|
736
|
-
|
|
737
|
-
- 当前提示词
|
|
738
|
-
- 原始对话记录
|
|
739
|
-
- 用户反馈原话
|
|
740
|
-
- 期望表现
|
|
741
|
-
- 场景类型
|
|
742
|
-
- 当前评分结果
|
|
743
|
-
- 音频/转写文本,如涉及语音
|
|
744
|
-
- 设备/账号/操作路径,如涉及技术
|
|
745
|
-
|
|
746
|
-
### 缺失规则
|
|
747
|
-
|
|
748
|
-
| 缺失项 | 处理方式 |
|
|
749
|
-
|--------|---------|
|
|
750
|
-
| 无原始对话 | 只能做结构审查,不断言具体行为偏差 |
|
|
751
|
-
| 无当前提示词 | 只能给优化方向,不输出最终修改版 |
|
|
752
|
-
| 只有"感觉不像" | 追问具体对话片段或期望表现 |
|
|
753
|
-
|
|
754
|
-
---
|
|
755
|
-
|
|
756
|
-
## 平台同步前置
|
|
757
|
-
|
|
758
|
-
**创建型和平台同步型**任务在调用平台接口前,都必须先执行环境检测。
|
|
759
|
-
|
|
760
|
-
创建型流程在内容生成之前完成检测(见「创建型任务流程(严格顺序管线)→ Step 0」)。
|
|
761
|
-
|
|
762
|
-
平台同步型(任务类型 5)单独触发时,同样执行:
|
|
763
|
-
|
|
764
|
-
> ⚠️ 与创建型流程相同,所有 soke-cli 命令必须设置 `dangerouslyDisableSandbox: true` 绕过沙箱。
|
|
765
|
-
|
|
766
|
-
```
|
|
767
|
-
read references/env-check.md
|
|
768
|
-
按顺序执行 4 步检测:
|
|
769
|
-
1. node --version → 确认 >= 14
|
|
770
|
-
2. which soke-cli → 确认已安装
|
|
771
|
-
3. soke-cli config show → 确认含 user_token
|
|
772
|
-
4. soke-cli config show → 确认 implementation_corp_id / corpid 至少一个非空
|
|
773
|
-
|
|
774
|
-
全部通过 → 优先执行 platform/sync-engine.md 的 Partwise 同步流(Step1 create → Part2 → Part3 → Part4 → Part5)
|
|
775
|
-
需要复制或核对命令时 → 统一参考 references/verified-cli-cheatsheet.md
|
|
776
|
-
任一步失败 → 按 references/env-check.md 修复流程引导,不进入同步
|
|
777
|
-
```
|
|
778
|
-
|
|
779
|
-
检测到 corpid 后记录,后续 CLI 命令创建的场景自动归属该企业。
|
|
780
|
-
|
|
781
|
-
---
|
|
782
|
-
|
|
783
|
-
## 技术问题分流
|
|
784
|
-
|
|
785
|
-
凡涉及以下问题,优先按技术/产品问题处理,**不要直接交给 prompt-optimizer 改提示词**:
|
|
786
|
-
|
|
787
|
-
- ASR识别错误
|
|
788
|
-
- 语音尾字丢失
|
|
789
|
-
- TTS声音不符合角色
|
|
790
|
-
- 播报没结束就跳评分页
|
|
791
|
-
- 授权不同步
|
|
792
|
-
- 部门同步失败
|
|
793
|
-
- 按钮报错
|
|
794
|
-
- iOS录音权限未释放
|
|
795
|
-
- 评分等待无提示
|
|
796
|
-
|
|
797
|
-
---
|
|
798
|
-
|
|
799
|
-
## 微调诊断标签
|
|
800
|
-
|
|
801
|
-
| 标签 | 含义 | 判定要点 |
|
|
802
|
-
|------|------|---------|
|
|
803
|
-
| **F** | 格式违规 | 括号动作、Markdown语法、后台痕迹外显 |
|
|
804
|
-
| **I** | 信息释放违规 | 开场透露全部症状/底线/背景 |
|
|
805
|
-
| **O** | 角色OOC | 太热情/太攻击/说出不该说的术语 |
|
|
806
|
-
| **P** | 指令执行度违规 | AI实际行为与提示词行为指令不一致 |
|
|
807
|
-
| **N** | 对话自然度违规 | 模板化、万能回应、句式单一、过渡生硬 |
|
|
808
|
-
| **L** | 逻辑违规 | 信任值异常、价格防线过早松动 |
|
|
809
|
-
| **E** | 结束违规 | 提前结束、成交后继续追问 |
|
|
810
|
-
| **S** | 场景规则违规 | 违反药房/合规/B2B场景规则 |
|
|
811
|
-
| **R** | 评分规则问题 | 评分项抽象、目标错位、无法识别间接达成 |
|
|
812
|
-
| **K** | 知识/合规问题 | 产品知识错误、禁用话术未触发 |
|
|
813
|
-
| **T** | 技术/体验问题 | ASR/TTS/权限/跳转 |
|
|
814
|
-
| **D** | 数据/看板问题 | 指标口径错误、数据污染 |
|
|
815
|
-
|
|
816
|
-
**没有标签,不进入修改建议。**
|
|
817
|
-
|
|
818
|
-
### 诊断分析顺序(必须严格按此顺序)
|
|
819
|
-
|
|
820
|
-
```
|
|
821
|
-
T排障 → O拟真 → P指令执行 → N自然度 → I信息释放/K知识 → E结束/S场景 → L逻辑/F格式 → R评分
|
|
822
|
-
```
|
|
823
|
-
|
|
824
|
-
- **P 在第 3 位**:先确认角色没崩(O),再查指令执行度(P),避免角色OOC导致P误判
|
|
825
|
-
- **N 在第 4 位**:先确认行为指令合规(P),再查表达是否自然(N)。模板化"好的""了解了"等万能回应属于 N 违规而非 O 或 F 问题
|
|
826
|
-
|
|
827
|
-
---
|
|
828
|
-
|
|
829
|
-
## prompt-engineer 调用硬约束
|
|
830
|
-
|
|
831
|
-
> 此节规则在「创建型任务流程 → Step 5: 内容生成」中被强制引用。调度 prompt-engineer 时必须同时满足以下约束和 Step 5 的流水线顺序要求。
|
|
832
|
-
|
|
833
|
-
### Part 确认协议(引用 Step 5 统一协议)
|
|
834
|
-
|
|
835
|
-
每个 Part 的确认必须严格遵循 **「创建型任务流程 → Step 5 → 每个 Part 的确认协议」** 定义的两阶段协议:
|
|
836
|
-
- **协议阶段 1**:先在对话框中逐字段完整展示该 Part 的全部内容 → 执行自检清单
|
|
837
|
-
- **协议阶段 2**:自检通过后,用 `AskUserQuestion` 提供确认弹窗选项
|
|
838
|
-
|
|
839
|
-
**详细展示清单、自检项、弹窗选项路由均以 Step 5 主协议为准,此处不重复。**
|
|
840
|
-
|
|
841
|
-
### 内容生成硬约束
|
|
842
|
-
|
|
843
|
-
用户明确要求:搭建提示词/陪练内容时,`prompt-engineer` 输出框架不要变。
|
|
844
|
-
|
|
845
|
-
1. 保持既有 Part1-Part5 输出框架和章节顺序
|
|
846
|
-
2. 不重排整体框架
|
|
847
|
-
3. 不把非标准模块插入角色设定、流程设置或其他既有模块内部
|
|
848
|
-
4. Part4 评分标准仅输出评分维度、权重、评分规则、评分点,一票否决嵌入各维度 scoring_rule,不包含知识库内容
|
|
849
|
-
5. **⚠️ Part4 scoring_rule 禁止嵌入示例话术**:评分规则中禁止出现引号包裹的示例对话,这些属于金牌话术库,不写入平台
|
|
850
|
-
6. **⚠️ Part4 无全局 one_vote_veto**:一票否决条件已嵌入各维度 `scoring_rule`,不再使用全局 `one_vote_veto` 字段
|
|
851
|
-
7. **⚠️ Part2 角色资源匹配走 CLI 过滤模式**:头像/声音匹配必须先提取角色性别(gender)和年龄(age_group),映射为 CLI 的 `--gender` / `--age-group` 参数,再精准过滤查询。禁止拉取全量库后做文本匹配。匹配失败时自动降级(去年龄→去性别→全量默认)。详见 `references/role-resource-matching.md`
|
|
852
|
-
8. **⚠️ Part2 avatar 用 URL 非 ID**:`role_data.avatar` 写入 `+list-role-avatars` 返回的 `url` 字段,严禁用 `id`
|
|
853
|
-
9. **⚠️ Part2 replace_ai_roles 用 data.roles**:数据键是 `data.roles`(非 `data.ai_roles`),必须带 `scenario_role_id`
|
|
854
|
-
10. **⚠️ Part2 外壳字段在外层**:`customization_level`、`is_custom_role`、`customized_fields`、`source_type`、`created_at`、`updated_at` 必须与 `role_data`、`scenario_role_id` 同级(外层),**严禁**写入 `role_data` 内部。写入内部会触发平台回读 `name: "角色数据异常"`,全部字段 null。判断规则:描述"角色有什么属性"→ `role_data` 内;描述"这个数据是什么类型/何时创建"→ 外层。详见 `references/platform-api-pitfalls.md` §4.1
|
|
855
|
-
11. **⚠️ Part2 background 必填不可漏**:`role_data.background` 必须包含四段深度画像(我是谁/我的困扰/我的过往经历/我今天的心态),**严禁留空或 null**。这是最常见疏漏——replace_ai_roles 中写了其他字段但忘记 background。apply 后验收时检查 `ai_roles[].role_data.background` 非空
|
|
856
|
-
12. **⚠️ Part5 练习配置已写死**:Part5 operations 使用固定模板(时长关闭、最大次数 10、通关分数 60、通关难度 中=2 默认锁定、完成规则 all_steps、AI助答开启)。所有场景统一,不含收尾话术、SOP 流程摘要、考核关键点摘要——这些已在 Part1/Part3 中同步。`completion_rule` 不向用户展示;`pass_difficulty`=2(中)向用户展示但不可调整
|
|
857
|
-
13. **⚠️ Part3 `add_conversation_step` CLI 回读口径**:`add_conversation_step` apply 可能返回成功但 `get-scenario` 回读 `conversation_steps` 为空,`opening_dialogue` 也可能不同步反映——这是已知的 CLI/Web 回读口径差异,不代表数据未写入。验收时如 `preview/apply` 已成功,即记录为「平台回读异常待观察」,**默认直接进入 Part4**;不再要求用户先去 Web 后台确认。仅当 `preview/apply` 本身失败,或后续步骤出现明确依赖阻塞时,才回到 JSON/CLI 排查。严禁因 CLI 回读为空直接阻断流程。
|
|
858
|
-
|
|
859
|
-
---
|
|
860
|
-
|
|
861
|
-
## 质量闸门
|
|
862
|
-
|
|
863
|
-
> 💡 自主学习示例与推广案例详见 `references/self-improvement-examples.md`
|
|
864
|
-
>
|
|
865
|
-
> 创建型任务交付前,须在「创建型任务流程 → Step 7」中逐项执行以下闸门检查。
|
|
866
|
-
|
|
867
|
-
### 创建闸门(12 项)
|
|
868
|
-
|
|
869
|
-
1. 材料完整
|
|
870
|
-
2. 场景拆解合理
|
|
871
|
-
3. 角色行为化
|
|
872
|
-
4. 信息释放规则明确
|
|
873
|
-
5. 每个阶段有明确的进入/退出条件
|
|
874
|
-
6. 评分可识别(含一票否决嵌入各维度 scoring_rule)
|
|
875
|
-
7. 练习配置匹配固定模板
|
|
876
|
-
8. 有测试用例
|
|
877
|
-
9. `整体设定` 节去空白字符 ≤ 3000,阶段专属规则已下沉到 `流程设置` 对应环节
|
|
878
|
-
10. 每个 Part 内容已在对话中完整展示(无截断、缩略、省略号,逐字段原文可见)
|
|
879
|
-
11. Part2-Part5 展示完整度不低于 Part1:Part2 OS+角色全字段、Part3 开场+所有环节全文、Part4 评分规则+评分点全文、Part5 固定配置全部展示
|
|
880
|
-
12. 本地生成的封面/图片未在前台展示,未主动输出图片路径,除非用户明确要求预览或导出
|
|
881
|
-
|
|
882
|
-
### 微调闸门(8 项)
|
|
883
|
-
|
|
884
|
-
1. 有证据
|
|
885
|
-
2. 已技术分流
|
|
886
|
-
3. 已打标签
|
|
887
|
-
4. 有修改决策
|
|
888
|
-
5. 有标注改稿
|
|
889
|
-
6. 有复测方案
|
|
890
|
-
7. 有版本记录建议
|
|
891
|
-
8. 微调后 `整体设定` 节去空白字符 ≤ 3000
|
|
892
|
-
|
|
893
|
-
---
|
|
894
|
-
|
|
895
|
-
## 输出格式
|
|
896
|
-
|
|
897
|
-
任务开始前先输出:
|
|
898
|
-
|
|
899
|
-
```markdown
|
|
900
|
-
## 🎯 意图识别
|
|
901
|
-
- 任务类型:
|
|
902
|
-
- 建议链路:
|
|
903
|
-
- 当前管线步骤: [创建型任务需标注当前应执行的 Step N]
|
|
904
|
-
- 必读资产:
|
|
905
|
-
- 输入缺口:
|
|
906
|
-
- 下一步:
|
|
907
|
-
```
|
|
908
|
-
|
|
909
|
-
> 创建型任务必须在上方标注当前管线进度(如"Step 1: 材料接收与完整性检查"),并与「创建型任务流程(严格顺序管线)」中的 Step 编号对应。
|
|
910
|
-
|
|
911
|
-
### 创建/生成场景前台执行格式硬约束(新增)
|
|
912
|
-
|
|
913
|
-
当任务类型 = **创建型** 且用户意图为“生成陪练场景 / 创建陪练场景 / 根据资料搭建场景”时,前台输出必须严格遵循以下顺序,**任何一项都不可省略、合并或重排**:
|
|
914
|
-
|
|
915
|
-
1. **先输出 `## 🎯 意图识别`**
|
|
916
|
-
- 必须明确写出:任务类型、建议链路、当前管线步骤、必读资产、输入缺口、下一步
|
|
917
|
-
- 若是创建型任务,`当前管线步骤` 初始必须是 `Step 0: 平台就绪检测` 或当前真实步骤
|
|
918
|
-
|
|
919
|
-
2. **再进入 Step 0 ~ Step 4 的前台汇报**
|
|
920
|
-
- Step 0:平台就绪检测结果
|
|
921
|
-
- Step 1:材料接收与完整性检查结果
|
|
922
|
-
- Step 2:场景类型判定结果
|
|
923
|
-
- Step 3:链路判定结果
|
|
924
|
-
- Step 4:7项必问清单结果
|
|
925
|
-
- 以上五步若有任一步未完成或未通过,**禁止输出 Part1**
|
|
926
|
-
|
|
927
|
-
3. **只有 Step 0 ~ Step 4 全部通过后,才允许输出 `## 🔨 Part1`**
|
|
928
|
-
- 禁止一上来直接展示 Part1
|
|
929
|
-
- 禁止仅在内部完成 Step 0 ~ Step 4,却不在前台明确汇报当前已到哪个步骤
|
|
930
|
-
- **若 Step 4 结论为“7项全部可答,可进入 Part1”,则必须直接衔接输出 Part1;禁止停在结论句结束,禁止再插入解释、复述、流程说明或额外确认**
|
|
931
|
-
|
|
932
|
-
4. **Part 展示与确认必须拆成两条前台消息**
|
|
933
|
-
- **默认理想模式**:消息A只展示完整 Part 内容;消息B只展示极简确认选项
|
|
934
|
-
- **平台兼容单消息模式(新增)**:若当前平台/会话引擎无法稳定连续发出两条独立 assistant 消息,则允许在**同一条消息内**按固定顺序输出:
|
|
935
|
-
1. `## 🔨 PartN` 完整内容
|
|
936
|
-
2. 空一行
|
|
937
|
-
3. `请选择:` + 对应确认选项
|
|
938
|
-
- 在单消息模式下,必须保证**先完整展示内容,后给确认选项**,不得把确认选项插入内容中间,不能只给确认不展示内容,也不能只展示内容不带确认
|
|
939
|
-
- **`## 🔨 Part1:基础信息` 输出完成之后,必须立刻给出“确认/修改”选项,不允许停住、不允许等用户自行猜测、不允许直接进入后台创建**
|
|
940
|
-
- **`## 🔨 Part2`、`## 🔨 Part3`、`## 🔨 Part4`、`## 🔨 Part5` 输出完成之后,同样必须立刻给出对应的确认/修改选项,不允许停住、不允许让用户猜下一步、不允许直接进入后台同步或直接展示下一 Part**
|
|
941
|
-
- **执行优先级**:若平台支持稳定双消息 → 用双消息;若平台不支持稳定双消息 → 自动降级为单消息兼容模式
|
|
942
|
-
- **禁止把 Part 内容和确认选项放在同一条消息中**
|
|
943
|
-
- **禁止在同一条消息里既展示 Part1 又顺带进入 Part2**
|
|
944
|
-
|
|
945
|
-
5. **用户确认后,前台必须静默等待后台完成真实同步,再直接进入下一 Part**
|
|
946
|
-
- 禁止出现“已确认”“正在同步”“稍等”“继续处理中”等中间态提示
|
|
947
|
-
- 后台若失败,直接报错并停在当前 Part
|
|
948
|
-
- 后台若成功,直接输出下一 Part 内容
|
|
949
|
-
|
|
950
|
-
6. **严禁“伪流程”**
|
|
951
|
-
- 所谓伪流程,指的是:口头声称“已按规则重置/已进入正式流程”,但实际仍在继续用未闭环的展示式回复推进任务
|
|
952
|
-
- 若没有完成当前 Part 的后台同步成功闸门,就不得声称“进入下一 Part”或“正式继续”
|
|
953
|
-
|
|
954
|
-
### 创建型任务一票否决行为(新增)
|
|
955
|
-
|
|
956
|
-
出现以下任一行为,视为**没有按照技能规则执行**:
|
|
957
|
-
|
|
958
|
-
- ❌ 未先输出 `## 🎯 意图识别` 就直接展示 Part1
|
|
959
|
-
- ❌ 未前台汇报 Step0~Step4 结果,就直接展示 Part1
|
|
960
|
-
- ❌ Step4 已得出“7项全部可答,可进入 Part1”后,没有直接进入 Part1,而是继续解释、重复总结或空转结束
|
|
961
|
-
- ❌ `## 🔨 Part1:基础信息` 展示完成后,没有在下一条消息立即提供“确认/修改”选项
|
|
962
|
-
- ❌ `## 🔨 Part2`、`## 🔨 Part3`、`## 🔨 Part4` 或 `## 🔨 Part5` 展示完成后,没有在下一条消息立即提供对应确认/修改选项
|
|
963
|
-
- ❌ 把“Part内容展示完成”当成可单独结束的消息,而没有自动继续发出下一条确认消息
|
|
964
|
-
- ❌ 在不支持双消息的平台上,既没有双消息,也没有按单消息兼容模式补上确认步骤
|
|
965
|
-
- ❌ Part 展示消息发出后,系统没有执行“自动续发确认消息”这一后置动作
|
|
966
|
-
- ❌ 技能热更新后,没有立即回到当前断点按新规则执行,而是先解释“已优化/已修复/正确动作应为”
|
|
967
|
-
- ❌ 把 Part 内容和确认选项放在同一条消息
|
|
968
|
-
- ❌ 用户确认后未完成真实后台同步,就继续展示下一 Part
|
|
969
|
-
- ❌ 用“我现在按规则重置”“我已正式进入流程”等措辞替代真实流程执行
|
|
970
|
-
- ❌ 在创建型任务中,把“参考规则生成文案”误当成“按规则执行创建流水线”
|
|
971
|
-
|
|
972
|
-
### 创建型任务防呆规则(新增)
|
|
973
|
-
|
|
974
|
-
若当前任务 = 创建型,则系统必须遵守以下防呆约束:
|
|
975
|
-
|
|
976
|
-
1. **不得在同一轮里跳过 Step 汇报直接输出 Part**
|
|
977
|
-
- 只要本轮前台还没有完整输出 Step0、Step1、Step2、Step3、Step4 的结果,就绝对禁止输出 `## 🔨 Part1`
|
|
978
|
-
- 即使内部已经完成判断,也不能省略前台 Step 汇报
|
|
979
|
-
|
|
980
|
-
2. **Step4 通过后必须直接衔接 Part1**
|
|
981
|
-
- 若当前回复已输出“7项全部可答,可进入 Part1”,则该回复后续必须直接开始 `## 🔨 Part1`
|
|
982
|
-
- 若因长度或交互策略拆到下一条消息,则下一条消息必须以 `## 🔨 Part1` 开头,禁止插入任何过渡话术
|
|
983
|
-
|
|
984
|
-
3. **禁止 Step 汇报后空转**
|
|
985
|
-
- 既然 Step4 已通过,就不能停在“可进入 Part1”这句话结束任务
|
|
986
|
-
- 必须立即衔接到 Part1(同条回复内直接继续,或下一条消息直接开始 Part1)
|
|
987
|
-
|
|
988
|
-
4. **禁止 Part 前重复铺垫**
|
|
989
|
-
- 一旦 Step4 已通过,后续不得再重复“我现在开始正式进入流程”“下面重新按规则开始”“现在进入Part1”等口头铺垫
|
|
990
|
-
- 正确做法是:直接输出 `## 🔨 Part1`
|
|
991
|
-
|
|
992
|
-
5. **Part1 展示后必须立即确认**
|
|
993
|
-
- `## 🔨 Part1:基础信息` 完整展示结束后,下一条前台消息只能是确认选项
|
|
994
|
-
- 允许的选项语义只有两类:`确认,同步到平台(推荐)` / `内容需要微调`
|
|
995
|
-
- 不允许缺少确认消息,不允许把用户留在“看完内容但不知道怎么操作”的状态
|
|
996
|
-
|
|
997
|
-
6. **Part2-Part5 展示后也必须立即确认**
|
|
998
|
-
- `## 🔨 Part2` 完整展示结束后,下一条前台消息只能是:
|
|
999
|
-
- `1. 确认,同步角色(推荐)`
|
|
1000
|
-
- `2. 调整角色设定`
|
|
1001
|
-
- `3. 重设角色设定`
|
|
1002
|
-
- `## 🔨 Part3` 完整展示结束后,下一条前台消息只能是:
|
|
1003
|
-
- `1. 确认,同步流程设置(推荐)`
|
|
1004
|
-
- `2. 调整流程设置`
|
|
1005
|
-
- `3. 重设流程设置`
|
|
1006
|
-
- `## 🔨 Part4` 完整展示结束后,下一条前台消息只能是:
|
|
1007
|
-
- `1. 确认,同步评分(推荐)`
|
|
1008
|
-
- `2. 调整评分标准`
|
|
1009
|
-
- `3. 重设评分标准`
|
|
1010
|
-
- `## 🔨 Part5` 完整展示结束后,下一条前台消息只能是:
|
|
1011
|
-
- `1. 确认,完成创建(推荐)`
|
|
1012
|
-
- `2. 调整教练设置`
|
|
1013
|
-
- `3. 重设教练设置`
|
|
1014
|
-
- 不允许省略确认步骤,不允许先解释后台动作,不允许直接进入下一 Part
|
|
1015
|
-
|
|
1016
|
-
7. **技能热更新即时生效规则(新增)**
|
|
1017
|
-
- 当用户在创建流程进行中提出“优化技能 / 补规则 / 修正执行规则”,且该规则影响当前所在断点时,更新技能后必须立即对当前断点生效
|
|
1018
|
-
- 生效顺序固定为:
|
|
1019
|
-
1. 更新技能文件
|
|
1020
|
-
2. 识别当前流程断点(如 Part1 展示后、Part4 展示后、Part5 展示后)
|
|
1021
|
-
3. **直接输出按新规则本应输出的那条前台消息**
|
|
1022
|
-
- 禁止在技能更新后先输出“已优化”“已补规则”“现在正确动作是”等解释性过渡消息替代真实执行
|
|
1023
|
-
- 若新规则要求“展示后下一条必须确认”,则技能更新后必须立刻补发该确认步骤,而不是先解释规则内容
|
|
1024
|
-
|
|
1025
|
-
8. **确认步骤自动续发规则(新增)**
|
|
1026
|
-
- 在支持双消息的平台中:当系统刚输出完任一 Part 的完整展示消息后,必须自动续发该 Part 的确认消息
|
|
1027
|
-
- 这里的“下一条消息”不是“等待用户再说一句之后的下一条”,而是**系统自己紧接着发出的下一条前台消息**
|
|
1028
|
-
- 若当前平台无法稳定做到这一点,则必须自动切换到**单消息兼容模式**,在同一条消息内补足确认区
|
|
1029
|
-
- 如果系统既没有自动续发第二条消息,也没有在同一条消息中补足确认区,则视为本轮执行不合规
|
|
1030
|
-
|
|
1031
|
-
9. **确认消息自动续发升级为执行级硬规则(新增)**
|
|
1032
|
-
- 对创建型任务而言,“Part 展示后立即给出确认步骤”不是格式建议,而是**必须执行的后置动作**
|
|
1033
|
-
- 在双消息平台:只要某条前台消息完成了 `## 🔨 PartN` 的完整展示,系统就必须立即执行一个后置动作:**再发送一条独立前台消息,内容只能是该 Part 的确认/修改选项**
|
|
1034
|
-
- 在单消息兼容模式:只要 `## 🔨 PartN` 内容展示完成,系统就必须在**同一条消息末尾**追加确认区,且保持“内容在前、确认在后”的顺序
|
|
1035
|
-
- 若该后置动作未执行成功,则判定为当前轮执行失败
|
|
1036
|
-
- 执行失败时,系统不得继续任何后续流程,不得解释,不得进入下一 Part,唯一允许的补救动作是:**优先补发缺失的确认消息**
|
|
1037
|
-
- 缺确认消息时,系统的最高优先级动作永远是“补发确认消息”,而不是解释原因、总结规则或继续流程
|
|
1038
|
-
|
|
1039
|
-
10. **后台闭环执行级硬规则(新增)**
|
|
1040
|
-
- 在创建型任务中,用户点击或回复任一确认选项后,系统必须立即进入后台闭环:
|
|
1041
|
-
1. 生成该 Part 的 `.json` 文件
|
|
1042
|
-
2. 执行平台同步
|
|
1043
|
-
3. 执行回读验收
|
|
1044
|
-
- 只有 1+2+3 全部完成,当前 Part 才算完成
|
|
1045
|
-
- 若缺少任一环节:
|
|
1046
|
-
- 没生成 `.json` → 视为当前 Part 未执行
|
|
1047
|
-
- 没执行同步 → 视为当前 Part 未执行
|
|
1048
|
-
- 同步失败或验收失败 → 视为当前 Part 未完成
|
|
1049
|
-
- **禁止把“用户已确认”误当成“当前 Part 已完成”**
|
|
1050
|
-
- **禁止前台已经进入下一 Part,但后台其实没有生成 `.json` 或没有完成同步**
|
|
1051
|
-
- 出现上述情况时,必须立即报错并停在当前 Part
|
|
1052
|
-
|
|
1053
|
-
### 创建型任务自检问句(新增,内部执行)
|
|
1054
|
-
|
|
1055
|
-
在每次准备输出创建型任务前台内容前,必须先在内部逐条自问:
|
|
1056
|
-
|
|
1057
|
-
- 我是否已经先输出了 `## 🎯 意图识别`?
|
|
1058
|
-
- 我是否已经明确前台汇报当前处于 Step0~Step4 的哪个步骤?
|
|
1059
|
-
- 如果我正要输出 Part1,Step0~Step4 是否已经全部完成并在前台说明?
|
|
1060
|
-
- 如果 Step4 已经通过,我是否会直接输出 Part1,而不是继续解释?
|
|
1061
|
-
- 如果我刚输出完 Part1,我的下一条消息是否一定会给出确认/修改选项?
|
|
1062
|
-
- 如果我刚输出完 Part2/Part3/Part4/Part5,我的下一条消息是否一定会给出对应的确认/修改选项?
|
|
1063
|
-
- 我是否错误地把“下一条消息”理解成“等用户再说话之后的下一条”,而不是系统自己立刻续发的下一条?
|
|
1064
|
-
- 我是否已经先判断当前平台是否支持稳定双消息;若不支持,是否已切换到单消息兼容模式?
|
|
1065
|
-
- 如果我刚发完 Part 展示消息,我是否已经真正执行了“自动续发确认消息”这个后置动作?
|
|
1066
|
-
- 如果我刚完成技能热更新,而新规则影响当前断点,我是否已经直接回到当前断点执行,而不是先解释?
|
|
1067
|
-
- 我这条消息是否错误地把“Part内容 + 确认选项”合并了?
|
|
1068
|
-
- 我是否在没有真实完成后台同步的情况下,试图口头推进到下一 Part?
|
|
1069
|
-
- 如果 Part2 回读出现“角色数据异常”,我是否已经立即切换到最小稳定结构 + 自动降级重试,而不是继续硬推原结构?
|
|
1070
|
-
|
|
1071
|
-
任一回答为“否”或“是(存在违规)”,都必须中断当前输出并回到正确步骤。
|
|
1072
|
-
|
|
1073
|
-
如果用户明确说"直接做/不用确认",可跳过确认,但**不能跳过输入质检和技术分流**;对创建型任务而言,**也不能跳过 Step0~Step4 的前台步骤汇报与当前管线定位**。
|
|
1074
|
-
|
|
1075
|
-
---
|
|
1076
|
-
|
|
1077
|
-
# 自主学习与自我进化引擎
|
|
1078
|
-
|
|
1079
|
-
> 核心思想:每一次诊断纠错、闸门漏拦、资产选错、子技能调度失败、用户纠正,都被自动记录并推广为永久规则。
|
|
1080
|
-
> 本引擎是独立 self-improving-agent 思想与 AI 陪练领域的深度整合,在泛用框架之上注入了 12 个 AI 陪练专属 Area、诊断分流触发规则和陪练推广目标表。
|
|
1081
|
-
|
|
1082
|
-
## 引擎架构
|
|
1083
|
-
|
|
1084
|
-
```
|
|
1085
|
-
用户纠正 / 命令失败 / 闸门漏拦 / 新需求
|
|
1086
|
-
↓ 自动捕获
|
|
1087
|
-
├─ 修正/洞察/缺口/最佳实践 → .learnings/LEARNINGS.md
|
|
1088
|
-
├─ 命令失败/集成异常 → .learnings/ERRORS.md
|
|
1089
|
-
├─ 用户请求的新能力 → .learnings/FEATURE_REQUESTS.md
|
|
1090
|
-
↓ 自我反思(每次完成任务后)
|
|
1091
|
-
├─ 结果是否达到预期?
|
|
1092
|
-
├─ 哪里可以更好?
|
|
1093
|
-
├─ 这是反复出现的模式吗?
|
|
1094
|
-
↓ 模式检测(同类 ≥ 3 次 + 跨 ≥ 2 任务 + 30 天内)
|
|
1095
|
-
↓ 自动推广
|
|
1096
|
-
├─ 行为改进 → 本 SKILL.md(诊断标签/闸门/资产规则/调度流程)
|
|
1097
|
-
├─ 工具坑点 → TOOLS.md
|
|
1098
|
-
├─ 调度规则 → AGENTS.md
|
|
1099
|
-
├─ 长期记忆 → MEMORY.md
|
|
1100
|
-
└─ 高价值 → 提取为独立 skill
|
|
1101
|
-
```
|
|
1102
|
-
|
|
1103
|
-
## 学习存储分层
|
|
1104
|
-
|
|
1105
|
-
| 层级 | 位置 | 容量限制 | 加载策略 |
|
|
1106
|
-
|------|------|---------|---------|
|
|
1107
|
-
| **HOT** | `.learnings/` 中 Priority=critical/high 且 Status=pending 的条目 | 无限制 | 任务开始时扫描 |
|
|
1108
|
-
| **WARM** | `.learnings/` 中 Priority=medium 或已 resolved 的条目 | 无限制 | 按 Area 匹配时加载 |
|
|
1109
|
-
| **COLD** | 已 promoted / wont_fix / 90 天以上未触发的条目 | 无限 | 显式查询时加载 |
|
|
1110
|
-
|
|
1111
|
-
### 分层规则
|
|
1112
|
-
|
|
1113
|
-
- Pattern 触发 3 次/7 天内 → 提升 Priority 至 high
|
|
1114
|
-
- Pattern 30 天未触发 → 降 Priority 至 low
|
|
1115
|
-
- Pattern 90 天未触发 → 归档为 COLD(不改动,仅标记)
|
|
1116
|
-
- **绝不删除**已确认的学习条目
|
|
1117
|
-
|
|
1118
|
-
## 学习文件初始化
|
|
1119
|
-
|
|
1120
|
-
首次使用时,确保 `.learnings/` 目录及文件存在:
|
|
1121
|
-
|
|
1122
|
-
```bash
|
|
1123
|
-
mkdir -p .learnings
|
|
1124
|
-
[ -f .learnings/LEARNINGS.md ] || printf "# AI 陪练 - 学习日志\n\n修正、洞察、知识缺口、最佳实践。\n\n**类别**: correction | insight | knowledge_gap | best_practice\n\n---\n" > .learnings/LEARNINGS.md
|
|
1125
|
-
[ -f .learnings/ERRORS.md ] || printf "# AI 陪练 - 错误日志\n\n命令失败与集成异常。\n\n---\n" > .learnings/ERRORS.md
|
|
1126
|
-
[ -f .learnings/FEATURE_REQUESTS.md ] || printf "# AI 陪练 - 功能请求\n\n用户请求的新能力。\n\n---\n" > .learnings/FEATURE_REQUESTS.md
|
|
1127
|
-
```
|
|
1128
|
-
|
|
1129
|
-
不覆盖已有文件。**绝不记录**密钥、token、完整对话抄本或敏感环境变量。
|
|
1130
|
-
|
|
1131
|
-
---
|
|
1132
|
-
|
|
1133
|
-
## AI 陪练专属 Area 标签
|
|
1134
|
-
|
|
1135
|
-
| Area | 范围 |
|
|
1136
|
-
|------|------|
|
|
1137
|
-
| `coaching/prompt` | 提示词创建、优化、微调 |
|
|
1138
|
-
| `coaching/role` | 角色生成、拟真度(按需画像为增强能力) |
|
|
1139
|
-
| `coaching/script` | 交互剧本、流程设置 |
|
|
1140
|
-
| `coaching/knowledge` | 知识库构建、内容提取 |
|
|
1141
|
-
| `coaching/scoring` | 评分标准、评分逻辑 |
|
|
1142
|
-
| `diagnosis` | 诊断标签(F/I/O/P/N/L/E/S/R/K/T/D)的判定与排序 |
|
|
1143
|
-
| `quality-gate` | 创建闸门、微调闸门 |
|
|
1144
|
-
| `asset` | 资产库调用、匹配规则 |
|
|
1145
|
-
| `platform/sync` | 平台同步、环境检测、平台创建 |
|
|
1146
|
-
| `delivery` | 客户交付、培训包、看板 |
|
|
1147
|
-
| `cfg` | 配置、路径、环境变量 |
|
|
1148
|
-
|
|
1149
|
-
---
|
|
1150
|
-
|
|
1151
|
-
## 学习信号检测
|
|
1152
|
-
|
|
1153
|
-
### 自动触发记录的场景
|
|
1154
|
-
|
|
1155
|
-
| 场景 | 写入位置 | 类别 |
|
|
1156
|
-
|------|---------|------|
|
|
1157
|
-
| 用户纠正诊断标签归属 | LEARNINGS.md | `correction` |
|
|
1158
|
-
| 诊断顺序导致误判(如先P后O) | LEARNINGS.md | `correction` |
|
|
1159
|
-
| 闸门漏拦导致交付问题 | LEARNINGS.md | `correction` |
|
|
1160
|
-
| 资产选错导致分析偏差 | LEARNINGS.md | `correction` |
|
|
1161
|
-
| 子技能输出异常 | ERRORS.md | - |
|
|
1162
|
-
| 平台同步环境检测失败 | ERRORS.md | - |
|
|
1163
|
-
| 命令返回非零/超时/权限拒绝 | ERRORS.md | - |
|
|
1164
|
-
| "能不能也支持XX场景" | FEATURE_REQUESTS.md | - |
|
|
1165
|
-
| "为什么不能XX" | FEATURE_REQUESTS.md | - |
|
|
1166
|
-
| 发现新的诊断模式或标签 | LEARNINGS.md | `insight` |
|
|
1167
|
-
| 用户传授新的陪练业务规则 | LEARNINGS.md | `knowledge_gap` |
|
|
1168
|
-
| 找到比现有方法更好的流程 | LEARNINGS.md | `best_practice` |
|
|
1169
|
-
|
|
1170
|
-
### 识别人工纠正的关键词
|
|
1171
|
-
|
|
1172
|
-
- "不对"、"不是这样"、"应该是"、"实际上"、"你搞错了"
|
|
1173
|
-
- "这不是X标签,是Y标签"
|
|
1174
|
-
- "先查X再查Y"
|
|
1175
|
-
- "这个资产不对,应该用XX"
|
|
1176
|
-
- "闸门没拦住,少检查了XX"
|
|
1177
|
-
- "别"、"停止"、"以后不要"
|
|
1178
|
-
- "我更喜欢"、"我一向都是"
|
|
1179
|
-
|
|
1180
|
-
### 识别偏好信号的关键词(直接记录到 SKILL.md 对应节)
|
|
1181
|
-
|
|
1182
|
-
- "我喜欢你这样" → 强化当前行为
|
|
1183
|
-
- "每次都帮我做X" → 写入对应流程
|
|
1184
|
-
- "不要做Y" → 写入对应约束
|
|
1185
|
-
- "我的风格是" → 写入输出格式
|
|
1186
|
-
|
|
1187
|
-
### 识别新需求的关键词
|
|
1188
|
-
|
|
1189
|
-
- "能不能也"、"可以支持吗"、"为什么不"、"有没有办法"、"我想"
|
|
1190
|
-
|
|
1191
|
-
### 以下情况不记录
|
|
1192
|
-
|
|
1193
|
-
- 一次性指令("查一下这个文件")
|
|
1194
|
-
- 上下文相关("在这个场景里")
|
|
1195
|
-
- 假设性问题("如果怎么做会怎样")
|
|
1196
|
-
- 用户没有反馈时的沉默推断
|
|
1197
|
-
|
|
1198
|
-
---
|
|
1199
|
-
|
|
1200
|
-
## 日志格式
|
|
1201
|
-
|
|
1202
|
-
### 学习条目(LEARNINGS.md)
|
|
1203
|
-
|
|
1204
|
-
```markdown
|
|
1205
|
-
## [LRN-YYYYMMDD-XXX] category
|
|
1206
|
-
|
|
1207
|
-
**Logged**: ISO-8601 timestamp
|
|
1208
|
-
**Priority**: low | medium | high | critical
|
|
1209
|
-
**Status**: pending
|
|
1210
|
-
**Area**: coaching/prompt | diagnosis | quality-gate | asset | ...
|
|
1211
|
-
|
|
1212
|
-
### Summary
|
|
1213
|
-
一句话描述学到了什么
|
|
1214
|
-
|
|
1215
|
-
### Details
|
|
1216
|
-
完整上下文:发生了什么、错在哪、正确的是什么
|
|
1217
|
-
|
|
1218
|
-
### Suggested Action
|
|
1219
|
-
具体的修复或改进措施
|
|
1220
|
-
|
|
1221
|
-
### Metadata
|
|
1222
|
-
- Source: conversation | error | user_feedback | self_reflection
|
|
1223
|
-
- Related Files: 涉及的文件路径
|
|
1224
|
-
- Tags: 标签
|
|
1225
|
-
- See Also: LRN-xxxxxxxxx-xxx(如与已有条目关联)
|
|
1226
|
-
- Pattern-Key: 可选,用于跨任务模式追踪
|
|
1227
|
-
- Recurrence-Count: 1
|
|
1228
|
-
- First-Seen: YYYY-MM-DD
|
|
1229
|
-
- Last-Seen: YYYY-MM-DD
|
|
1230
|
-
|
|
1231
|
-
---
|
|
1232
|
-
```
|
|
1233
|
-
|
|
1234
|
-
### 错误条目(ERRORS.md)
|
|
1235
|
-
|
|
1236
|
-
```markdown
|
|
1237
|
-
## [ERR-YYYYMMDD-XXX] skill_or_command
|
|
1238
|
-
|
|
1239
|
-
**Logged**: ISO-8601 timestamp
|
|
1240
|
-
**Priority**: high
|
|
1241
|
-
**Status**: pending
|
|
1242
|
-
**Area**: ...
|
|
1243
|
-
|
|
1244
|
-
### Summary
|
|
1245
|
-
简要描述失败原因
|
|
1246
|
-
|
|
1247
|
-
### Error
|
|
1248
|
-
\`\`\`
|
|
1249
|
-
实际错误消息
|
|
1250
|
-
\`\`\`
|
|
1251
|
-
|
|
1252
|
-
### Context
|
|
1253
|
-
- 执行的命令/操作
|
|
1254
|
-
- 输入参数
|
|
1255
|
-
- 环境信息(如有)
|
|
1256
|
-
|
|
1257
|
-
### Suggested Fix
|
|
1258
|
-
可识别的修复方案
|
|
1259
|
-
|
|
1260
|
-
### Metadata
|
|
1261
|
-
- Reproducible: yes | no | unknown
|
|
1262
|
-
- Related Files: 路径
|
|
1263
|
-
- See Also: ERR-xxxxxxxxx-xxx(如反复出现)
|
|
1264
|
-
|
|
1265
|
-
---
|
|
1266
|
-
```
|
|
1267
|
-
|
|
1268
|
-
### 功能请求(FEATURE_REQUESTS.md)
|
|
1269
|
-
|
|
1270
|
-
```markdown
|
|
1271
|
-
## [FEAT-YYYYMMDD-XXX] capability_name
|
|
1272
|
-
|
|
1273
|
-
**Logged**: ISO-8601 timestamp
|
|
1274
|
-
**Priority**: medium
|
|
1275
|
-
**Status**: pending
|
|
1276
|
-
**Area**: ...
|
|
1277
|
-
|
|
1278
|
-
### Requested Capability
|
|
1279
|
-
用户想要什么能力
|
|
1280
|
-
|
|
1281
|
-
### User Context
|
|
1282
|
-
为什么需要、解决什么问题
|
|
1283
|
-
|
|
1284
|
-
### Complexity Estimate
|
|
1285
|
-
simple | medium | complex
|
|
1286
|
-
|
|
1287
|
-
### Suggested Implementation
|
|
1288
|
-
可能的实现方式
|
|
1289
|
-
|
|
1290
|
-
### Metadata
|
|
1291
|
-
- Frequency: first_time | recurring
|
|
1292
|
-
- Related Features: 关联现有功能
|
|
1293
|
-
|
|
1294
|
-
---
|
|
1295
|
-
```
|
|
1296
|
-
|
|
1297
|
-
### ID 生成规则
|
|
1298
|
-
|
|
1299
|
-
格式:`TYPE-YYYYMMDD-XXX`
|
|
1300
|
-
- TYPE: `LRN`(学习)、`ERR`(错误)、`FEAT`(功能请求)
|
|
1301
|
-
- 日期: 当前日期
|
|
1302
|
-
- 序号: 三位数 `001`、`002`...
|
|
1303
|
-
|
|
1304
|
-
示例:`LRN-20260708-001`、`ERR-20260708-001`、`FEAT-20260708-001`
|
|
1305
|
-
|
|
1306
|
-
---
|
|
1307
|
-
|
|
1308
|
-
## 自我反思机制
|
|
1309
|
-
|
|
1310
|
-
每完成一个完整任务后,主动执行三问反思:
|
|
1311
|
-
|
|
1312
|
-
### 反思模板
|
|
1313
|
-
|
|
1314
|
-
```
|
|
1315
|
-
CONTEXT: [任务类型] - [场景名称]
|
|
1316
|
-
REFLECTION: [我注意到什么]
|
|
1317
|
-
LESSON: [下次应该怎么做不同]
|
|
1318
|
-
```
|
|
1319
|
-
|
|
1320
|
-
### 示例
|
|
1321
|
-
|
|
1322
|
-
```
|
|
1323
|
-
CONTEXT: 微调型任务 - XX保险公司电话约访
|
|
1324
|
-
REFLECTION: 先P后O诊断,结果O误判导致P误报。用户指正后调整顺序才找到真正问题
|
|
1325
|
-
LESSON: 诊断顺序硬约束:必须先O再P,跳过必错
|
|
1326
|
-
```
|
|
1327
|
-
|
|
1328
|
-
### 何时反思
|
|
1329
|
-
|
|
1330
|
-
- 完成多步骤任务后
|
|
1331
|
-
- 收到反馈后(正面或负面)
|
|
1332
|
-
- 修复错误后
|
|
1333
|
-
- 发现自己的输出可以更好时
|
|
1334
|
-
|
|
1335
|
-
反思条目同样遵循推广规则:成功应用 3 次 → 提升 Priority → 满足推广条件后写入本 SKILL.md。
|
|
1336
|
-
|
|
1337
|
-
---
|
|
1338
|
-
|
|
1339
|
-
## 冲突解决
|
|
1340
|
-
|
|
1341
|
-
当学习条目相互矛盾时:
|
|
1342
|
-
|
|
1343
|
-
1. **最具体的优先**:项目级 > Area级 > 全局
|
|
1344
|
-
2. **最新的优先**(同级时):尊重演化
|
|
1345
|
-
3. **模糊不清时** → 追问用户确认
|
|
1346
|
-
|
|
1347
|
-
**示例**:
|
|
1348
|
-
- 全局规则:"微调时必须跑全部资产库"
|
|
1349
|
-
- 项目级规则:"药店场景微调时跳过客户角色模板库(因为药店角色已定型)"
|
|
1350
|
-
- → 执行时采用项目级规则
|
|
1351
|
-
|
|
1352
|
-
---
|
|
1353
|
-
|
|
1354
|
-
## 条目生命周期
|
|
1355
|
-
|
|
1356
|
-
### 状态流转
|
|
1357
|
-
|
|
1358
|
-
```
|
|
1359
|
-
pending → resolved | promoted | promoted_to_skill | wont_fix
|
|
1360
|
-
```
|
|
1361
|
-
|
|
1362
|
-
### 解决后
|
|
1363
|
-
|
|
1364
|
-
1. 改 `**Status**: pending` → `**Status**: resolved`
|
|
1365
|
-
2. 追加 Resolution 块:
|
|
1366
|
-
|
|
1367
|
-
```markdown
|
|
1368
|
-
### Resolution
|
|
1369
|
-
- **Resolved**: ISO-8601
|
|
1370
|
-
- **Notes**: 简述做了什么
|
|
1371
|
-
```
|
|
1372
|
-
|
|
1373
|
-
### 推广后
|
|
1374
|
-
|
|
1375
|
-
1. 改 `**Status**: pending` → `**Status**: promoted`
|
|
1376
|
-
2. 加 `**Promoted**: SKILL.md | AGENTS.md | TOOLS.md | MEMORY.md`
|
|
1377
|
-
|
|
1378
|
-
---
|
|
1379
|
-
|
|
1380
|
-
## 模式检测与自动推广
|
|
1381
|
-
|
|
1382
|
-
### 写入前先查重
|
|
1383
|
-
|
|
1384
|
-
```bash
|
|
1385
|
-
grep -rn "关键词" .learnings/
|
|
1386
|
-
```
|
|
1387
|
-
|
|
1388
|
-
- 已有类似条目 → 加 `See Also` 链接,bump 优先级,递增 `Recurrence-Count`
|
|
1389
|
-
- 没有 → 新建
|
|
1390
|
-
|
|
1391
|
-
### 自动推广条件(满足全部 3 条)
|
|
1392
|
-
|
|
1393
|
-
- `Recurrence-Count ≥ 3`
|
|
1394
|
-
- 跨至少 2 个不同任务
|
|
1395
|
-
- 30 天内出现
|
|
1396
|
-
|
|
1397
|
-
### 推广目标
|
|
1398
|
-
|
|
1399
|
-
| 学习类型 | 推广到 | 示例 |
|
|
1400
|
-
|---------|--------|------|
|
|
1401
|
-
| 诊断标签判定修正 | 本 SKILL.md「微调诊断标签」节 | "模板化万能回应归N不归O" |
|
|
1402
|
-
| 闸门漏拦 | 本 SKILL.md「质量闸门」节 | "新增第11项:每阶段退出条件" |
|
|
1403
|
-
| 资产选错规则 | 本 SKILL.md「资产调用规则」节 | "评分不准时同步查Bad Case库" |
|
|
1404
|
-
| 调度顺序优化 | AGENTS.md | "微调前必须先查err-detected" |
|
|
1405
|
-
| 工具/命令坑点 | TOOLS.md | "soke-cli login 需要先 node>=14" |
|
|
1406
|
-
| 行为模式改进 | SOUL.md | "诊断报告不含未经标签的猜测" |
|
|
1407
|
-
| 业务经验 | MEMORY.md | "XX客户偏好电话约访场景" |
|
|
1408
|
-
| 高复发价值 | 提取为独立 skill | LRN → skills/coaching-fix-name/ |
|
|
1409
|
-
|
|
1410
|
-
### 推广时保持简洁
|
|
1411
|
-
|
|
1412
|
-
推广到系统文件时,只写短规则,不写长篇事件描述:
|
|
1413
|
-
|
|
1414
|
-
```
|
|
1415
|
-
❌ 坏:"2026年7月8日,在处理XX保险公司的陪练微调时,用户指出...经过排查发现..."
|
|
1416
|
-
✅ 好:"诊断顺序硬约束:必须先O再P再N,禁止跳过。"
|
|
1417
|
-
```
|
|
1418
|
-
|
|
1419
|
-
---
|
|
1420
|
-
|
|
1421
|
-
## 常见陷阱与应对
|
|
1422
|
-
|
|
1423
|
-
| 陷阱 | 为什么危险 | 正确做法 |
|
|
1424
|
-
|------|-----------|---------|
|
|
1425
|
-
| **从沉默中学习** | 创造虚假规则 | 等待显式纠正或重复证据 |
|
|
1426
|
-
| **推广太快** | 污染 HOT 记忆 | 新教训保持 tentative,等待重复 |
|
|
1427
|
-
| **把一次性指令当规则** | 过度泛化 | 只有重复 ≥ 3 次且跨任务的才推广 |
|
|
1428
|
-
| **压缩时删除** | 丢失信任和历史 | 合并、汇总、或降级,不删除 |
|
|
1429
|
-
| **把技术问题当提示词问题** | 无效修改、故障不修复 | 严格走技术分流流程 |
|
|
1430
|
-
| **先P后O诊断** | 角色OOC导致P误判 | 强制 T→O→P→N 顺序 |
|
|
1431
|
-
| **忽略沉默中的偏好** | 用户懒得说但你该记住 | 偏好信号("我喜欢")→ 立即记录 |
|
|
1432
|
-
|
|
1433
|
-
---
|
|
1434
|
-
|
|
1435
|
-
## 学习推广示例
|
|
1436
|
-
|
|
1437
|
-
### 案例 1:标签判定修正
|
|
1438
|
-
|
|
1439
|
-
```
|
|
1440
|
-
用户:"这不是N(自然度违规),这是O(角色OOC)"
|
|
1441
|
-
→ [LRN-20260708-001] correction,Area: diagnosis
|
|
1442
|
-
→ 复发 3 次后推广
|
|
1443
|
-
→ 本 SKILL.md「诊断分析顺序」节写入新规则
|
|
1444
|
-
```
|
|
1445
|
-
|
|
1446
|
-
### 案例 2:闸门漏拦
|
|
1447
|
-
|
|
1448
|
-
```
|
|
1449
|
-
交付后用户发现结束条件不清晰
|
|
1450
|
-
→ [LRN-20260708-002] correction,Area: quality-gate
|
|
1451
|
-
→ 推广到「创建闸门」新增:"每个阶段有明确的退出条件"
|
|
1452
|
-
```
|
|
1453
|
-
|
|
1454
|
-
### 案例 3:资产选错
|
|
1455
|
-
|
|
1456
|
-
```
|
|
1457
|
-
微调"评分不准"时只查了评分组件库,漏了Bad Case库
|
|
1458
|
-
→ [LRN-20260708-003] correction,Area: asset
|
|
1459
|
-
→ 推广到「资产调用规则」微调按需选读:
|
|
1460
|
-
"评分不准:必读评分组件库 + 同步查 Bad Case 中同类问题"
|
|
1461
|
-
```
|
|
1462
|
-
|
|
1463
|
-
---
|
|
1464
|
-
|
|
1465
|
-
## 周期性审查
|
|
1466
|
-
|
|
1467
|
-
### 何时审查
|
|
1468
|
-
|
|
1469
|
-
- 每次大任务开始前
|
|
1470
|
-
- 每次交付完成后
|
|
1471
|
-
- 每周主动检查一次
|
|
1472
|
-
|
|
1473
|
-
### 快速状态
|
|
1474
|
-
|
|
1475
|
-
```bash
|
|
1476
|
-
# 待处理数量
|
|
1477
|
-
grep -ch 'Status\*\*: pending' .learnings/*.md
|
|
1478
|
-
|
|
1479
|
-
# 高优先级条目
|
|
1480
|
-
grep -B5 'Priority\*\*: high' .learnings/*.md | grep '^## \['
|
|
1481
|
-
```
|
|
1482
|
-
|
|
1483
|
-
### 审查动作
|
|
1484
|
-
|
|
1485
|
-
- 待处理 → 解决 → resolved
|
|
1486
|
-
- 满足推广条件 → promoted
|
|
1487
|
-
- 关联相关条目 → 加 See Also
|
|
1488
|
-
- 反复出现的问题 → 升级为独立 issue
|
|
1489
|
-
|
|
1490
|
-
---
|
|
1491
|
-
|
|
1492
|
-
## 技能自动提取
|
|
1493
|
-
|
|
1494
|
-
### 提取条件(满足任一)
|
|
1495
|
-
|
|
1496
|
-
- 有 2+ 个 See Also 关联(反复出现)
|
|
1497
|
-
- 状态 resolved 且有可工作修复
|
|
1498
|
-
- 需要实际排查才能发现(非显而易见)
|
|
1499
|
-
- 跨项目适用
|
|
1500
|
-
- 用户明确说"记下来"、"下次别忘了"
|
|
1501
|
-
|
|
1502
|
-
### 提取流程
|
|
1503
|
-
|
|
1504
|
-
1. 确认候选 learning 满足条件
|
|
1505
|
-
2. 使用 `assets/SKILL-TEMPLATE.md` 模板,创建 `skills/<skill-name>/SKILL.md`
|
|
1506
|
-
3. 更新原 learning:`**Status**: promoted_to_skill`、加 `Skill-Path`
|
|
1507
|
-
4. 在新 session 验证 skill 可独立使用
|
|
1508
|
-
|
|
1509
|
-
---
|
|
1510
|
-
|
|
1511
|
-
## 与主流程的集成点
|
|
1512
|
-
|
|
1513
|
-
### 意图识别阶段
|
|
1514
|
-
|
|
1515
|
-
- 检查 `.learnings/` 中是否有与当前任务 Area 匹配的 Priority=high/critical 且 Status=pending 的条目
|
|
1516
|
-
- 如有,在「意图识别」输出中追加:`⚠️ 历史学习提醒:XX(LRN-XXX)`
|
|
1517
|
-
|
|
1518
|
-
### 诊断阶段
|
|
1519
|
-
|
|
1520
|
-
- 每次打完诊断标签后,自动扫描用户反馈中的纠正关键词
|
|
1521
|
-
- 如检测到纠正 → 立即修正当前行为 → 异步写入 LEARNINGS.md,任务结束后推广
|
|
1522
|
-
|
|
1523
|
-
### 交付阶段
|
|
1524
|
-
|
|
1525
|
-
- 交付前跑闸门清单
|
|
1526
|
-
- 如闸门漏拦 → 写 LEARNINGS.md,标注 quality-gate Area
|
|
1527
|
-
|
|
1528
|
-
### 任务收尾阶段
|
|
1529
|
-
|
|
1530
|
-
每个完整任务结束时:
|
|
1531
|
-
|
|
1532
|
-
- 执行自我反思(三问)
|
|
1533
|
-
- 输出简洁的学习摘要(新条目数量 + 关键洞察)
|
|
1534
|
-
- 如有反思 → 写入 LEARNINGS.md
|
|
1535
|
-
|
|
1536
|
-
---
|
|
1537
|
-
|
|
1538
|
-
## 辅助脚本与模板
|
|
1539
|
-
|
|
1540
|
-
| 文件 | 用途 |
|
|
1541
|
-
|------|------|
|
|
1542
|
-
| `scripts/activator.sh` | 每轮对话后提醒评估学习(可选启用) |
|
|
1543
|
-
| `scripts/error-detector.sh` | 命令执行失败时自动检测并提示记录 |
|
|
1544
|
-
| `scripts/extract-skill.sh` | 从 learning 提取为新 skill |
|
|
1545
|
-
| `assets/LEARNINGS-TEMPLATE.md` | 学习条目记录模板 |
|
|
1546
|
-
| `assets/ERRORS-TEMPLATE.md` | 错误条目记录模板 |
|
|
1547
|
-
| `assets/FEATURE_REQUESTS-TEMPLATE.md` | 功能请求记录模板 |
|
|
1548
|
-
| `assets/SKILL-TEMPLATE.md` | 新技能创建模板 |
|
|
1549
|
-
|
|
1550
|
-
---
|
|
1551
|
-
|
|
1552
|
-
## 最佳实践
|
|
1553
|
-
|
|
1554
|
-
1. **立刻记录** - 上下文在问题刚发生时最新鲜
|
|
1555
|
-
2. **具体明确** - 后续的自己需要快速理解
|
|
1556
|
-
3. **包含复现步骤** - 特别是错误
|
|
1557
|
-
4. **链接相关文件** - 方便修复
|
|
1558
|
-
5. **给出具体修复建议** - 不只是"调查一下"
|
|
1559
|
-
6. **积极推广** - 拿不准时,推广到本 SKILL.md 比漏掉好
|
|
1560
|
-
7. **定期审查** - 过时的 learning 没有价值
|
|
1561
|
-
8. **屏蔽敏感信息** - 不记录密钥、token、完整对话抄本
|
|
1562
|
-
9. **从纠正中学习,不从沉默中学习** - 没有显式纠正 = 没有教训
|
|
1563
|
-
10. **推广前先确认** - 3 次同类纠正后,问一句"这是否可以作为永久规则?"
|