@furongjun1999/dsh-memory 0.4.11 → 0.5.1
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 +552 -465
- package/codebuddy/CODEBUDDY.md +11 -3
- package/codebuddy/README.md +92 -90
- package/codebuddy/mcp.json +27 -27
- package/docs/GBrain/345/217/257/345/200/237/351/211/264/347/202/271_/347/201/265/346/236/242/350/220/275/347/202/271/344/272/244/346/216/245_20260919.md +169 -169
- package/docs/Pi/345/217/257/345/255/246/344/271/240/344/274/230/347/202/271_/347/201/265/346/236/242/345/244/247/350/204/221/346/224/271/350/277/233/344/272/244/346/216/245_20260915.md +144 -144
- package/docs/README.md +143 -111
- package/docs/discipline/harnesses.yaml +244 -226
- package/docs/discipline/templates/full.md.tmpl +61 -61
- package/docs/discipline/templates/rules.mdc.tmpl +68 -0
- package/docs/discipline/templates/skill.md.tmpl +23 -23
- package/docs/eval/AGI/344/270/203/347/273/264/350/257/204/345/210/206/346/212/245/345/221/212_md_cg_v1.0.md +299 -299
- package/docs/eval/AGI/344/270/203/347/273/264/350/257/204/345/210/206/346/212/245/345/221/212_md_cg_v2.0.md +239 -239
- package/docs/eval/bench_lingshu_self/bench_self.py +140 -0
- package/docs/eval/bench_lingshu_self/self_bench_result.json +404 -0
- package/docs/eval/bench_lingshu_self//347/201/265/346/236/242/350/207/252/345/272/223/347/253/257/345/210/260/347/253/257/346/243/200/347/264/242/345/256/236/346/265/213_v1.0.md +38 -0
- package/docs/eval//344/270/215/345/217/257/351/235/240/346/200/247/350/220/275/345/234/260_P0_v1.0.md +185 -0
- package/docs/eval//345/256/236/351/252/214/346/226/271/346/241/210_/345/255/246/344/271/240/351/227/255/347/216/257AB/344/270/216/346/250/252/350/257/204_v1.0.md +174 -174
- package/docs/eval//346/225/205/351/232/234/346/263/250/345/205/245/345/256/236/346/265/213_v1.0.md +422 -0
- package/docs/eval//346/250/252/350/257/204_/345/205/255/345/256/266100/351/242/230/344/270/255/350/213/261/345/217/214/346/237/245_v1.0.md +223 -223
- package/docs/eval//347/253/257/345/210/260/347/253/257LoCoMoQA/345/220/214/345/217/243/345/276/204/345/257/271/347/205/247_v1.0.md +100 -0
- package/docs/eval//347/253/257/345/210/260/347/253/257/345/271/262/346/211/260/346/261/240/350/257/204/346/265/213_/347/241/256/345/256/232/346/200/247/350/243/201/345/206/263vsLLM_judge_v1.1.md +197 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v1.md +156 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v10.md +210 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v11.md +227 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v12.md +203 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v13.md +233 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v14.md +191 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v15.md +213 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v16.md +214 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v17.md +199 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v2.md +156 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v3.md +152 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v4.md +128 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v5.md +114 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v6.md +192 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v7.md +187 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v8.md +207 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v9.md +203 -0
- package/docs/{mdcg → hive}//344/273/244/347/211/214/344/270/216/350/247/222/350/211/262/346/235/203/350/201/214/345/210/206/347/246/273_v0.1.md +165 -160
- package/docs/hive//344/273/244/347/211/214/350/257/255/344/271/211/344/277/256/346/255/243_/344/273/262/350/243/201/344/275/215_v0.1.md +76 -0
- package/docs/{mdcg → hive}//345/255/220/344/273/243/347/220/206/351/205/215/347/275/256/346/240/207/345/207/206_v0.5.md +236 -236
- package/docs/hive//345/256/211/345/205/250/345/256/241/350/256/241/345/256/236/351/224/232_v0.1.md +202 -0
- package/docs/hive//346/243/200/347/264/242/346/224/266/346/225/233/345/256/236/346/265/213/344/270/216S1b/350/256/276/350/256/241_v0.1.md +43 -43
- package/docs/hive//346/243/200/347/264/242/347/256/227/346/263/225/345/217/243/345/276/204/345/257/271/347/205/247_v0.1.md +85 -0
- package/docs/hive//346/243/200/347/264/242/350/267/257/345/276/204/344/270/216/350/256/244/347/237/245/347/273/223/346/236/204/345/245/221/347/272/246_v0.1.md +102 -102
- package/docs/hive//350/234/202/345/267/242M6_ingest/345/256/236/346/226/275/350/256/241/345/210/222_v0.1.md +47 -0
- package/docs/hive//350/234/202/345/267/242/345/217/214/345/256/236/344/276/213/344/272/222/351/252/214_/350/256/276/350/256/241/345/256/232/347/250/277.md +519 -503
- package/docs/hive//350/234/202/345/267/242/345/267/245/344/275/234/350/256/260/345/277/206_/351/241/271/347/233/256/350/256/241/345/210/222.md +85 -85
- package/docs/hive//350/234/202/345/267/242/350/256/276/350/256/241_/347/220/206/350/256/272/345/257/271/351/275/220_v0.1.md +191 -0
- package/docs/hive//350/234/202/345/267/242/350/277/255/344/273/243_/345/256/217/350/247/202/344/270/216/347/276/244/344/275/223/350/260/203/345/272/246_v0.1.md +90 -0
- package/docs/images/lingshu-moonlight-covenant-poster-preview.jpg +0 -0
- package/docs/images/lingshu-moonlight-covenant-poster.png +0 -0
- package/docs/mdcg/D_meta_/345/267/245/347/250/213/345/214/226/346/226/271/346/241/210_v0.2.md +216 -216
- package/docs/mdcg/README/350/257/246/347/273/206/347/211/210_v0.4.10.md +646 -646
- package/docs/mdcg/lingshu_tutorial.html +14449 -14449
- package/docs/mdcg/release_v0.4.11.md +49 -0
- package/docs/mdcg/release_v0.4.5.md +55 -55
- package/docs/mdcg/tool_table_v0.3.0.md +117 -117
- package/docs/mdcg//345/205/250/345/272/223/344/273/243/347/240/201/350/257/204/345/256/241/344/270/216/346/235/241/344/273/266/345/214/226/346/263/250/351/207/212_/350/256/241/345/210/222_v0.1.md +600 -600
- package/docs/mdcg//345/212/237/350/203/275/350/260/203/347/224/250/346/230/240/345/260/204/350/241/250_v0.1.md +40 -40
- package/docs/mdcg//345/215/225/345/205/203/350/207/252/346/210/221/351/224/232/347/202/271_/347/263/273/347/273/237/346/217/220/347/244/272/350/257/215/346/240/207/345/207/206_v0.3.md +275 -275
- package/docs/mdcg//345/217/221/345/270/203/351/227/250/347/246/201/351/223/276_v0.1.md +54 -0
- package/docs/mdcg//346/272/220/347/240/201/347/272/247/346/236/266/346/236/204/345/256/241/350/256/241_GPT/346/211/271/350/257/204/345/257/271/347/205/247_v1.0.md +130 -130
- package/docs/mdcg//347/201/265/346/236/24282/345/267/245/345/205/267_/345/212/237/350/203/275/346/225/264/347/220/206/344/270/216/350/277/201/347/247/273/346/230/240/345/260/204_v0.1.md +278 -278
- package/docs/mdcg//347/201/265/346/236/242/350/256/260/345/277/206/345/212/250/350/257/215/345/215/217/350/256/256_v1.0-draft.md +172 -172
- package/docs/mdcg//347/274/272/345/217/243/345/215/225_P0/346/224/266/345/217/243_v0.1.md +270 -270
- package/docs/mdcg//350/256/244/347/237/245/345/233/276_G4-G8/347/274/272/345/217/243/350/243/201/345/256/232/345/215/225_v0.1.md +491 -491
- package/docs/mdcg//350/256/244/347/237/245/345/233/276_/346/235/241/344/273/266/347/251/272/351/227/264/345/220/210/346/210/220/344/270/216/347/224/237/346/225/210/346/235/241/344/273/266/345/217/243/345/276/204_v0.1.md +340 -340
- package/docs/mdcg//350/256/244/347/237/245/345/233/276_/347/264/242/345/274/225/344/270/216/345/267/245/347/250/213/350/247/204/350/214/203/345/214/226_/350/256/241/345/210/222_v0.1.md +588 -588
- package/docs/plans/GridWorld/346/234/200/345/260/217/351/227/255/347/216/257/350/247/204/346/240/274_v0.1.md +176 -176
- package/docs/plans//345/221/275/345/220/215/346/262/273/347/220/206_/351/241/271/347/233/256/350/256/241/345/210/222.md +81 -81
- package/docs/swarm//350/234/202/347/276/244/344/272/222/350/201/224_v0.1.md +704 -704
- package/docs/swarm//350/234/202/347/276/244/345/220/214/351/224/231/346/243/200/346/265/213/345/256/236/351/252/214/345/215/217/350/256/256_v0.1.md +242 -242
- package/docs/theory//344/270/215/345/217/257/351/235/240/345/256/232/347/220/206/344/270/216/345/244/261/346/225/210/344/274/230/345/205/210/346/241/206/346/236/266_v0.3.md +365 -0
- package/docs/theory//345/215/225/347/272/277/347/250/213/344/270/216/346/263/250/346/204/217/345/212/233/351/233/206/344/270/255_/346/227/240/344/272/211/350/256/256/347/220/206/350/256/272/346/226/207/346/241/243_v1.0.md +129 -129
- package/docs/theory//345/271/266/345/217/221/345/277/205/347/204/266/346/200/247/347/220/206/350/256/272_v0.2.md +134 -134
- package/docs/theory//346/231/272/350/203/275/350/256/2723.4.md +5260 -5260
- package/docs/theory//346/246/202/345/277/265/345/210/206/345/261/202/345/257/271/351/275/220/350/241/250_v0.1.md +145 -145
- package/docs/theory//347/220/206/350/256/272_/346/234/272/345/210/266_/344/273/243/347/240/201_/345/256/236/351/252/214_/347/274/272/345/217/243/347/237/251/351/230/265_v0.1.md +144 -144
- package/docs/theory//347/220/206/350/256/272/344/273/223/346/213/206/345/210/206/344/270/216/347/231/275/347/256/261/347/237/245/350/257/206/345/272/223/345/206/205/350/277/201_v0.1.md +198 -198
- package/docs/theory//350/256/244/347/237/245/344/273/243/347/220/206/344/270/216/346/224/266/346/225/233/347/273/223/346/236/204_/346/235/241/344/273/266/350/256/272/351/207/215/346/236/204_v0.1.md +221 -221
- package/docs/world_model//344/270/226/347/225/214/346/250/241/345/236/213_/347/245/236/347/273/217/347/275/221/347/273/234/345/272/225/345/261/202/346/236/266/346/236/204_v1.0.md +237 -237
- package/docs//344/270/215/345/217/257/351/235/240/346/200/247/347/220/206/350/256/272_v0.1.md +343 -0
- package/docs//345/217/221/345/270/203/344/273/266/345/233/236/346/272/257/350/257/264/346/230/216_v0.1.md +82 -82
- package/docs//345/267/245/344/275/234/347/272/252/345/276/213_/350/256/244/347/237/245/345/233/276/346/235/241/347/233/256_v1.1.json +28 -2
- package/dsh/README.md +82 -82
- package/dsh/cordis.yml.example +139 -139
- package/dsh/update-lingshu.bat +11 -11
- package/lib/bridge.d.ts +9 -0
- package/lib/bridge.js +35 -0
- package/lib/hooks.js +36 -2
- package/lib/index.js +7 -1
- package/lib/lib/roleplay_web.js +116 -29
- package/lib/lib/token_store.d.ts +7 -1
- package/lib/lib/token_store.js +12 -3
- package/md_cg/__init__.py +7 -7
- package/md_cg/audit.py +379 -368
- package/md_cg/autonomy.py +287 -287
- package/md_cg/backfill.py +1328 -1327
- package/md_cg/backfill_bigdomain.py +34 -34
- package/md_cg/backfill_bucket_zh.py +35 -0
- package/md_cg/bench6_arms.py +410 -410
- package/md_cg/bench6_common.py +230 -230
- package/md_cg/bench6_competitors.py +212 -212
- package/md_cg/bench_axis_domain.py +257 -257
- package/md_cg/bench_blind_comp.py +308 -308
- package/md_cg/bench_e2e_judge.py +532 -0
- package/md_cg/bench_e2e_locomo_qa.py +368 -0
- package/md_cg/bench_e2e_qa.py +256 -0
- package/md_cg/bench_en_atoms_public.py +230 -230
- package/md_cg/bench_governance.py +348 -348
- package/md_cg/bench_lme_zh.py +410 -410
- package/md_cg/bench_locomo.py +121 -121
- package/md_cg/bench_locomo_zh.py +450 -450
- package/md_cg/bench_locomo_zh_public.py +147 -147
- package/md_cg/bench_longmem.py +112 -112
- package/md_cg/bench_membench.py +632 -632
- package/md_cg/bench_p0.py +149 -149
- package/md_cg/bench_progressive.py +287 -287
- package/md_cg/bench_role_views.py +238 -238
- package/md_cg/bench_task_ab.py +243 -243
- package/md_cg/bench_task_ab_llm.py +408 -408
- package/md_cg/bench_unified_en.py +204 -204
- package/md_cg/bench_zh_mad.py +601 -601
- package/md_cg/blindspot_tickets.py +123 -123
- package/md_cg/branches.py +301 -285
- package/md_cg/build_postings.py +73 -73
- package/md_cg/ccgc.py +1006 -948
- package/md_cg/census.py +132 -132
- package/md_cg/chain.py +315 -300
- package/md_cg/codeindex.py +531 -531
- package/md_cg/coldverify.py +292 -292
- package/md_cg/comment_gate.py +337 -337
- package/md_cg/cond_compose.py +190 -190
- package/md_cg/cond_facts.py +154 -154
- package/md_cg/cond_template.json +106 -106
- package/md_cg/condition_anchor.py +142 -142
- package/md_cg/conformance.py +726 -726
- package/md_cg/consistency.py +717 -717
- package/md_cg/consolidate.py +1537 -1439
- package/md_cg/corpus.py +110 -110
- package/md_cg/crosscheck.py +1098 -1097
- package/md_cg/crypto.py +3 -1
- package/md_cg/d_meta.py +310 -310
- package/md_cg/datapath.py +78 -18
- package/md_cg/docindex.py +473 -473
- package/md_cg/eval_common.py +575 -575
- package/md_cg/evidence.py +4 -2
- package/md_cg/evolution.py +477 -477
- package/md_cg/export.py +222 -220
- package/md_cg/forgetting.py +581 -581
- package/md_cg/fsutil.py +377 -329
- package/md_cg/hotcache.py +48 -7
- package/md_cg/hyperedge.py +251 -251
- package/md_cg/identity.py +390 -390
- package/md_cg/insight.py +500 -500
- package/md_cg/interop.py +338 -0
- package/md_cg/judgment_manifest.py +177 -0
- package/md_cg/lexicon/build_cedict_en_zh.py +329 -329
- package/md_cg/lexicon/build_standard_en.py +171 -171
- package/md_cg/lexicon/expand_en_zh.py +211 -211
- package/md_cg/lifecycle.py +272 -272
- package/md_cg/linkref.py +280 -280
- package/md_cg/links.py +140 -107
- package/md_cg/mcp_server.py +403 -55
- package/md_cg/md_whitebox.py +345 -345
- package/md_cg/mdcg.py +783 -233
- package/md_cg/mdcos.py +500 -70
- package/md_cg/metacognition.py +591 -591
- package/md_cg/migrate.py +119 -119
- package/md_cg/migrate_aeis.py +221 -221
- package/md_cg/migrate_roleplay.py +293 -293
- package/md_cg/migrate_wisdom_graph.py +360 -360
- package/md_cg/mreview/__init__.py +25 -25
- package/md_cg/mreview/__main__.py +110 -110
- package/md_cg/mreview/bundle.py +178 -178
- package/md_cg/mreview/candidates.py +262 -262
- package/md_cg/mreview/govern.py +694 -693
- package/md_cg/mreview/locate.py +939 -939
- package/md_cg/mreview/pipeline.py +728 -728
- package/md_cg/mreview/rules/duplication.json +21 -21
- package/md_cg/mreview/rules/field_coverage.json +54 -54
- package/md_cg/mreview/rules/source_license.json +21 -21
- package/md_cg/mreview/rules/template_flow.json +21 -21
- package/md_cg/mreview/ruleset.py +252 -252
- package/md_cg/nodefile.py +575 -575
- package/md_cg/pooling.py +484 -472
- package/md_cg/postings.py +300 -298
- package/md_cg/predict.py +1100 -1100
- package/md_cg/progressive.py +123 -123
- package/md_cg/protect.py +272 -272
- package/md_cg/protocol/md_cg_gate.proto +33 -33
- package/md_cg/protocol.py +372 -372
- package/md_cg/provenance.py +582 -582
- package/md_cg/reach.py +453 -453
- package/md_cg/readcache.py +143 -0
- package/md_cg/reconcile.py +228 -0
- package/md_cg/refindex.py +833 -833
- package/md_cg/refine.py +604 -604
- package/md_cg/review_cli.py +170 -0
- package/md_cg/roleviews.py +89 -89
- package/md_cg/routing.py +393 -365
- package/md_cg/run_tests.py +211 -0
- package/md_cg/scrub.py +13 -3
- package/md_cg/security.py +128 -18
- package/md_cg/self_state.py +1029 -1029
- package/md_cg/selfreport.py +152 -151
- package/md_cg/semantic/__init__.py +10 -10
- package/md_cg/semantic/canonical.py +122 -122
- package/md_cg/semantic/en_normalizer.py +364 -364
- package/md_cg/semantic/en_zh_map.json +28694 -0
- package/md_cg/semantic/export_en_zh_map.py +64 -0
- package/md_cg/semantic/unify.py +45 -0
- package/md_cg/semantic/zh_en_atoms.py +139 -139
- package/md_cg/signer.py +7 -4
- package/md_cg/sources.py +816 -582
- package/md_cg/statushdr.py +179 -179
- package/md_cg/stg.py +54 -37
- package/md_cg/subgraph.py +729 -729
- package/md_cg/sustain.py +35 -5
- package/md_cg/tasks.py +470 -470
- package/md_cg/test_access_hints.py +147 -0
- package/md_cg/test_action_derive.py +203 -203
- package/md_cg/test_audit_rotate.py +270 -270
- package/md_cg/test_autonomy.py +143 -143
- package/md_cg/test_bench_governance.py +102 -102
- package/md_cg/test_blindspot_tickets.py +166 -166
- package/md_cg/test_branch_discard_tombstone.py +136 -0
- package/md_cg/test_branches.py +13 -3
- package/md_cg/test_ccg_perturb.py +184 -184
- package/md_cg/test_ccgc.py +433 -433
- package/md_cg/test_census_prune.py +81 -81
- package/md_cg/test_chain_read_isolate.py +168 -0
- package/md_cg/test_cond_compose_anchors.py +76 -76
- package/md_cg/test_cond_match.py +165 -165
- package/md_cg/test_condition_anchor.py +81 -81
- package/md_cg/test_d_meta.py +412 -412
- package/md_cg/test_datapath_device_name.py +203 -0
- package/md_cg/test_datapath_root.py +199 -199
- package/md_cg/test_emit_negtail_cache.py +156 -0
- package/md_cg/test_en_pipeline.py +22 -2
- package/md_cg/test_gain_gate.py +212 -212
- package/md_cg/test_govern_directread.py +421 -0
- package/md_cg/test_health_scale.py +173 -173
- package/md_cg/test_hive_ingest.py +285 -0
- package/md_cg/test_hot_cold.py +215 -215
- package/md_cg/test_hyperedge.py +245 -245
- package/md_cg/test_i26_empty_first_write.py +116 -0
- package/md_cg/test_i27_e041_identity.py +128 -0
- package/md_cg/test_i28_hotcache_prodpath.py +122 -0
- package/md_cg/test_i32_hotcache_env_key.py +218 -0
- package/md_cg/test_identity_attribution.py +96 -15
- package/md_cg/test_index_durability.py +17 -3
- package/md_cg/test_interop.py +95 -0
- package/md_cg/test_interop_judgment.py +228 -0
- package/md_cg/test_issue39_utf8_stdio.py +273 -0
- package/md_cg/test_lifecycle.py +309 -309
- package/md_cg/test_linkref.py +306 -306
- package/md_cg/test_links_concurrent_write.py +188 -0
- package/md_cg/test_lock.py +43 -43
- package/md_cg/test_md_access_parity.py +255 -255
- package/md_cg/test_md_writepath.py +345 -345
- package/md_cg/test_mdstore_search_parity.py +160 -0
- package/md_cg/test_merge_upsert.py +168 -0
- package/md_cg/test_mr_m2.py +587 -587
- package/md_cg/test_mr_m3.py +710 -710
- package/md_cg/test_mr_m4.py +485 -485
- package/md_cg/test_n123_derive_expiry_chain.py +205 -0
- package/md_cg/test_n130_verify_falsified_protect.py +185 -0
- package/md_cg/test_n131_merge_gate.py +205 -0
- package/md_cg/test_p0.py +250 -250
- package/md_cg/test_p1.py +316 -316
- package/md_cg/test_p10_identity.py +173 -173
- package/md_cg/test_p11_consistency.py +233 -233
- package/md_cg/test_p12_metacognition.py +212 -212
- package/md_cg/test_p13_encryption.py +241 -241
- package/md_cg/test_p14_sustain.py +249 -249
- package/md_cg/test_p15_scrub.py +280 -280
- package/md_cg/test_p16_self_state.py +301 -301
- package/md_cg/test_p17_predict.py +354 -354
- package/md_cg/test_p18_whitebox.py +171 -171
- package/md_cg/test_p19_migrate_roleplay.py +149 -149
- package/md_cg/test_p1x_ref_root.py +160 -0
- package/md_cg/test_p20_evolution.py +315 -315
- package/md_cg/test_p21_tokens.py +293 -270
- package/md_cg/test_p22_theory.py +175 -175
- package/md_cg/test_p23_links.py +311 -311
- package/md_cg/test_p24_evidence.py +227 -227
- package/md_cg/test_p25_weights.py +156 -156
- package/md_cg/test_p26_refindex.py +416 -416
- package/md_cg/test_p27_docindex.py +16 -7
- package/md_cg/test_p28_refcheck.py +305 -305
- package/md_cg/test_p29_session_ingest_export.py +354 -333
- package/md_cg/test_p2_mcp.py +3 -0
- package/md_cg/test_p3.py +11 -2
- package/md_cg/test_p30_maintain.py +330 -330
- package/md_cg/test_p31_insight.py +534 -534
- package/md_cg/test_p32_backfill.py +7 -1
- package/md_cg/test_p33_ccg_wiring.py +293 -293
- package/md_cg/test_p34_crosscheck.py +331 -331
- package/md_cg/test_p35_conditioned_claim.py +252 -252
- package/md_cg/test_p36_kp_align.py +230 -230
- package/md_cg/test_p37_condition_space.py +248 -248
- package/md_cg/test_p38_concurrent_flush.py +102 -0
- package/md_cg/test_p38_contextualize.py +273 -273
- package/md_cg/test_p39_verify_flow.py +153 -0
- package/md_cg/test_p39_vision_evidence.py +369 -369
- package/md_cg/test_p40_refine_worklist.py +241 -241
- package/md_cg/test_p41_evolve_patrol.py +224 -224
- package/md_cg/test_p42_provenance.py +269 -269
- package/md_cg/test_p43_pooling.py +412 -398
- package/md_cg/test_p44_md_whitebox.py +231 -231
- package/md_cg/test_p45_session_identity.py +219 -219
- package/md_cg/test_p46_unit_scope.py +272 -272
- package/md_cg/test_p47_session_view.py +316 -0
- package/md_cg/test_p4_fuzzy.py +223 -223
- package/md_cg/test_p5_semantic.py +226 -226
- package/md_cg/test_p6_consolidate.py +440 -387
- package/md_cg/test_p7_goals_recent.py +202 -202
- package/md_cg/test_p8_subgraph_chain.py +200 -200
- package/md_cg/test_p9_forget_protect.py +231 -231
- package/md_cg/test_predict_beta.py +135 -135
- package/md_cg/test_preflight_failclosed.py +100 -100
- package/md_cg/test_progressive.py +146 -146
- package/md_cg/test_propose_tail_index.py +157 -0
- package/md_cg/test_protocol.py +243 -243
- package/md_cg/test_reach.py +378 -378
- package/md_cg/test_reach_keys.py +201 -201
- package/md_cg/test_read_clip.py +141 -141
- package/md_cg/test_read_scope_b27.py +277 -0
- package/md_cg/test_readcache_default_on.py +168 -0
- package/md_cg/test_readcache_precise_inval.py +270 -0
- package/md_cg/test_readcache_prodpath.py +203 -0
- package/md_cg/test_reconcile_v0.py +294 -0
- package/md_cg/test_retr_gates_prodpath.py +140 -0
- package/md_cg/test_retr_s1.py +344 -340
- package/md_cg/test_retr_s1b.py +276 -209
- package/md_cg/test_retr_s3.py +194 -194
- package/md_cg/test_retr_s4.py +163 -163
- package/md_cg/test_retr_s5.py +200 -200
- package/md_cg/test_retr_s6.py +157 -157
- package/md_cg/test_retr_s7.py +392 -384
- package/md_cg/test_retr_s8_time.py +369 -316
- package/md_cg/test_retr_s9_edges.py +286 -286
- package/md_cg/test_retr_s9_entity_ctx.py +9 -3
- package/md_cg/test_retr_score_once.py +208 -0
- package/md_cg/test_review_conformance.py +367 -367
- package/md_cg/test_review_onepass.py +170 -0
- package/md_cg/test_role_views.py +354 -354
- package/md_cg/test_rrf_graph_seed_cache.py +154 -0
- package/md_cg/test_security_audit.py +155 -0
- package/md_cg/test_security_audit_b26.py +161 -0
- package/md_cg/test_security_audit_v21.py +250 -0
- package/md_cg/test_sem_noise.py +242 -242
- package/md_cg/test_semantic_canonical.py +16 -2
- package/md_cg/test_session_isolation.py +168 -0
- package/md_cg/test_snapshot_autoclose.py +187 -0
- package/md_cg/test_subproc_encoding.py +192 -192
- package/md_cg/test_sustain_mutual.py +153 -153
- package/md_cg/test_tail_watermark_race.py +208 -0
- package/md_cg/test_tasks.py +409 -409
- package/md_cg/test_tenant_env_override_warn.py +139 -0
- package/md_cg/test_tenant_registry_corrupt_warn.py +151 -0
- package/md_cg/test_tool_face.py +189 -189
- package/md_cg/test_transfer.py +180 -180
- package/md_cg/test_trust.py +361 -361
- package/md_cg/test_twophase.py +286 -286
- package/md_cg/test_v14_fixes.py +38 -20
- package/md_cg/test_validity_filter.py +280 -280
- package/md_cg/test_verify_answer.py +138 -138
- package/md_cg/test_verify_dirty_reconcile.py +157 -0
- package/md_cg/test_wisdom_md_store.py +292 -292
- package/md_cg/test_writelimit.py +197 -197
- package/md_cg/test_writepipe.py +214 -214
- package/md_cg/theory.py +6 -3
- package/md_cg/tokens.py +85 -14
- package/md_cg/tool_face.py +260 -260
- package/md_cg/trust.py +986 -950
- package/md_cg/twophase.py +231 -231
- package/md_cg/units.py +668 -667
- package/md_cg/vision_evidence.py +667 -666
- package/md_cg/weights.py +624 -624
- package/md_cg/whitebox.py +527 -527
- package/md_cg/whitebox_kb/__init__.py +37 -37
- package/md_cg/whitebox_kb/aeis_core/__init__.py +42 -42
- package/md_cg/whitebox_kb/aeis_core/semantic.py +280 -280
- package/md_cg/whitebox_kb/aeis_core/textutil.py +13 -13
- package/md_cg/whitebox_kb/engine.py +310 -310
- package/md_cg/whitebox_kb/seed_knowledge//346/231/272/350/203/275/350/256/2723.4.md +5260 -5260
- package/md_cg/whitebox_kb/wisdom/browser_units.py +2631 -2631
- package/md_cg/whitebox_kb/wisdom/causal_discover.py +432 -432
- package/md_cg/whitebox_kb/wisdom/chat_engine.py +1506 -1506
- package/md_cg/whitebox_kb/wisdom/compiler_code_units.py +3033 -3033
- package/md_cg/whitebox_kb/wisdom/condition_algebra.py +112 -112
- package/md_cg/whitebox_kb/wisdom/condition_frame.py +315 -315
- package/md_cg/whitebox_kb/wisdom/condition_kb.py +108 -108
- package/md_cg/whitebox_kb/wisdom/conflict_map.json +4445 -4445
- package/md_cg/whitebox_kb/wisdom/core/lexer.py +512 -512
- package/md_cg/whitebox_kb/wisdom/core/name_checker.py +1023 -1023
- package/md_cg/whitebox_kb/wisdom/cspmn.py +258 -258
- package/md_cg/whitebox_kb/wisdom/csre.py +264 -264
- package/md_cg/whitebox_kb/wisdom/danmaku_audit.py +252 -252
- package/md_cg/whitebox_kb/wisdom/distilled_condition_units.json +6417 -6417
- package/md_cg/whitebox_kb/wisdom/docs/WB-EVAL-20260902b.json +1950 -1950
- package/md_cg/whitebox_kb/wisdom/docs/WB-EVAL-20260902c.json +1296 -1296
- package/md_cg/whitebox_kb/wisdom/docs/whitebox_capability_graph_demo.json +59 -59
- package/md_cg/whitebox_kb/wisdom/graph_db_units.py +3089 -3089
- package/md_cg/whitebox_kb/wisdom/knowledge_points.py +318 -318
- package/md_cg/whitebox_kb/wisdom/md_access.py +470 -470
- package/md_cg/whitebox_kb/wisdom/md_store.py +276 -251
- package/md_cg/whitebox_kb/wisdom/migrate_wisdom.py +476 -476
- package/md_cg/whitebox_kb/wisdom/multilang_ir.py +128 -124
- package/md_cg/whitebox_kb/wisdom/navigate.py +248 -248
- package/md_cg/whitebox_kb/wisdom/neural_retrieve.py +224 -224
- package/md_cg/whitebox_kb/wisdom/os_units.py +2735 -2735
- package/md_cg/whitebox_kb/wisdom/pattern_separation.py +376 -376
- package/md_cg/whitebox_kb/wisdom/prereq_map.json +364 -364
- package/md_cg/whitebox_kb/wisdom/python_code_units.py +2766 -2766
- package/md_cg/whitebox_kb/wisdom/role_solidified.json +7 -7
- package/md_cg/whitebox_kb/wisdom/route_memory.py +244 -244
- package/md_cg/whitebox_kb/wisdom/scene_reconstruction.py +148 -148
- package/md_cg/whitebox_kb/wisdom/snr_report.json +40 -40
- package/md_cg/whitebox_kb/wisdom/test_code_compose_domains.py +7541 -7541
- package/md_cg/whitebox_kb/wisdom/test_compiler_self_bootstrap.py +354 -354
- package/md_cg/whitebox_kb/wisdom/test_ecosystem_assembly.py +158 -158
- package/md_cg/whitebox_kb/wisdom/test_ecosystem_demos.py +193 -193
- package/md_cg/whitebox_kb/wisdom/test_graph_db.py +292 -292
- package/md_cg/whitebox_kb/wisdom/test_python_self_bootstrap.py +160 -160
- package/md_cg/whitebox_kb/wisdom/trigger_words_index.json +4366 -4366
- package/md_cg/whitebox_kb/wisdom/verifier.py +1297 -1297
- package/md_cg/writelimit.py +356 -356
- package/md_cg/writepipe.py +20 -8
- package/package.json +101 -96
- package/skills/plugin.json +54 -54
- package/skills/skills/designer-perspective/SKILL.md +158 -158
- package/skills/skills/designer-perspective/references/01-observation-position.md +66 -66
- package/skills/skills/designer-perspective/references/02-structure-recognition.md +62 -62
- package/skills/skills/designer-perspective/references/03-direction-judgment.md +55 -55
- package/skills/skills/designer-perspective/references/04-qualification-verdict.md +72 -72
- package/skills/skills/designer-perspective/references/05-condition-attribution.md +74 -74
- package/skills/skills/designer-perspective/scripts/designer.py +545 -545
- package/skills/skills/designer-perspective/tests/cases.jsonl +17 -17
- package/skills/skills/designer-perspective/tests/selftest.py +61 -61
- package/skills/skills/lingshu-browser/SKILL.md +60 -60
- package/skills/skills/lingshu-compiler/SKILL.md +56 -56
- package/skills/skills/lingshu-compiler/units/analyze-type-infer/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/check-name-real/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-assign/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-expr-tree/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-full-pipeline/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-func-def/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-if-then/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-logic-expr/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-recursive/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-scope/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-type-check/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-while/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0010c4bf/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0355bffb/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0361708a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-054a0414/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-05a1691a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-05eeed1e/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0622a1f6/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-08b54217/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0a62b70c/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0ab24d00/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0e093688/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0e82b966/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0ee9b9b9/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0f3787e6/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-1028685f/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-11897630/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-16661b9b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-1f722303/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-25be1262/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-2a76ba07/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-2dbea54a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-2df52f16/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-2ec2c9d2/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-2f8c8f39/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-38378ac7/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-39457d2e/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-39fb5926/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-47f4fbfa/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-4a8cd1f1/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-4b230b6b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-4cbbda95/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-4d5a68ff/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-56dc9bdd/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-57e76ebe/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-61ff016b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-63eae588/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-64c4224b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-66377955/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-674ab4f6/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-6af76fd6/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-6d979db2/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-6de326c0/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-6f1c0eea/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-724d6c9b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-7690177f/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-7b229a7d/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-7f471b3a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-815cad08/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-83c61634/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-8c798c81/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-8dd747ac/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-90324d0a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-94b8d72d/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-94f12231/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-95937c16/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-98a5625b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-98b4c42f/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-98e3894a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-9bdfe4b8/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-9d9b4e83/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-9f7be5ad/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-a6daf076/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-a7995a0c/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-a8399248/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-aabbd099/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-afe169d8/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-b0678bda/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-b09bd196/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-b1396e23/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-b9b31ce0/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-c10264a7/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-cb1e8e4b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-ccafd438/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-cda9c262/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-ce648068/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-cf5776a4/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-d974e5d3/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-e3979fd3/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-eb1cf2b5/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-ecb30d5b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-f8c8b24b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-f99fedbe/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-fa8ff5f7/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-fe1b058d/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/lex-chinese-program/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/lex-dao-de-jing/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/lex-nine-chapters/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-arithmetic/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-array-ops/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-closure-call/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-closure-create/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-compare/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-cond-jump/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-cond-space/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-exception/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-func-call/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-loop-run/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-profiling/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-refcount/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-run-loop/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-short-circuit/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-stack-guard/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-stack-ops/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-trust-accum/SKILL.md +45 -45
- package/skills/skills/lingshu-graph/SKILL.md +63 -63
- package/skills/skills/lingshu-net/SKILL.md +48 -48
- package/skills/skills/lingshu-os/SKILL.md +64 -64
- package/skills/skills/lingshu-pylang/SKILL.md +71 -71
- package/src/bridge.ts +33 -0
- package/src/hooks.ts +38 -2
- package/src/index.ts +526 -518
- package/src/lib/datapath.ts +326 -326
- package/src/lib/mdcg_client.ts +413 -413
- package/src/lib/mutual.ts +428 -428
- package/src/lib/prompt_safety.ts +62 -62
- package/src/lib/python_path.ts +71 -71
- package/src/lib/roleplay_web.ts +116 -29
- package/src/lib/token_store.ts +13 -3
- package/src/tools.ts +212 -212
- package/zcode/AGENTS.md +11 -3
- package/zcode/README.md +41 -41
- /package/docs/{mdcg → hive}//344/270/273/344/273/243/347/220/206/345/255/220/344/273/243/347/220/206/350/256/260/345/277/206/346/236/266/346/236/204/350/256/276/350/256/241.md" +0 -0
|
@@ -1,236 +1,236 @@
|
|
|
1
|
-
# 子代理配置标准 v0.5
|
|
2
|
-
|
|
3
|
-
> **本文件定义:向蜂巢派发任何子代理时的配置标准。**
|
|
4
|
-
> **体系定位**(收敛裁定 2026-09-15):三份核心文档之**工程层**——《并发必然性理论_v0.2》(理论层:定理 T 与判据)→《认知代理与收敛结构_条件论重构_v0.1》(架构层:代理定义与收敛结构)→ 本文(工程层:spec 配置);理论概念的工程投影见 §6。
|
|
5
|
-
> 系统提示词真源:`docs/mdcg/单元自我锚点_系统提示词标准_v0.3.md`(子代理系统提示词标准)。
|
|
6
|
-
> 工作记忆机制真源:`docs/mdcg/主代理子代理记忆架构设计.md`(三层记忆/session 隔离/卡片回流,已实测)。
|
|
7
|
-
> v0.2 修订:按使用者指示——模型可选默认 flash、上下文=任务+读记忆、数量可选、200k 拆解信号、提示词随任务保留。
|
|
8
|
-
> v0.3 修订:新增 §6「与理论层的对应」(条件论公设 P1/P2、CA-T1/T3/T4 落为配置判据);其余不变。
|
|
9
|
-
> v0.4 修订(使用者裁定 2026-09-16):**统一执行默认下沉到 MCP 面**(思考强度 high / 上下文 200k / 超时 600s,缺省即注入,见 §0);**模型名与 base 强配对**(错配即 API 400,见 §1);新增 §7「确定性执行」(`exec_cmd.py`——零 LLM 任务同走蜂巢留痕)。
|
|
10
|
-
> v0.5 修订(使用者裁定 2026-09-16):**正式确立六位运行时角色拓扑**——新增 §8。**副代理正名「设计者视角」**(职责 = 总体方向判断 / 全局信息视角 / 提出建议);明确**副代理 = 融合位 𝓕**(与五大单元是整体与分片关系,非并列);**融合裁决归副代理**(澄清 §6 与 §5 的历史表述);**记录 / 维生双形态**(程序为常规载体、单元为兜底)。
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## 0 统一执行默认(v0.4 新增 · 一次声明,全端生效)
|
|
15
|
-
|
|
16
|
-
使用者裁定(2026-09-16):**flash 档模型做子代理是合适的;思考强度统一 high、上下文统一 200000 token、超时统一 10 分钟。**
|
|
17
|
-
|
|
18
|
-
| 配置项 | 统一值 | 工程落点 | 实测证据 |
|
|
19
|
-
|---|---|---|---|
|
|
20
|
-
| `reasoning_effort` | **`high`** | `hive/hive_mcp/mcp_server.py::DEFAULT_REASONING_EFFORT`,`hive_spawn` 缺省注入 | rust 侧白名单校验 `low\|medium\|high`;exec.py 透传 `body["reasoning_effort"]` |
|
|
21
|
-
| `context_budget_tokens` | **`200000`** | `DEFAULT_CONTEXT_BUDGET_TOKENS`,同上 | 执行器保守估算;**达预算默认交回续跑**(写进展卡 + `need_continue`,见 §5.3);`context_strict=true` 恢复旧 fail fast(注入 context_files 时最易触发) |
|
|
22
|
-
| `timeout_s` | **`600`**(10 分钟) | `DEFAULT_TIMEOUT_S`,同上 | 端到端实测 job 的 `timeout_s=600` 已落 status.json |
|
|
23
|
-
|
|
24
|
-
**注入语义**:`hive_spawn` 在组装 spec 时**缺省即写入**上述三项,**调用方显式传值优先**(可对单任务放宽/收紧);返回体带 `spec_defaults` 回显本次实际生效值,便于核对而非猜测。
|
|
25
|
-
|
|
26
|
-
**边界(诚实)**:统一默认由 **MCP 面**注入落地。CLI 直提(`hive.exe submit -`)绕过 MCP,rust 侧自身默认仍是 `timeout_s=300` 且无 effort / 预算——**直提须自行带全三字段**,否则不满足本标准。即「统一」的生效面 = 经 `hive_spawn` 派发的任务。
|
|
27
|
-
|
|
28
|
-
## 1 spec 参数
|
|
29
|
-
|
|
30
|
-
| 字段 | 取值 | 说明 |
|
|
31
|
-
|---|---|---|
|
|
32
|
-
| `model` | **`deepseek-flash`**(子代理默认档) | **须与 `HIVE_API_BASE` 强配对**:deepseek base(`api.deepseek.com`)→ `deepseek-flash` / `deepseek-v4-pro`;智谱 base → `glm-5.3-flash`。**错配在 API 侧 400**(实测 2026-09-16:deepseek base 传 `glm-5.3-flash` → `supported API model names are deepseek-flash, deepseek-v4-pro, but you passed glm-5.3-flash`)。深度任务(复杂逻辑/长链推导)可显式指定更强模型(如 `deepseek-v4-pro`)。**实测(2026-09-15):蜂巢 spec 校验 `model` 必填**——「不指定即 flash」在提交层须显式写 `"model": "deepseek-flash"` 落地,否则 submit 被拒(`spec 缺必填字段 model`) |
|
|
33
|
-
| `reasoning_effort` | **`high`**(统一,§0) | rust 白名单 `low\|medium\|high`,非法值 submit 即拒 |
|
|
34
|
-
| `context_budget_tokens` | **200000**(统一,§0) | 单子代理上下文预算;预估超出 → **优先继续拆解子代理**(见 §4),不是硬塞;拆分不可行(单任务链长)时达预算交回续跑(§5.3) |
|
|
35
|
-
| `context_strict` | 缺省 `false` | `true` = 旧 fail fast(超预算即 `error` 终止,不交回);仅在明确「不容许换人续跑」的任务上使用 |
|
|
36
|
-
| `timeout_s` | **600**(统一,§0) | 5..=3600;超时 rust 侧强杀并标 `timeout` |
|
|
37
|
-
| `system_prompt` | 底座段 + 单元模板 | 按《子代理系统提示词标准》§7.2 组装(见 §2) |
|
|
38
|
-
| `user_prompt` | 工作任务 + 记忆读取指引 | 见 §3 |
|
|
39
|
-
| `max_tokens` / `temperature` | 按任务性质定 | 非本标准约束项。**实测:思考模型的 reasoning_tokens 计入 `max_tokens`**——8000 被思考吃满导致 `content` 为空但 `ok=true`(假成功,usage 里 completion_tokens≈reasoning_tokens 是指纹);思考模型建议
|
|
40
|
-
|
|
41
|
-
**子代理数量:可选。** 可开多个反思单元、多个验证单元,各自负责不同细化任务(例:反思单元×2=概念一致性/边界完备性各一个;验证单元×2=逻辑面/锚点面各一个)。数量由编排者按任务拆解决定,无固定配额。
|
|
42
|
-
|
|
43
|
-
## 2 系统提示词(真源:子代理系统提示词标准)
|
|
44
|
-
|
|
45
|
-
按《单元自我锚点_系统提示词标准_v0.3.md》§7.2 组装,两段固定:
|
|
46
|
-
|
|
47
|
-
1. **协议底座段**(§1,逐字,不得按任务改写);
|
|
48
|
-
2. **单元模板**:按子代理身份选一——记录(§2)/ 反思(§3)/ 验证(§4)/ 输出(§5)/ 维生(§6)。
|
|
49
|
-
|
|
50
|
-
注入位置:任务消息开头(任务级注入优于纯 system 静态注入);长任务在关键决策点重申该单元负面锚点清单(「你不是 X」)。
|
|
51
|
-
|
|
52
|
-
## 3 任务上下文 = 工作任务 + 读取记忆
|
|
53
|
-
|
|
54
|
-
上下文不静态堆文件,由两部分构成:
|
|
55
|
-
|
|
56
|
-
1. **工作任务**:要做什么(任务描述+验收标准+产出格式)。
|
|
57
|
-
2. **读取记忆**:子代理被赋予读记忆的能力与指引,而非被动接收全文——
|
|
58
|
-
- `lingshu_cg(op="route", intent=…)` / `op="read"` 按需检索;
|
|
59
|
-
- 主代理从 L0 全局态裁剪**该子任务相关的部分**直接注入(最小充分上下文,不注入全部);
|
|
60
|
-
- 产出按《主代理子代理记忆架构设计》回流:五栏卡片(L1)+ 细节层(L2),`session` 硬隔离,`derived_from` 溯源。
|
|
61
|
-
|
|
62
|
-
**实测边界(2026-09-15 已补机制;2026-09-19 增补只读文件面)**:~~蜂巢 Python 执行器环境未挂载 `lingshu_cg` 工具~~ → **worker 侧工具面已落地**(`hive/exec.py` agent loop,同日):`spec.tools: ["lingshu_cg", "web_search", "read_file"]` 白名单启用(子代理白名单 = `hive/orch.py` 的 `SUB_TOOLS_ALLOW`,编排三工具不外传)。实测要点:
|
|
63
|
-
- **lingshu_cg**:op=route/read/write 白名单(复用 MCP 面同一 dispatch);权限硬编码 recorder(写入过闸门:DEFER 入审核队列/REJECT 负记忆是设计行为,**裁决权仍归设计者**,子代理不得自裁自决);会话隔离 `session=hive_job_<id>`;部署要求 serve env 设 `MDCG_ROOT`(或 `spec.mdcg_root` 兜底,任务级隔离用临时图)。
|
|
64
|
-
- **web_search**:zhipu 后端(`HIVE_WEB_SEARCH_BASE` 缺省智谱官方端点,与 `HIVE_API_BASE` 解耦——中转网关无搜索路由必 404;`HIVE_WEB_SEARCH_KEY` 缺省回落执行器密钥,**key 与 base 不配对时 401,须独立设置**);duckduckgo 零 key 兜底。
|
|
65
|
-
- **read_file**(2026-09-19 新增):读本地文件/目录,**只读**——schema 内无任何写参数,结构上不可能落盘改状态。读写不对称原则:**读放开**(缺省全路径开放,仅 `HIVE_READ_ROOTS` 非空时收窄,越界即拒读并回报 `roots`)、**写严格**(执行器唯一写路径仍是 `lingshu_cg op=write`,过校验闸门)。目录给清单(子目录优先);文本给行窗分页(`offset`/`limit`/`max_chars`,默认 2000 行 / 60000 字符);图像只给类型+尺寸、二进制只给类型+字节数(`content=null`,不猜内容);非 UTF-8 按替换处计数并在 `note` 标存疑;相对路径基准 = `workdir`。子任务因此可**推理中途动态查证现场文件**,不必把材料预先静态塞进 `context_files`。
|
|
66
|
-
- 每轮工具调用记入 `result.json` 的 `tool_trace`(审计可回放);`max_tool_rounds` 默认 5,耗尽强制终答。
|
|
67
|
-
- 主代理的「最小充分上下文直接注入任务体」原则**保持不变**:工具是增量不是替代——任务体仍须自包含,工具用于按需深挖与回写。
|
|
68
|
-
|
|
69
|
-
## 4 200000 token 预算 = 拆解信号
|
|
70
|
-
|
|
71
|
-
单子代理上下文预算 200k。**预估任务体+记忆+产出会超出 200k → 说明任务需要继续拆解**:拆成更多子代理(结合 §1 数量可选),每个拿到更小的子任务。禁止把超长材料整体塞给单个子代理。
|
|
72
|
-
|
|
73
|
-
## 5 提示词随任务保留 · 长期任务复用 · 满上下文换人续跑 · 产出物生命周期
|
|
74
|
-
|
|
75
|
-
1. **保留**:子代理的提示词(system_prompt+任务体)随任务持久化(落任务目录),不随单次调用消失。
|
|
76
|
-
2. **复用**:执行长期任务时,同一子代理身份(同一提示词+同一 session)跨多轮复用,持续累积该任务的工作记忆。
|
|
77
|
-
3. **满上下文接续(已实现,2026-09-16)**:上下文将满 → 当前实例**不失败**,写进展卡后交回,**派新子代理**接替:新子代理带同一提示词(从任务目录恢复),**通过读取工作记忆**(L0 全局态+前序卡片,`recall(session=…)`)恢复进展,继续执行剩余任务。状态在库里,不在实例里。
|
|
78
|
-
|
|
79
|
-
工程落点(三面,字段词汇统一):
|
|
80
|
-
|
|
81
|
-
| 面 | 载体 | 信号 |
|
|
82
|
-
|---|---|---|
|
|
83
|
-
| 执行器写入 | `hive/exec.py::_handoff` → `jobs/<id>/progress.jsonl` | 进展卡条目 + `result.json`:`ok:true` + `completed:false` + `need_continue:true` + `handoff{reason,est_tokens,budget_tokens,rounds_done,progress_file,auto_continue:false}` |
|
|
84
|
-
| 主代理轮询 | `hive poll`(rust)/ `hive_poll`(MCP) | `need_continue` / `completed` / `handoff` / `tool_rounds` + 派生 **`handoff_ready`**(= need 且未 completed,一眼可判);旧 result 缺失字段透传 Null,不伪造 false |
|
|
85
|
-
| 主代理读卡 | `hive/wm.py progress --job <dir>`(未快照)/ `--wm <WM> --job-id <id>`(已快照,自动两级查找:工作区 → `task/<id>` 分支) | 卡条目 `start`/`tool`/`final`/`handoff`/`error`;返回 `source`/`ref` 标明出处 |
|
|
86
|
-
|
|
87
|
-
**续跑不自动**(`auto_continue` 恒 `false`):`handoff_ready=true` 后是否续跑由主代理裁决——续跑则「同 `system_prompt` + 进展摘要最小充分注入 + 剩余目标」spawn 新 job(同 session 读回);不续跑则收尾清理进展态 + 结果蒸馏归档(`wm.py snapshot` + 灵枢记忆)。**交回 ≠ 失败**:`ok:true` 与 `completed:false` 并存,显式区分「本次执行正常收口」与「任务已完成」。`context_strict=true` 恢复旧 fail fast。
|
|
88
|
-
4. **产出物生命周期(使用者裁定 2026-09-15,长期有效)**:子代理给出的资料(R/V/v 编号的单元产物、结果文件等)一律视为**中间件**——其结论被主代理整合进系统正式文档/记忆后,中间件即行清理,不留工作区。此后派发子代理写正式产出文档时,命名规范:**`test_<身份>_<id>_<任务名>`**(身份=反思者/裁决者/记录者等单元身份;id=job id 或实例 id;任务名=审查面/子任务短名,如 `test_裁决者_h1789458307647_56cc_逻辑有效性.md`)。整合的唯一凭证是主代理落盘的结论(留痕表/正式文档/灵枢记忆),不是中间件文件本身。
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## 6 与理论层的对应(v0.3 新增)
|
|
93
|
-
|
|
94
|
-
本标准是并发理论体系的工程层。理论概念 → 工程投影:
|
|
95
|
-
|
|
96
|
-
| 理论概念(出处) | 工程投影(本文位置) |
|
|
97
|
-
|---|---|
|
|
98
|
-
| 认知任务原子性 P1(架构层公设) | spec=一个原子收敛单位:每个子代理领一个完整子任务(工作任务+验收标准),产出即裁决单位 R_i(result.json 终态)。**spec 不是「任务切块」,是条件投影的落地** |
|
|
99
|
-
| 条件投影可分性 P2 + CA-T1(架构层) | 子代理数量可选(§1):数量由条件投影的**实质区分**决定(观测位置/工具/时间窗/存在约束任一维不同且影响信息可得性),不由任务大小/长度决定 |
|
|
100
|
-
| 收敛带宽 B_c(理论层定理 T) | context_budget_tokens=200000(§4):**200k 不是资源配额,是拆解信号**——预估超出 = W > B_c(信息流宽度超过调用带宽),收敛粒度必须下沉 |
|
|
101
|
-
| 收敛位唯一、责任不分散 T4(理论层) | 副代理(agent 本体)收 result 做融合裁决;worker 只产出 R_i,不自裁(**副代理 = 设计者视角,见 §8.2**) |
|
|
102
|
-
| 串行正当四分类(架构层 §5.1) | 派发前自查:任务链是否真有数据依赖——基座/约束/成本串行才拆串行,认知伪串行应并发 |
|
|
103
|
-
| 融合位裁决纪律(架构层 §4.2) | 副代理汇总时以 R_i 的证据与四态资格裁决,**不以「多个 result 一致」代替验证**(裁决归位见 §8.2) |
|
|
104
|
-
|
|
105
|
-
**理论 → 配置判据速查**:
|
|
106
|
-
|
|
107
|
-
1. 「这个任务要不要拆?」→ CA-T3 判据:预估信息流宽度(任务体+记忆注入+产出+工具回传)是否超 200k;超 = 拆,不超 = 可单收敛位。
|
|
108
|
-
2. 「拆成几个?」→ 条件投影可分性:数**实质区分的观测位置/工具/时间窗**有几个,不是按任务长度均分。
|
|
109
|
-
3. 「子代理任务体写多细?」→ spec 自包含原则(§3)= 该投影的 C/G/O 显式化:观测通道(tools 白名单)、目标信息差态(验收标准)、条件边界(任务边界)缺一不可。
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
## 7 确定性执行(v0.4 新增 · 零 LLM 任务同走蜂巢)
|
|
114
|
-
|
|
115
|
-
**工作纪律第 17 条的完整落地**:蜂巢有两类 worker,同一 serve 兼跑——
|
|
116
|
-
|
|
117
|
-
| 任务类型 | worker | 触发条件 | 说明 |
|
|
118
|
-
|---|---|---|---|
|
|
119
|
-
| LLM 委托型 | `hive/exec.py` | spec 有 `model`+`user_prompt`、无 command | 调 OpenAI 兼容接口,行为见 §1–§5 |
|
|
120
|
-
| **确定性执行型** | `hive/exec_cmd.py` | spec 带 **`command` / `commands`** | 跑命令(测试/回归/lint/批处理),**零网络请求、零 LLM** |
|
|
121
|
-
|
|
122
|
-
启用方式:`hive/config.local.json` 的 `HIVE_EXEC_PY` 指向 `hive/exec_cmd.py`(serve 级,改动后须重启 serve)。**spec 无 command/commands 时 exec_cmd.py 自动转发 exec.py**,故 LLM 委托链零变动;不指向 exec_cmd.py 时全链路行为逐位不变。
|
|
123
|
-
|
|
124
|
-
| 字段 | 说明 |
|
|
125
|
-
|---|---|
|
|
126
|
-
| `command` | 单条命令,**只收 argv 数组**(`["python","-m","pytest","-q"]`);字符串形态一律拒——不经 shell,规避转义 / GBK 陷阱(第 15 条) |
|
|
127
|
-
| `commands` | 多步串行:`[{"command":[...],"cwd":...,"label":...}, ...]` |
|
|
128
|
-
| `cwd` / `env` / `fail_fast` / `timeout_step_s` | 工作目录 / 附加环境变量(覆盖继承)/ 默认 true 遇错即停 / 单步超时(缺省 600) |
|
|
129
|
-
| `expect_files` / `expect_stdout_contains` | 执行后断言文件存在(相对 cwd)/ 各步 stdout 合并须含全部给定子串 |
|
|
130
|
-
|
|
131
|
-
订阅约定:`model` 写 `"cmd"`、`user_prompt` 写任务标签(仅为过 rust 侧必填校验)。单步完整输出落 `job_dir/step_<i>_stdout.txt`,`result.json` 只留 head(4000 字符)。
|
|
132
|
-
|
|
133
|
-
**实测要点(2026-09-16,真 serve 端到端四路径)**:确定性成功 → `done`;命令 exit≠0 → `error`(error=失败步标签);`expect_stdout_contains` 未命中 → `error`(error=`输出未命中预期子串:…`);LLM 委托 → `done`(`deepseek-flash` / high / 200k / 600s)。单测入口 `python hive/test_exec_cmd.py`(9 例全绿,零外部依赖)。
|
|
134
|
-
|
|
135
|
-
**边界(诚实)**:包内测试脚本含相对导入(`from .mdcg import …`),直跑 `python md_cg/test_cond_match.py` 会报 `attempted relative import with no known parent package`——须以 `-m md_cg.test_xxx` 运行且 cwd / PYTHONPATH 指向仓根。确定性任务**不带身份隔离**(与 LLM 任务同享 jobs 目录,见 hive README「设计边界」)。
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## 8 运行时角色拓扑(六位)(v0.5 新增 · 使用者裁定 2026-09-16)
|
|
140
|
-
|
|
141
|
-
> **一次命名裁定**:本体系运行时共 **六位** 角色 = **1 副代理 + 5 单元**。副代理即 **设计者视角**(正名,见 §8.2)。
|
|
142
|
-
|
|
143
|
-
### 8.1 全景:1 + 5,不是六个并列
|
|
144
|
-
|
|
145
|
-
$$运行时 = A_F + \{\text{记录},\ \text{反思},\ \text{验证},\ \text{输出},\ \text{维生}\}$$
|
|
146
|
-
|
|
147
|
-
**结构性质(架构层 §4.3 原文)**:
|
|
148
|
-
|
|
149
|
-
> `𝓕 的功能分解=五大单元(记录/反思/验证/输出/维生)`
|
|
150
|
-
|
|
151
|
-
即 **副代理不是与五单元并列的「第六个单元」,而是融合位 𝓕 本身;五大单元是 𝓕 的功能分解**。两者是 **整体与分片** 的关系,不是同层并列——这正是「副代理与输出单元要分类」的根据(见 §8.3)。
|
|
152
|
-
|
|
153
|
-
**四层同构映射**(同一个位在四层真源中的四张面孔;一张表消灭「副代理/融合位/第六实例/编排者谁是它」的反复歧义):
|
|
154
|
-
|
|
155
|
-
| 运行时(本文) | 工程层(本文) | 架构层(`认知代理与收敛结构_条件论重构_v0.1`) | 理论层(`智能论3.4`) | 技能层(`designer-perspective`) |
|
|
156
|
-
|---|---|---|---|---|
|
|
157
|
-
| **副代理** | **编排者**(agent 本体) | **融合位 $A_F$ / 𝓕**(§4.2 / §4.3) | **第六实例**(附录18.1:承担蜂群整体责任和方向判断) | **设计者视角元技能**(五步) |
|
|
158
|
-
| 记录单元 | 子代理(§2 记录模板) | 𝓕 的功能分解之一 | 五大单元·记录 | — |
|
|
159
|
-
| 反思单元 | 子代理(§2 反思模板) | 同上 | 五大单元·反思 | — |
|
|
160
|
-
| 验证单元 | 子代理(§2 验证模板) | 同上 | 五大单元·验证 | — |
|
|
161
|
-
| 输出单元 | 子代理(§2 输出模板) | 同上 | 五大单元·输出 | — |
|
|
162
|
-
| 维生系统 | 子代理 / 程序(§7 + §8.4) | 同上 | 五大单元·维生 | — |
|
|
163
|
-
|
|
164
|
-
### 8.2 副代理 = 设计者视角(正名)
|
|
165
|
-
|
|
166
|
-
**裁定(使用者,2026-09-16)**:正式将副代理命名为 **设计者视角**。职责三条:
|
|
167
|
-
|
|
168
|
-
| 职责 | 含义 | 技能锚点 | 理论锚点 |
|
|
169
|
-
|---|---|---|---|
|
|
170
|
-
| **总体方向判断** | 从整体看:识别未知区域(盲区)→ 据此定方向。方向来自「哪里不知道」,不是「哪里最像」 | 技能步骤 4(方向判断与关注信号) | 附录18.1「承担蜂群整体责任和方向判断」 |
|
|
171
|
-
| **全局信息视角** | 信息来自整个运行时的聚合,而非单一投影的观测 | 技能步骤 1(全局观测位置声明)+ 步骤 2(认知图整体观测) | 附录18.1「信息来源于整个蜂群实例的时空图聚合,而非单一实例的观测」 |
|
|
172
|
-
| **提出建议** | 只输出判定单与关注信号(signal),**不替操作层做内部决策** | 技能「位置声明」:设计者位置的功能是 **放权,不是控制**;「观测不干预」 | 附录18.2「设计者视角承担整体责任」 |
|
|
173
|
-
|
|
174
|
-
**融合裁决归位(澄清历史表述)**:架构层 §4.2 定义融合位 $A_F = \langle C_F,\ S_F{=}\{R_i\},\ G_F{=}\textbf{裁决},\ \dots \rangle$——**融合裁决归副代理(设计者视角)**。据此,§6 表中「副代理(agent 本体)收 result 做融合裁决」(v0.4 原文作「编排者」,即本次正名所改)与 §5 输出单元「你不是裁决者」两条 **同时成立、不再冲突**:
|
|
175
|
-
|
|
176
|
-
- 裁决归 **副代理**(融合位);输出单元只做 **调度**(装配与发射),**不自裁**。
|
|
177
|
-
- **两层裁决不同阶**:验证单元裁的是 **单个 $R_i$ 的四态资格**(该结果是否有资格);副代理裁的是 **$R_i$ 之间的融合与方向**(架构层 §4.4:反题 = $R_i$ 间冲突检测)。
|
|
178
|
-
|
|
179
|
-
**载体(不新增角色)**:设计者视角在多数情形下由 **agent 本体(宿主)** 承载;当任务需要独立观测位时,可派 **独立的编排子代理** 承载——仍是同一角色的可替代载体。
|
|
180
|
-
|
|
181
|
-
**克制条款(逐字沿用技能边界,不得放宽)**:
|
|
182
|
-
|
|
183
|
-
1. **不执行**:产出判定单与建议调用清单,不产出操作结果。
|
|
184
|
-
2. **不裁决事实**:资格判定由条件证据裁决;事实裁决归验证单元与 MCP 基底。
|
|
185
|
-
3. **不写库**:`record/verify/flywheel` 等写操作只输出建议参数,由 agent 显式发起。
|
|
186
|
-
4. **不硬答盲区**:无法建立判断路径时判 **BLINDSPOT** 并停止猜测,指出缺失的条件维度。
|
|
187
|
-
|
|
188
|
-
**系统提示词载体(不另造模板)**:副代理的提示词 = **`designer-perspective` 技能本体**(含五步执行、判定单固定格式、克制条款),**不新增单元模板**;五单元提示词仍按《单元自我锚点_系统提示词标准》§2–§6 组装(§2 已定)。
|
|
189
|
-
|
|
190
|
-
### 8.3 副代理 vs 输出单元:判断 / 调度分职
|
|
191
|
-
|
|
192
|
-
| 面 | 副代理(设计者视角 = 融合位 𝓕) | 输出单元(𝓕 的功能分片) |
|
|
193
|
-
|---|---|---|
|
|
194
|
-
| 观测位置 | **全局**(整个运行时的聚合) | **局部**(本投影的发射端) |
|
|
195
|
-
| 职责 | **总的信息判断**:方向 / 融合裁决 / 关注信号 | **调度**:spec 装配、派发、结果回收对齐 |
|
|
196
|
-
| 与 $R_i$ 的关系 | 消费 $R_i$ 作裁决输入($S_F=\{R_i\}$) | 产出 / 发射 $R_i$ 及证据($O_F$ 面) |
|
|
197
|
-
| 可否自裁 | **裁决者**(唯一融合裁决位) | **不可自裁**(§5 输出锚点:「你不是裁决者——不评判任务价值、不静默修改用户意图」) |
|
|
198
|
-
| 越权判据 | 若代做 spec 装配细节 → **下沉过度**(失去全局位) | 若做了融合裁决 → **越权**(出现两个裁决位) |
|
|
199
|
-
|
|
200
|
-
**一句话**:**副代理持全局做判断,输出单元持局部做调度**——同为 𝓕,一个在整体位(融合位),一个在分片位(功能分解之一)。
|
|
201
|
-
|
|
202
|
-
### 8.4 记录 / 维生:程序为常规载体,单元为兜底
|
|
203
|
-
|
|
204
|
-
使用者裁定(2026-09-16):**保留记录单元、维生系统,作为兜底。**
|
|
205
|
-
|
|
206
|
-
| 角色 | 常规载体(主路径) | 兜底载体(单元子代理) | 切换判据 |
|
|
207
|
-
|---|---|---|---|
|
|
208
|
-
| **记录** | **程序**:写入即落盘 + 索引自动(`add` / `_stage` / `_scan_nodes` 全链路自动归属与索引) | **记录单元子代理**(§2 记录模板) | ① 程序遗漏(自动索引未覆盖的新形态)② 需语义归纳而非机械落盘 ③ 跨仓/跨端无迁移能力 |
|
|
209
|
-
| **维生** | **程序**:`md_cg/sustain.py`(心跳 / 互检 `mutual_watch` / 自动修复 / 审计 `_sustain.jsonl`),零 LLM 确定性 | **维生单元子代理**(§2 维生模板) | ① `sustain` 不可用(进程外/权限受限)② 需语义判断的存续决策 ③ 部署侧未挂守护 |
|
|
210
|
-
|
|
211
|
-
**为什么常规走程序**:记录与维生的核心动作(落盘、索引、心跳、拉起)是 **确定性计算**——第 7 条兜底纪律与第 12 条算法权威唯一原则都要求「主路径用确定性机制」;LLM 在此只增加导航税与不确定性。
|
|
212
|
-
|
|
213
|
-
**为什么仍保留单元**:程序有覆盖边界(新形态、语义归纳、不可迁移部署),**无兜底即单点失效**(第 7 条:主路径不可用则切等价兜底)。故单元形态 **不删除、降为兜底**。
|
|
214
|
-
|
|
215
|
-
### 8.5 装配规程(一次派发,六位通用)
|
|
216
|
-
|
|
217
|
-
1. **谁派发**:副代理(设计者视角)做 **方向判断与融合裁决**;输出单元做 **spec 装配与发射**;实际提交统一走蜂巢(第 17 条:`hive_spawn` / CLI submit + 留痕)。
|
|
218
|
-
2. **系统提示词**:副代理 = 技能本体(§8.2);五单元 = 《单元自我锚点_系统提示词标准》§2–§6。
|
|
219
|
-
3. **回填**:五单元产出 $R_i$(`result.json` 终态)→ 副代理按 §6 融合位裁决纪律裁决(**不以「多个 result 一致」代替验证**)。
|
|
220
|
-
4. **拓扑不变式**:任一时刻 **融合裁决位唯一**(架构层 T4 收敛位唯一、责任不分散);单元可多开(§1 数量可选),**副代理不随之复制**。
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
## 附:版本差异(使用者教改记录)
|
|
225
|
-
|
|
226
|
-
| # | 上一版(错误形态) | 本版(修订) |
|
|
227
|
-
|---|---|---|
|
|
228
|
-
| 1 | model 硬编码 `deepseek-v4-pro`(v0.1) | 可选,默认 `deepseek-flash`(v0.2;v0.4 补模型↔base 强配对规则) |
|
|
229
|
-
| 2 | 依据文档只写「单元自我锚点标准」(v0.1) | 正式对齐真源《子代理系统提示词标准》,system_prompt 字段启用(v0.2) |
|
|
230
|
-
| 3 | context_files 静态注入整份文档(v0.1) | 工作任务+读取记忆(route/read 指引+主代理裁剪注入)(v0.2) |
|
|
231
|
-
| 4 | 固定 4 个验证单元视角(v0.1) | 数量可选,反思/验证单元均可多开细化(v0.2) |
|
|
232
|
-
| 5 | max_tokens 12000 无上下文预算概念(v0.1) | 200k 预算=拆解信号(v0.2) |
|
|
233
|
-
| 6 | 每次临时组装提示词,无保留复用(v0.1) | 提示词随任务保留;长期任务复用;满上下文读工作记忆续跑(v0.2) |
|
|
234
|
-
| 7 | (v0.2 无理论对应节) | v0.3 新增 §6:公设 P1/P2、CA-T1/T3/T4 落为配置判据与速查 |
|
|
235
|
-
| 8 | 统一执行默认停留在口头约定,MCP 面不透传 effort / 预算(v0.3) | v0.4 §0:三项默认下沉到 `hive_spawn` 缺省注入 + `spec_defaults` 回显;§7 补确定性执行 worker |
|
|
236
|
-
| 9 | 运行时角色拓扑散落四层,无一处成文;「副代理」仅第三方报告用词,与融合位/第六实例/编排者被当成四个东西(v0.4) | v0.5 §8:**六位拓扑成文**(1 副代理 + 5 单元)+ **副代理正名「设计者视角」**(方向判断 / 全局视角 / 提建议)+ **融合裁决归位副代理**(§6 与 §5 历史表述澄清)+ **记录 / 维生双形态**(程序常规、单元兜底) |
|
|
1
|
+
# 子代理配置标准 v0.5
|
|
2
|
+
|
|
3
|
+
> **本文件定义:向蜂巢派发任何子代理时的配置标准。**
|
|
4
|
+
> **体系定位**(收敛裁定 2026-09-15):三份核心文档之**工程层**——《并发必然性理论_v0.2》(理论层:定理 T 与判据)→《认知代理与收敛结构_条件论重构_v0.1》(架构层:代理定义与收敛结构)→ 本文(工程层:spec 配置);理论概念的工程投影见 §6。
|
|
5
|
+
> 系统提示词真源:`docs/mdcg/单元自我锚点_系统提示词标准_v0.3.md`(子代理系统提示词标准)。
|
|
6
|
+
> 工作记忆机制真源:`docs/mdcg/主代理子代理记忆架构设计.md`(三层记忆/session 隔离/卡片回流,已实测)。
|
|
7
|
+
> v0.2 修订:按使用者指示——模型可选默认 flash、上下文=任务+读记忆、数量可选、200k 拆解信号、提示词随任务保留。
|
|
8
|
+
> v0.3 修订:新增 §6「与理论层的对应」(条件论公设 P1/P2、CA-T1/T3/T4 落为配置判据);其余不变。
|
|
9
|
+
> v0.4 修订(使用者裁定 2026-09-16):**统一执行默认下沉到 MCP 面**(思考强度 high / 上下文 200k / 超时 600s,缺省即注入,见 §0);**模型名与 base 强配对**(错配即 API 400,见 §1);新增 §7「确定性执行」(`exec_cmd.py`——零 LLM 任务同走蜂巢留痕)。
|
|
10
|
+
> v0.5 修订(使用者裁定 2026-09-16):**正式确立六位运行时角色拓扑**——新增 §8。**副代理正名「设计者视角」**(职责 = 总体方向判断 / 全局信息视角 / 提出建议);明确**副代理 = 融合位 𝓕**(与五大单元是整体与分片关系,非并列);**融合裁决归副代理**(澄清 §6 与 §5 的历史表述);**记录 / 维生双形态**(程序为常规载体、单元为兜底)。
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 0 统一执行默认(v0.4 新增 · 一次声明,全端生效)
|
|
15
|
+
|
|
16
|
+
使用者裁定(2026-09-16):**flash 档模型做子代理是合适的;思考强度统一 high、上下文统一 200000 token、超时统一 10 分钟。**
|
|
17
|
+
|
|
18
|
+
| 配置项 | 统一值 | 工程落点 | 实测证据 |
|
|
19
|
+
|---|---|---|---|
|
|
20
|
+
| `reasoning_effort` | **`high`** | `hive/hive_mcp/mcp_server.py::DEFAULT_REASONING_EFFORT`,`hive_spawn` 缺省注入 | rust 侧白名单校验 `low\|medium\|high`;exec.py 透传 `body["reasoning_effort"]` |
|
|
21
|
+
| `context_budget_tokens` | **`200000`** | `DEFAULT_CONTEXT_BUDGET_TOKENS`,同上 | 执行器保守估算;**达预算默认交回续跑**(写进展卡 + `need_continue`,见 §5.3);`context_strict=true` 恢复旧 fail fast(注入 context_files 时最易触发) |
|
|
22
|
+
| `timeout_s` | **`600`**(10 分钟) | `DEFAULT_TIMEOUT_S`,同上 | 端到端实测 job 的 `timeout_s=600` 已落 status.json |
|
|
23
|
+
|
|
24
|
+
**注入语义**:`hive_spawn` 在组装 spec 时**缺省即写入**上述三项,**调用方显式传值优先**(可对单任务放宽/收紧);返回体带 `spec_defaults` 回显本次实际生效值,便于核对而非猜测。
|
|
25
|
+
|
|
26
|
+
**边界(诚实)**:统一默认由 **MCP 面**注入落地。CLI 直提(`hive.exe submit -`)绕过 MCP,rust 侧自身默认仍是 `timeout_s=300` 且无 effort / 预算——**直提须自行带全三字段**,否则不满足本标准。即「统一」的生效面 = 经 `hive_spawn` 派发的任务。
|
|
27
|
+
|
|
28
|
+
## 1 spec 参数
|
|
29
|
+
|
|
30
|
+
| 字段 | 取值 | 说明 |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| `model` | **`deepseek-flash`**(子代理默认档) | **须与 `HIVE_API_BASE` 强配对**:deepseek base(`api.deepseek.com`)→ `deepseek-flash` / `deepseek-v4-pro`;智谱 base → `glm-5.3-flash`。**错配在 API 侧 400**(实测 2026-09-16:deepseek base 传 `glm-5.3-flash` → `supported API model names are deepseek-flash, deepseek-v4-pro, but you passed glm-5.3-flash`)。深度任务(复杂逻辑/长链推导)可显式指定更强模型(如 `deepseek-v4-pro`)。**实测(2026-09-15):蜂巢 spec 校验 `model` 必填**——「不指定即 flash」在提交层须显式写 `"model": "deepseek-flash"` 落地,否则 submit 被拒(`spec 缺必填字段 model`) |
|
|
33
|
+
| `reasoning_effort` | **`high`**(统一,§0) | rust 白名单 `low\|medium\|high`,非法值 submit 即拒 |
|
|
34
|
+
| `context_budget_tokens` | **200000**(统一,§0) | 单子代理上下文预算;预估超出 → **优先继续拆解子代理**(见 §4),不是硬塞;拆分不可行(单任务链长)时达预算交回续跑(§5.3) |
|
|
35
|
+
| `context_strict` | 缺省 `false` | `true` = 旧 fail fast(超预算即 `error` 终止,不交回);仅在明确「不容许换人续跑」的任务上使用 |
|
|
36
|
+
| `timeout_s` | **600**(统一,§0) | 5..=3600;超时 rust 侧强杀并标 `timeout` |
|
|
37
|
+
| `system_prompt` | 底座段 + 单元模板 | 按《子代理系统提示词标准》§7.2 组装(见 §2) |
|
|
38
|
+
| `user_prompt` | 工作任务 + 记忆读取指引 | 见 §3 |
|
|
39
|
+
| `max_tokens` / `temperature` | 按任务性质定 | 非本标准约束项。**实测:思考模型的 reasoning_tokens 计入 `max_tokens`**——8000 被思考吃满导致 `content` 为空但 `ok=true`(假成功,usage 里 completion_tokens≈reasoning_tokens 是指纹);思考模型建议 200000,且回收时校验 content 非空而非只看 ok |
|
|
40
|
+
|
|
41
|
+
**子代理数量:可选。** 可开多个反思单元、多个验证单元,各自负责不同细化任务(例:反思单元×2=概念一致性/边界完备性各一个;验证单元×2=逻辑面/锚点面各一个)。数量由编排者按任务拆解决定,无固定配额。
|
|
42
|
+
|
|
43
|
+
## 2 系统提示词(真源:子代理系统提示词标准)
|
|
44
|
+
|
|
45
|
+
按《单元自我锚点_系统提示词标准_v0.3.md》§7.2 组装,两段固定:
|
|
46
|
+
|
|
47
|
+
1. **协议底座段**(§1,逐字,不得按任务改写);
|
|
48
|
+
2. **单元模板**:按子代理身份选一——记录(§2)/ 反思(§3)/ 验证(§4)/ 输出(§5)/ 维生(§6)。
|
|
49
|
+
|
|
50
|
+
注入位置:任务消息开头(任务级注入优于纯 system 静态注入);长任务在关键决策点重申该单元负面锚点清单(「你不是 X」)。
|
|
51
|
+
|
|
52
|
+
## 3 任务上下文 = 工作任务 + 读取记忆
|
|
53
|
+
|
|
54
|
+
上下文不静态堆文件,由两部分构成:
|
|
55
|
+
|
|
56
|
+
1. **工作任务**:要做什么(任务描述+验收标准+产出格式)。
|
|
57
|
+
2. **读取记忆**:子代理被赋予读记忆的能力与指引,而非被动接收全文——
|
|
58
|
+
- `lingshu_cg(op="route", intent=…)` / `op="read"` 按需检索;
|
|
59
|
+
- 主代理从 L0 全局态裁剪**该子任务相关的部分**直接注入(最小充分上下文,不注入全部);
|
|
60
|
+
- 产出按《主代理子代理记忆架构设计》回流:五栏卡片(L1)+ 细节层(L2),`session` 硬隔离,`derived_from` 溯源。
|
|
61
|
+
|
|
62
|
+
**实测边界(2026-09-15 已补机制;2026-09-19 增补只读文件面)**:~~蜂巢 Python 执行器环境未挂载 `lingshu_cg` 工具~~ → **worker 侧工具面已落地**(`hive/exec.py` agent loop,同日):`spec.tools: ["lingshu_cg", "web_search", "read_file"]` 白名单启用(子代理白名单 = `hive/orch.py` 的 `SUB_TOOLS_ALLOW`,编排三工具不外传)。实测要点:
|
|
63
|
+
- **lingshu_cg**:op=route/read/write 白名单(复用 MCP 面同一 dispatch);权限硬编码 recorder(写入过闸门:DEFER 入审核队列/REJECT 负记忆是设计行为,**裁决权仍归设计者**,子代理不得自裁自决);会话隔离 `session=hive_job_<id>`;部署要求 serve env 设 `MDCG_ROOT`(或 `spec.mdcg_root` 兜底,任务级隔离用临时图)。
|
|
64
|
+
- **web_search**:zhipu 后端(`HIVE_WEB_SEARCH_BASE` 缺省智谱官方端点,与 `HIVE_API_BASE` 解耦——中转网关无搜索路由必 404;`HIVE_WEB_SEARCH_KEY` 缺省回落执行器密钥,**key 与 base 不配对时 401,须独立设置**);duckduckgo 零 key 兜底。
|
|
65
|
+
- **read_file**(2026-09-19 新增):读本地文件/目录,**只读**——schema 内无任何写参数,结构上不可能落盘改状态。读写不对称原则:**读放开**(缺省全路径开放,仅 `HIVE_READ_ROOTS` 非空时收窄,越界即拒读并回报 `roots`)、**写严格**(执行器唯一写路径仍是 `lingshu_cg op=write`,过校验闸门)。目录给清单(子目录优先);文本给行窗分页(`offset`/`limit`/`max_chars`,默认 2000 行 / 60000 字符);图像只给类型+尺寸、二进制只给类型+字节数(`content=null`,不猜内容);非 UTF-8 按替换处计数并在 `note` 标存疑;相对路径基准 = `workdir`。子任务因此可**推理中途动态查证现场文件**,不必把材料预先静态塞进 `context_files`。
|
|
66
|
+
- 每轮工具调用记入 `result.json` 的 `tool_trace`(审计可回放);`max_tool_rounds` 默认 5,耗尽强制终答。
|
|
67
|
+
- 主代理的「最小充分上下文直接注入任务体」原则**保持不变**:工具是增量不是替代——任务体仍须自包含,工具用于按需深挖与回写。
|
|
68
|
+
|
|
69
|
+
## 4 200000 token 预算 = 拆解信号
|
|
70
|
+
|
|
71
|
+
单子代理上下文预算 200k。**预估任务体+记忆+产出会超出 200k → 说明任务需要继续拆解**:拆成更多子代理(结合 §1 数量可选),每个拿到更小的子任务。禁止把超长材料整体塞给单个子代理。
|
|
72
|
+
|
|
73
|
+
## 5 提示词随任务保留 · 长期任务复用 · 满上下文换人续跑 · 产出物生命周期
|
|
74
|
+
|
|
75
|
+
1. **保留**:子代理的提示词(system_prompt+任务体)随任务持久化(落任务目录),不随单次调用消失。
|
|
76
|
+
2. **复用**:执行长期任务时,同一子代理身份(同一提示词+同一 session)跨多轮复用,持续累积该任务的工作记忆。
|
|
77
|
+
3. **满上下文接续(已实现,2026-09-16)**:上下文将满 → 当前实例**不失败**,写进展卡后交回,**派新子代理**接替:新子代理带同一提示词(从任务目录恢复),**通过读取工作记忆**(L0 全局态+前序卡片,`recall(session=…)`)恢复进展,继续执行剩余任务。状态在库里,不在实例里。
|
|
78
|
+
|
|
79
|
+
工程落点(三面,字段词汇统一):
|
|
80
|
+
|
|
81
|
+
| 面 | 载体 | 信号 |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| 执行器写入 | `hive/exec.py::_handoff` → `jobs/<id>/progress.jsonl` | 进展卡条目 + `result.json`:`ok:true` + `completed:false` + `need_continue:true` + `handoff{reason,est_tokens,budget_tokens,rounds_done,progress_file,auto_continue:false}` |
|
|
84
|
+
| 主代理轮询 | `hive poll`(rust)/ `hive_poll`(MCP) | `need_continue` / `completed` / `handoff` / `tool_rounds` + 派生 **`handoff_ready`**(= need 且未 completed,一眼可判);旧 result 缺失字段透传 Null,不伪造 false |
|
|
85
|
+
| 主代理读卡 | `hive/wm.py progress --job <dir>`(未快照)/ `--wm <WM> --job-id <id>`(已快照,自动两级查找:工作区 → `task/<id>` 分支) | 卡条目 `start`/`tool`/`final`/`handoff`/`error`;返回 `source`/`ref` 标明出处 |
|
|
86
|
+
|
|
87
|
+
**续跑不自动**(`auto_continue` 恒 `false`):`handoff_ready=true` 后是否续跑由主代理裁决——续跑则「同 `system_prompt` + 进展摘要最小充分注入 + 剩余目标」spawn 新 job(同 session 读回);不续跑则收尾清理进展态 + 结果蒸馏归档(`wm.py snapshot` + 灵枢记忆)。**交回 ≠ 失败**:`ok:true` 与 `completed:false` 并存,显式区分「本次执行正常收口」与「任务已完成」。`context_strict=true` 恢复旧 fail fast。
|
|
88
|
+
4. **产出物生命周期(使用者裁定 2026-09-15,长期有效)**:子代理给出的资料(R/V/v 编号的单元产物、结果文件等)一律视为**中间件**——其结论被主代理整合进系统正式文档/记忆后,中间件即行清理,不留工作区。此后派发子代理写正式产出文档时,命名规范:**`test_<身份>_<id>_<任务名>`**(身份=反思者/裁决者/记录者等单元身份;id=job id 或实例 id;任务名=审查面/子任务短名,如 `test_裁决者_h1789458307647_56cc_逻辑有效性.md`)。整合的唯一凭证是主代理落盘的结论(留痕表/正式文档/灵枢记忆),不是中间件文件本身。
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 6 与理论层的对应(v0.3 新增)
|
|
93
|
+
|
|
94
|
+
本标准是并发理论体系的工程层。理论概念 → 工程投影:
|
|
95
|
+
|
|
96
|
+
| 理论概念(出处) | 工程投影(本文位置) |
|
|
97
|
+
|---|---|
|
|
98
|
+
| 认知任务原子性 P1(架构层公设) | spec=一个原子收敛单位:每个子代理领一个完整子任务(工作任务+验收标准),产出即裁决单位 R_i(result.json 终态)。**spec 不是「任务切块」,是条件投影的落地** |
|
|
99
|
+
| 条件投影可分性 P2 + CA-T1(架构层) | 子代理数量可选(§1):数量由条件投影的**实质区分**决定(观测位置/工具/时间窗/存在约束任一维不同且影响信息可得性),不由任务大小/长度决定 |
|
|
100
|
+
| 收敛带宽 B_c(理论层定理 T) | context_budget_tokens=200000(§4):**200k 不是资源配额,是拆解信号**——预估超出 = W > B_c(信息流宽度超过调用带宽),收敛粒度必须下沉 |
|
|
101
|
+
| 收敛位唯一、责任不分散 T4(理论层) | 副代理(agent 本体)收 result 做融合裁决;worker 只产出 R_i,不自裁(**副代理 = 设计者视角,见 §8.2**) |
|
|
102
|
+
| 串行正当四分类(架构层 §5.1) | 派发前自查:任务链是否真有数据依赖——基座/约束/成本串行才拆串行,认知伪串行应并发 |
|
|
103
|
+
| 融合位裁决纪律(架构层 §4.2) | 副代理汇总时以 R_i 的证据与四态资格裁决,**不以「多个 result 一致」代替验证**(裁决归位见 §8.2) |
|
|
104
|
+
|
|
105
|
+
**理论 → 配置判据速查**:
|
|
106
|
+
|
|
107
|
+
1. 「这个任务要不要拆?」→ CA-T3 判据:预估信息流宽度(任务体+记忆注入+产出+工具回传)是否超 200k;超 = 拆,不超 = 可单收敛位。
|
|
108
|
+
2. 「拆成几个?」→ 条件投影可分性:数**实质区分的观测位置/工具/时间窗**有几个,不是按任务长度均分。
|
|
109
|
+
3. 「子代理任务体写多细?」→ spec 自包含原则(§3)= 该投影的 C/G/O 显式化:观测通道(tools 白名单)、目标信息差态(验收标准)、条件边界(任务边界)缺一不可。
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 7 确定性执行(v0.4 新增 · 零 LLM 任务同走蜂巢)
|
|
114
|
+
|
|
115
|
+
**工作纪律第 17 条的完整落地**:蜂巢有两类 worker,同一 serve 兼跑——
|
|
116
|
+
|
|
117
|
+
| 任务类型 | worker | 触发条件 | 说明 |
|
|
118
|
+
|---|---|---|---|
|
|
119
|
+
| LLM 委托型 | `hive/exec.py` | spec 有 `model`+`user_prompt`、无 command | 调 OpenAI 兼容接口,行为见 §1–§5 |
|
|
120
|
+
| **确定性执行型** | `hive/exec_cmd.py` | spec 带 **`command` / `commands`** | 跑命令(测试/回归/lint/批处理),**零网络请求、零 LLM** |
|
|
121
|
+
|
|
122
|
+
启用方式:`hive/config.local.json` 的 `HIVE_EXEC_PY` 指向 `hive/exec_cmd.py`(serve 级,改动后须重启 serve)。**spec 无 command/commands 时 exec_cmd.py 自动转发 exec.py**,故 LLM 委托链零变动;不指向 exec_cmd.py 时全链路行为逐位不变。
|
|
123
|
+
|
|
124
|
+
| 字段 | 说明 |
|
|
125
|
+
|---|---|
|
|
126
|
+
| `command` | 单条命令,**只收 argv 数组**(`["python","-m","pytest","-q"]`);字符串形态一律拒——不经 shell,规避转义 / GBK 陷阱(第 15 条) |
|
|
127
|
+
| `commands` | 多步串行:`[{"command":[...],"cwd":...,"label":...}, ...]` |
|
|
128
|
+
| `cwd` / `env` / `fail_fast` / `timeout_step_s` | 工作目录 / 附加环境变量(覆盖继承)/ 默认 true 遇错即停 / 单步超时(缺省 600) |
|
|
129
|
+
| `expect_files` / `expect_stdout_contains` | 执行后断言文件存在(相对 cwd)/ 各步 stdout 合并须含全部给定子串 |
|
|
130
|
+
|
|
131
|
+
订阅约定:`model` 写 `"cmd"`、`user_prompt` 写任务标签(仅为过 rust 侧必填校验)。单步完整输出落 `job_dir/step_<i>_stdout.txt`,`result.json` 只留 head(4000 字符)。
|
|
132
|
+
|
|
133
|
+
**实测要点(2026-09-16,真 serve 端到端四路径)**:确定性成功 → `done`;命令 exit≠0 → `error`(error=失败步标签);`expect_stdout_contains` 未命中 → `error`(error=`输出未命中预期子串:…`);LLM 委托 → `done`(`deepseek-flash` / high / 200k / 600s)。单测入口 `python hive/test_exec_cmd.py`(9 例全绿,零外部依赖)。
|
|
134
|
+
|
|
135
|
+
**边界(诚实)**:包内测试脚本含相对导入(`from .mdcg import …`),直跑 `python md_cg/test_cond_match.py` 会报 `attempted relative import with no known parent package`——须以 `-m md_cg.test_xxx` 运行且 cwd / PYTHONPATH 指向仓根。确定性任务**不带身份隔离**(与 LLM 任务同享 jobs 目录,见 hive README「设计边界」)。
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 8 运行时角色拓扑(六位)(v0.5 新增 · 使用者裁定 2026-09-16)
|
|
140
|
+
|
|
141
|
+
> **一次命名裁定**:本体系运行时共 **六位** 角色 = **1 副代理 + 5 单元**。副代理即 **设计者视角**(正名,见 §8.2)。
|
|
142
|
+
|
|
143
|
+
### 8.1 全景:1 + 5,不是六个并列
|
|
144
|
+
|
|
145
|
+
$$运行时 = A_F + \{\text{记录},\ \text{反思},\ \text{验证},\ \text{输出},\ \text{维生}\}$$
|
|
146
|
+
|
|
147
|
+
**结构性质(架构层 §4.3 原文)**:
|
|
148
|
+
|
|
149
|
+
> `𝓕 的功能分解=五大单元(记录/反思/验证/输出/维生)`
|
|
150
|
+
|
|
151
|
+
即 **副代理不是与五单元并列的「第六个单元」,而是融合位 𝓕 本身;五大单元是 𝓕 的功能分解**。两者是 **整体与分片** 的关系,不是同层并列——这正是「副代理与输出单元要分类」的根据(见 §8.3)。
|
|
152
|
+
|
|
153
|
+
**四层同构映射**(同一个位在四层真源中的四张面孔;一张表消灭「副代理/融合位/第六实例/编排者谁是它」的反复歧义):
|
|
154
|
+
|
|
155
|
+
| 运行时(本文) | 工程层(本文) | 架构层(`认知代理与收敛结构_条件论重构_v0.1`) | 理论层(`智能论3.4`) | 技能层(`designer-perspective`) |
|
|
156
|
+
|---|---|---|---|---|
|
|
157
|
+
| **副代理** | **编排者**(agent 本体) | **融合位 $A_F$ / 𝓕**(§4.2 / §4.3) | **第六实例**(附录18.1:承担蜂群整体责任和方向判断) | **设计者视角元技能**(五步) |
|
|
158
|
+
| 记录单元 | 子代理(§2 记录模板) | 𝓕 的功能分解之一 | 五大单元·记录 | — |
|
|
159
|
+
| 反思单元 | 子代理(§2 反思模板) | 同上 | 五大单元·反思 | — |
|
|
160
|
+
| 验证单元 | 子代理(§2 验证模板) | 同上 | 五大单元·验证 | — |
|
|
161
|
+
| 输出单元 | 子代理(§2 输出模板) | 同上 | 五大单元·输出 | — |
|
|
162
|
+
| 维生系统 | 子代理 / 程序(§7 + §8.4) | 同上 | 五大单元·维生 | — |
|
|
163
|
+
|
|
164
|
+
### 8.2 副代理 = 设计者视角(正名)
|
|
165
|
+
|
|
166
|
+
**裁定(使用者,2026-09-16)**:正式将副代理命名为 **设计者视角**。职责三条:
|
|
167
|
+
|
|
168
|
+
| 职责 | 含义 | 技能锚点 | 理论锚点 |
|
|
169
|
+
|---|---|---|---|
|
|
170
|
+
| **总体方向判断** | 从整体看:识别未知区域(盲区)→ 据此定方向。方向来自「哪里不知道」,不是「哪里最像」 | 技能步骤 4(方向判断与关注信号) | 附录18.1「承担蜂群整体责任和方向判断」 |
|
|
171
|
+
| **全局信息视角** | 信息来自整个运行时的聚合,而非单一投影的观测 | 技能步骤 1(全局观测位置声明)+ 步骤 2(认知图整体观测) | 附录18.1「信息来源于整个蜂群实例的时空图聚合,而非单一实例的观测」 |
|
|
172
|
+
| **提出建议** | 只输出判定单与关注信号(signal),**不替操作层做内部决策** | 技能「位置声明」:设计者位置的功能是 **放权,不是控制**;「观测不干预」 | 附录18.2「设计者视角承担整体责任」 |
|
|
173
|
+
|
|
174
|
+
**融合裁决归位(澄清历史表述)**:架构层 §4.2 定义融合位 $A_F = \langle C_F,\ S_F{=}\{R_i\},\ G_F{=}\textbf{裁决},\ \dots \rangle$——**融合裁决归副代理(设计者视角)**。据此,§6 表中「副代理(agent 本体)收 result 做融合裁决」(v0.4 原文作「编排者」,即本次正名所改)与 §5 输出单元「你不是裁决者」两条 **同时成立、不再冲突**:
|
|
175
|
+
|
|
176
|
+
- 裁决归 **副代理**(融合位);输出单元只做 **调度**(装配与发射),**不自裁**。
|
|
177
|
+
- **两层裁决不同阶**:验证单元裁的是 **单个 $R_i$ 的四态资格**(该结果是否有资格);副代理裁的是 **$R_i$ 之间的融合与方向**(架构层 §4.4:反题 = $R_i$ 间冲突检测)。
|
|
178
|
+
|
|
179
|
+
**载体(不新增角色)**:设计者视角在多数情形下由 **agent 本体(宿主)** 承载;当任务需要独立观测位时,可派 **独立的编排子代理** 承载——仍是同一角色的可替代载体。
|
|
180
|
+
|
|
181
|
+
**克制条款(逐字沿用技能边界,不得放宽)**:
|
|
182
|
+
|
|
183
|
+
1. **不执行**:产出判定单与建议调用清单,不产出操作结果。
|
|
184
|
+
2. **不裁决事实**:资格判定由条件证据裁决;事实裁决归验证单元与 MCP 基底。
|
|
185
|
+
3. **不写库**:`record/verify/flywheel` 等写操作只输出建议参数,由 agent 显式发起。
|
|
186
|
+
4. **不硬答盲区**:无法建立判断路径时判 **BLINDSPOT** 并停止猜测,指出缺失的条件维度。
|
|
187
|
+
|
|
188
|
+
**系统提示词载体(不另造模板)**:副代理的提示词 = **`designer-perspective` 技能本体**(含五步执行、判定单固定格式、克制条款),**不新增单元模板**;五单元提示词仍按《单元自我锚点_系统提示词标准》§2–§6 组装(§2 已定)。
|
|
189
|
+
|
|
190
|
+
### 8.3 副代理 vs 输出单元:判断 / 调度分职
|
|
191
|
+
|
|
192
|
+
| 面 | 副代理(设计者视角 = 融合位 𝓕) | 输出单元(𝓕 的功能分片) |
|
|
193
|
+
|---|---|---|
|
|
194
|
+
| 观测位置 | **全局**(整个运行时的聚合) | **局部**(本投影的发射端) |
|
|
195
|
+
| 职责 | **总的信息判断**:方向 / 融合裁决 / 关注信号 | **调度**:spec 装配、派发、结果回收对齐 |
|
|
196
|
+
| 与 $R_i$ 的关系 | 消费 $R_i$ 作裁决输入($S_F=\{R_i\}$) | 产出 / 发射 $R_i$ 及证据($O_F$ 面) |
|
|
197
|
+
| 可否自裁 | **裁决者**(唯一融合裁决位) | **不可自裁**(§5 输出锚点:「你不是裁决者——不评判任务价值、不静默修改用户意图」) |
|
|
198
|
+
| 越权判据 | 若代做 spec 装配细节 → **下沉过度**(失去全局位) | 若做了融合裁决 → **越权**(出现两个裁决位) |
|
|
199
|
+
|
|
200
|
+
**一句话**:**副代理持全局做判断,输出单元持局部做调度**——同为 𝓕,一个在整体位(融合位),一个在分片位(功能分解之一)。
|
|
201
|
+
|
|
202
|
+
### 8.4 记录 / 维生:程序为常规载体,单元为兜底
|
|
203
|
+
|
|
204
|
+
使用者裁定(2026-09-16):**保留记录单元、维生系统,作为兜底。**
|
|
205
|
+
|
|
206
|
+
| 角色 | 常规载体(主路径) | 兜底载体(单元子代理) | 切换判据 |
|
|
207
|
+
|---|---|---|---|
|
|
208
|
+
| **记录** | **程序**:写入即落盘 + 索引自动(`add` / `_stage` / `_scan_nodes` 全链路自动归属与索引) | **记录单元子代理**(§2 记录模板) | ① 程序遗漏(自动索引未覆盖的新形态)② 需语义归纳而非机械落盘 ③ 跨仓/跨端无迁移能力 |
|
|
209
|
+
| **维生** | **程序**:`md_cg/sustain.py`(心跳 / 互检 `mutual_watch` / 自动修复 / 审计 `_sustain.jsonl`),零 LLM 确定性 | **维生单元子代理**(§2 维生模板) | ① `sustain` 不可用(进程外/权限受限)② 需语义判断的存续决策 ③ 部署侧未挂守护 |
|
|
210
|
+
|
|
211
|
+
**为什么常规走程序**:记录与维生的核心动作(落盘、索引、心跳、拉起)是 **确定性计算**——第 7 条兜底纪律与第 12 条算法权威唯一原则都要求「主路径用确定性机制」;LLM 在此只增加导航税与不确定性。
|
|
212
|
+
|
|
213
|
+
**为什么仍保留单元**:程序有覆盖边界(新形态、语义归纳、不可迁移部署),**无兜底即单点失效**(第 7 条:主路径不可用则切等价兜底)。故单元形态 **不删除、降为兜底**。
|
|
214
|
+
|
|
215
|
+
### 8.5 装配规程(一次派发,六位通用)
|
|
216
|
+
|
|
217
|
+
1. **谁派发**:副代理(设计者视角)做 **方向判断与融合裁决**;输出单元做 **spec 装配与发射**;实际提交统一走蜂巢(第 17 条:`hive_spawn` / CLI submit + 留痕)。
|
|
218
|
+
2. **系统提示词**:副代理 = 技能本体(§8.2);五单元 = 《单元自我锚点_系统提示词标准》§2–§6。
|
|
219
|
+
3. **回填**:五单元产出 $R_i$(`result.json` 终态)→ 副代理按 §6 融合位裁决纪律裁决(**不以「多个 result 一致」代替验证**)。
|
|
220
|
+
4. **拓扑不变式**:任一时刻 **融合裁决位唯一**(架构层 T4 收敛位唯一、责任不分散);单元可多开(§1 数量可选),**副代理不随之复制**。
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## 附:版本差异(使用者教改记录)
|
|
225
|
+
|
|
226
|
+
| # | 上一版(错误形态) | 本版(修订) |
|
|
227
|
+
|---|---|---|
|
|
228
|
+
| 1 | model 硬编码 `deepseek-v4-pro`(v0.1) | 可选,默认 `deepseek-flash`(v0.2;v0.4 补模型↔base 强配对规则) |
|
|
229
|
+
| 2 | 依据文档只写「单元自我锚点标准」(v0.1) | 正式对齐真源《子代理系统提示词标准》,system_prompt 字段启用(v0.2) |
|
|
230
|
+
| 3 | context_files 静态注入整份文档(v0.1) | 工作任务+读取记忆(route/read 指引+主代理裁剪注入)(v0.2) |
|
|
231
|
+
| 4 | 固定 4 个验证单元视角(v0.1) | 数量可选,反思/验证单元均可多开细化(v0.2) |
|
|
232
|
+
| 5 | max_tokens 12000 无上下文预算概念(v0.1) | 200k 预算=拆解信号(v0.2) |
|
|
233
|
+
| 6 | 每次临时组装提示词,无保留复用(v0.1) | 提示词随任务保留;长期任务复用;满上下文读工作记忆续跑(v0.2) |
|
|
234
|
+
| 7 | (v0.2 无理论对应节) | v0.3 新增 §6:公设 P1/P2、CA-T1/T3/T4 落为配置判据与速查 |
|
|
235
|
+
| 8 | 统一执行默认停留在口头约定,MCP 面不透传 effort / 预算(v0.3) | v0.4 §0:三项默认下沉到 `hive_spawn` 缺省注入 + `spec_defaults` 回显;§7 补确定性执行 worker |
|
|
236
|
+
| 9 | 运行时角色拓扑散落四层,无一处成文;「副代理」仅第三方报告用词,与融合位/第六实例/编排者被当成四个东西(v0.4) | v0.5 §8:**六位拓扑成文**(1 副代理 + 5 单元)+ **副代理正名「设计者视角」**(方向判断 / 全局视角 / 提建议)+ **融合裁决归位副代理**(§6 与 §5 历史表述澄清)+ **记录 / 维生双形态**(程序常规、单元兜底) |
|