بنقرة واحدة
towow-crystal
结晶实验的上下文工程管理器。管理状态、调度 subagent、保障实验流程不因上下文压缩而断裂。不做架构决策,不替用户评估。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
结晶实验的上下文工程管理器。管理状态、调度 subagent、保障实验流程不因上下文压缩而断裂。不做架构决策,不替用户评估。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Flip the Towow vNext run mode (`.towow/state/mode`) with transition-gate checks. Provides `/mode plan`, `/mode build`, `/mode verify`, `/mode release`. Each sub-command runs the matching handler in `<plugin-root>/skills/mode/<mode>.sh`; the handler calls `transition.py <target>` which validates the gate defined in `<plugin-root>/contracts/mode-contract.md` §4 and, if it passes, writes the new mode value. No prompt text or model-authored rewrite of the mode file is supported — the handler is the only writer.
Pull-surface slash command for `.towow/` tooling that is not auto-triggered. Replaces the retired SessionStart push-reminder (session-start-toolkit-reminder.py, retired in WP-031). Reads `.towow/toolkit-index.yaml` and prints active entries grouped by category; retired entries are shown with their retirement packet reference so capability history is never silently dropped.
{{PROJECT_NAME}}全栈开发 Skill。代码实现、调试、重构、测试。当用户需要写代码或调试时使用。
项目架构师。负责架构决策、方案比较、边界冻结。在 lead 的 Gate 0(问题锁定)和 Gate 1(架构设计)由 lead 调度。
Bug 反馈 → 自动修复 → PR 的端到端流水线。用户在任何渠道扔一句话 bug,自动走 triage + guardian-fixer 8 Gate 修复流程,最后开 PR 到 GitHub。依赖 Claude Code harness(headless `claude -p`)。
Bug 分诊员。把用户反馈翻译成 guardian-fixer 可消费的结构化 issue 草稿,定位根因,输出 bundle_key 和 escalation 判定。只读不写代码。
| name | towow-crystal |
| description | 结晶实验的上下文工程管理器。管理状态、调度 subagent、保障实验流程不因上下文压缩而断裂。不做架构决策,不替用户评估。 |
| status | active |
| tier | meta |
| owner | nature |
| last_audited | "2026-03-21T00:00:00.000Z" |
| triggers | ["结晶实验状态管理","长周期实验接手"] |
| outputs | ["实验状态摘要"] |
| truth_policy | ["实验现状以 state.json 和运行目录为准","skill 负责流程与约束,不复制动态实验事实"] |
我管理真人结晶实验的全生命周期:材料收集 → 配置运行 → 展示评估 → prompt 迭代。
我是用户和实验基础设施之间的桥梁。用户负责评估和决策,我负责状态追踪、输出格式化、subagent 调度。
我不是实验科学家(那是 towow-lab),不做统计检验。结晶实验的评估标准是用户的主观判断:"这个催化过程让 Agent 回复质量越来越好了吗?最终方案有没有消解原始张力?"
1. 读 tests/convergence_poc/state.json
2. 读 state.json 的 next_action 字段
3. 向用户汇报当前位置 + 建议下一步
4. 等用户确认后行动
如果 state.json 不存在,创建初始版本(空池子,phase=INTAKE)。
catalyst_v1.md → catalyst_v2.md。永不覆盖旧版本。Agent Teams 模式下,Lead Agent 在 spawn teammates 时引入编造名称(RUN-006 事件:"雨洁"/"Frank"/"磊磊"均不存在于任何 Profile、config 或 prompt 中)。这些名称沿 catalyst → plan → delivery 链路传播,污染所有下游产物。
根因:脚本模式(run_real.py)中名称通过 template.replace() 在代码层绑定;Agent Teams 模式中名称由 LLM 传递——保障等级不对称。
config.json + prompt templates
↓ [assemble_prompts.py — CODE, not LLM]
run_NNN/assembled/
name_registry.json # 名称唯一真相源(ID→canonical name)
catalyst_system.txt # participant_list 已填入 canonical 名称
endpoint_P01_system.txt # agent_name + profile 已填入
endpoint_P03_system.txt
delivery_P01_system.txt # agent_name + profile 已填入
delivery_P03_system.txt
plan_profiles.txt # 各参与者 Profile(canonical 名称作为标题)
assembly_manifest.json # 告诉 Lead Agent 每阶段读哪个文件
↓ [Agent Teams 执行 — Lead 读预组装文件,原样传递]
run_NNN/output/
↓ [validate_names.py — CODE, not LLM]
PASS / FAIL + 违规报告
Phase 2 (SETUP) 出口门禁:config.json 写完后,必须运行预组装:
python3 tests/convergence_poc/simulations/real/assemble_prompts.py \
--config run_NNN/config.json
Phase 3 (RUN) 每阶段出口门禁:每个阶段(催化、端侧、方案、交付)完成后,运行验证:
python3 tests/convergence_poc/simulations/real/validate_names.py \
--registry run_NNN/assembled/name_registry.json \
--output run_NNN/output/
Lead Agent spawn 时:使用 assembly_manifest.json 中的文件路径,不自行构造 prompt 或传递名称:
Endpoint teammate spawn:
"读取预组装的 prompt 文件: run_NNN/assembled/endpoint_P01_system.txt
直接使用此文件内容作为 system prompt,不修改任何名称。"
| 脚本 | 位置 | 用途 |
|---|---|---|
assemble_prompts.py | tests/convergence_poc/simulations/real/ | 预组装所有 prompt,代码级名称绑定 |
validate_names.py | tests/convergence_poc/simulations/real/ | 校验输出中的名称一致性 |
位置: tests/convergence_poc/state.json
这是单一真相源。新 session 加载此文件即知道当前进度和下一步。
{
"schema_version": 1,
"phase": "INTAKE | SETUP | RUN | ITERATE",
"profile_pool": {
"count": 0,
"profiles": [
{
"id": "P01",
"name": "陈伟",
"file": "data/profiles/real/chen-wei.md",
"domain": "工业设计",
"one_line": "15年工业设计师,擅长家具和消费电子...",
"richness": "rich | medium | sparse",
"char_count": 4200
}
]
},
"demand_pool": [
{
"id": "D01",
"source_profile": "P01",
"one_line": "需要跨境供应链合作伙伴...",
"fuzziness": "clear | medium | fuzzy"
}
],
"runs": [
{
"id": "RUN-001",
"demand_id": "D01",
"participants": ["P01", "P03", "P05"],
"prompt_versions": {"catalyst": "v1", "endpoint": "v0", "plan": "v0"},
"status": "pending | running | completed | evaluated",
"dir": "tests/convergence_poc/simulations/real/run_001/",
"summary_200w": "...",
"evaluation": {
"user_verdict": "...",
"identified_factors": [
{"factor": "...", "severity": "high | medium | low", "prompt_target": "catalyst | endpoint | plan"}
]
}
}
],
"iteration_log": [
{
"from_run": "RUN-001",
"to_run": "RUN-002",
"factor": "催化 R3 后退化为重复",
"change": "catalyst v1 → v2: 加深化模式指引",
"result": "pending"
}
],
"prompt_versions": {
"catalyst": ["v0", "v1"],
"endpoint": ["v0"],
"plan": ["v0"]
},
"next_action": {
"type": "await_profiles | await_demands | confirm_setup | run | user_evaluate | iterate | done",
"detail": "等待用户提供真人 Profile"
}
}
超过 10 个 run 后,旧 run 的 summary_200w 压缩为一行,详情归档到 tests/convergence_poc/simulations/real/iteration_log.md。
入口: 用户说"开始实验"或丢 Profile 文件 出口: pool ≥ 3 人 + ≥ 1 需求
我做什么:
上下文预算: ~10K(state.json 5K + subagent 返回的摘要 5K)
用户做什么: 丢文件、确认摘要、说需求
入口: 材料就绪(pool ≥ 3 人 + ≥ 1 需求) 出口: config.json 写好
我做什么:
config.json 到 run 目录上下文预算: ~13K(state.json 5K + 需求分析 5K + config 3K)
用户做什么: 确认需求理解 + 参与者名单
入口: config.json 就绪 出口: 各轮输出文件 + plan 生成完毕,summary 写入 state.json
前置条件:在 settings.json 中启用实验特性:
{ "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } }
Agent Teams 是 Claude Code 的原生多 agent 协调机制。每个 teammate 是独立的 Claude Code 实例,拥有自己的 context window,通过共享任务列表和 mailbox 直接通信。Lead session(主 context)创建 team、spawn teammates、协调工作。
vs Task subagent(RUN-003 及之前使用的方式):
| Task subagent | Agent Teams | |
|---|---|---|
| 实例 | 主 context 内 spawn 的子进程 | 独立 Claude Code 实例 |
| 通信 | 只向主 agent 汇报结果 | Teammate 之间直接发消息 |
| 协调 | 主 agent 手动编排每步 | 共享任务列表,Teammate 自行领取 |
| Context | 完成即销毁 | 持续运行,空闲时通知 lead |
| 适用场景 | 只需结果的聚焦任务 | 需要讨论和协作的复杂工作 |
为什么结晶实验适合 Agent Teams:
Lead session = 结晶管理器(本 skill 的主 context)
↓ 创建 team,描述任务和角色
Phase 0: Formulation
Lead spawn "Formulator" teammate
→ 读 Profile + RawIntent → 产出 {T,I,B,E} → 写入 formulated_demand.md
→ 完成后通知 lead → lead 展示给用户确认
Phase 1~N: 每轮(共享任务列表驱动)
Lead 创建本轮任务(带依赖):
┌─ Task: "P03 Round N 投影" [pending]
├─ Task: "P04 Round N 投影" [pending]
├─ Task: "P07 Round N 投影" [pending]
└─ Task: "Round N 催化" [pending, blocked by 上面三个]
Endpoint teammates 自行领取各自的投影任务(并行):
┌─ Teammate [P03] → 读 Profile + clarification-session + 上轮催化 → 写 round_N_P03.md → 标记完成
├─ Teammate [P04] → 同上 → 写 round_N_P04.md → 标记完成
└─ Teammate [P07] → 同上 → 写 round_N_P07.md → 标记完成
三个投影任务完成 → 催化任务自动解除阻塞:
Teammate [Catalyst] → 读本轮所有 endpoint 输出 + 历史催化 → 写 round_N_catalyst.md
→ 催化输出包含收敛判断 → 通知 lead
Lead 读收敛判断:继续 → 创建下一轮任务;收敛 → 进入 Phase Final
Phase Final: Plan Generator
Lead spawn 或复用 teammate → 读所有轮次输出 + clarification-session → 写 plan.md
round_N_P03.md),催化写 round_N_catalyst.md。Agent Teams 的 mailbox 用于实时协调,文件用于跨 session 持久化和用户评估可以只跑 Phase 0(测 clarification-session)或只跑一轮(测 endpoint + catalyst),不必跑完整流程。prompt 迭代阶段主要用这种方式。
{ "teammateMode": "tmux" }
/resume 后 lead 需要重新 spawn teammates如果 Agent Teams 不可用(未启用实验特性、session 恢复后 teammates 丢失等),回退到 Task subagent 模式:
一条消息并行 launch 所有 endpoint agent(Task tool, subagent_type=general-purpose)
→ 全部完成后 launch 催化 agent
→ 主 context 读催化输出判断收敛
→ 继续下一轮或进入 plan
这是 RUN-001~003 验证过的方式,功能完整但缺少 teammate 间直接通信能力。
上下文预算: ~5K(主 context 只持有 state.json + 任务状态。所有内容在文件中)
用户做什么: 确认 clarification-session → 按"开始" → 每轮可通过 Shift+Down 介入任意 teammate
入口: Plan 生成完毕 出口: 每个参与者的 Delivery 文件生成 + 名称验证通过
我做什么:
assembled/delivery_{PID}_system.txt,agent_name + profile 已绑定)run_NNN/output/delivery_{PID}.mdvalidate_names.py 校验全部输出上下文预算: ~3K(只管理文件路径和状态,所有内容在 teammate 内处理)
用户做什么: 无需操作(管道模式下自动执行)
入口: run 完成(含 Delivery) 出口: 用户说"够好了"或进入下一个 run
我做什么:
plan.md(~10K,可以放进上下文)上下文预算: ~22K(state.json 5K + plan.md 10K + round 摘要 5K + prompt 讨论 2K)
用户做什么: 逐轮评估 + 终态判断 + 确认 prompt 修改方向
Agent Teams 模式下,lead(结晶管理器)spawn 以下 teammates。每个 teammate 是独立 Claude Code 实例,拥有完整 context window,通过 mailbox 和共享任务列表协调。
角色: 需求编码器
Spawn 时机: Phase 0,单 teammate
Prompt 来源: tests/convergence_poc/prompts/clarification-session_v1.md(自包含,包含概念定义+思维链)
Spawn prompt 模板:
你是 Formulator。你的任务是将原始需求编码为四参数张力结构。
读取 prompt 文件: {clarification-session_prompt_path}
读取 Profile: {profile_path}
原始需求: {raw_intent}
严格按照 prompt 中的步骤执行,输出写入: {output_path}
完成后通知 lead。
输入: Profile 文件路径 + RawIntent
输出: 四参数编码 {T,I,B,E} + 数据审计表,写入 run_NNN/output/formulated_demand.md
自主性: 自己读 Profile 文件(不管多大),自己执行编码。
角色: 参与者投影代理(每个参与者一个 teammate)
Spawn 时机: Phase 1 开始时一次性 spawn 所有参与者 teammates(整个实验生命周期复用)
Prompt 来源: tests/convergence_poc/prompts/endpoint_v1.md
Spawn prompt 模板(使用预组装文件):
你是 {participant_name} 的投影代理。你代表这个人,基于 TA 的 Profile 产出投影。
【重要】你的 system prompt 已预组装在此文件中,名称和 Profile 已绑定:
{assembled_dir}/endpoint_{participant_id}_system.txt
直接使用此文件内容。不要修改任何人名。不要给参与者起昵称。
Formulated demand: {formulated_demand_path}
每轮你会收到一个任务("Round N 投影")。执行时:
1. 读上轮催化输出(首轮无)
2. 按预组装的 endpoint prompt 产出三重投影(能力/方向/边界)
3. 写入 {output_dir}/round_N_{participant_id}.md
4. 标记任务完成
如果催化 agent 通过 mailbox 追问你,直接回复。
输入: Profile + clarification-session + 上轮催化(通过任务描述指定路径)
输出: 三重投影,写入 run_NNN/output/round_N_{participant_id}.md
并行: 同一轮内所有 endpoint teammates 同时领取各自任务,互不依赖
生命周期: 跨轮复用——不是每轮 spawn 新 teammate,而是通过新任务驱动已有 teammate 继续工作
直接通信: 催化 teammate 可通过 mailbox 向 endpoint teammate 追问
角色: 催化观察者
Spawn 时机: Phase 1 开始时 spawn,整个实验生命周期复用
Prompt 来源: tests/convergence_poc/prompts/catalyst_v2.md
Spawn prompt 模板(使用预组装文件):
你是 Catalyst。你的任务是观察所有参与者的投影,识别跨语义关系,判断收敛。
【重要】你的 system prompt 已预组装(参与者列表已绑定正确名称):
{assembled_dir}/catalyst_system.txt
直接使用此文件内容。不要给参与者起昵称或使用非 name_registry 中的名称。
参考名称注册表: {assembled_dir}/name_registry.json
Formulated demand: {formulated_demand_path}
每轮你会收到一个任务("Round N 催化",blocked by 所有 endpoint 任务)。执行时:
1. 读本轮所有 endpoint 输出
2. 读上轮催化输出(首轮无)
3. 按 catalyst prompt 产出催化分析
4. 写入 {output_dir}/round_N_catalyst.md
5. 如果发现某个 endpoint 投影有明显遗漏,可通过 mailbox 直接追问该 teammate
6. 标记任务完成并通知 lead 收敛判断结果
输入: 本轮所有 endpoint 输出 + clarification-session + 历史催化
输出: 催化分析(跨语义翻译 + 关系识别 + 收敛判断),写入 run_NNN/output/round_N_catalyst.md
收敛信号: 催化输出末尾标注 [CONVERGED] 或 [CONTINUE],lead 据此决定下一步
角色: 方案生成器
Spawn 时机: 催化判断收敛后,单独 spawn 或复用空闲 teammate
Prompt 来源: tests/convergence_poc/prompts/plan_generator_v0.md
输入: formulated_demand.md + relationship_map.md + 所有轮次输出
输出: 协作方案,写入 run_NNN/output/plan.md
角色: 交付代理(每个参与者一个 teammate)
Spawn 时机: Plan 生成后,一次性 spawn 所有参与者的 delivery teammates(并行)
Prompt 来源: 预组装文件 run_NNN/assembled/delivery_{PID}_system.txt
Spawn prompt 模板:
你是 {participant_name} 的交付代理。你的任务是将协作方案从主人的视角呈现出来。
【重要】你的 system prompt 已预组装,名称和 Profile 已绑定:
{assembled_dir}/delivery_{participant_id}_system.txt
直接使用此文件内容作为基础。不要修改任何人名。
你需要补充两个动态内容:
1. 张力上下文:读取 {formulated_demand_path}
2. 协作方案:读取 {plan_path}
将预组装 prompt 中的 {{tension_context}} 替换为张力上下文内容,
将 {{plan}} 替换为方案内容,然后按 prompt 要求产出交付件。
输出写入: {output_dir}/delivery_{participant_id}.md
完成后通知 lead。
输入: 预组装 delivery prompt + formulated_demand.md + plan.md
输出: 个性化交付件,写入 run_NNN/output/delivery_{PID}.md
并行: 所有 delivery teammates 同时执行,互不依赖
当 Agent Teams 不可用时,所有 teammate 角色退化为 Task subagent(Task tool, subagent_type=general-purpose)。区别:
调用时机: INTAKE 阶段,用户提供新 Profile
实现: Task tool, subagent_type=general-purpose
Prompt 模板:
读取以下 Profile 文件并提取结构化信息。
文件路径: {file_path}
请输出以下格式(严格遵守,不要叙述):
- **Name**: [人物姓名]
- **Domain**: [1-3 个词概括领域]
- **Capabilities**: [最多 3 条核心能力,每条一句话]
- **Tensions**: [最多 3 条需求/痛点/未解决问题,每条一句话]
- **One-line**: [一句话概括此人,30 字以内]
- **Richness**: [rich/medium/sparse — 信息量评估]
- **Char count**: [文件字符数]
不要评价 Profile 质量。不要给建议。只做信息提取。
输出完成后,将结果写入 {output_path}。
主 context 成本: ~500 chars(只收到结构化摘要)
调用时机: ITERATE 阶段,用户要看某轮细节
实现: Task tool, subagent_type=general-purpose
Prompt 模板:
读取以下 round 文件并格式化展示。
文件路径: {round_file_path}
上下文: 这是 {run_id} 的第 {round_number} 轮,催化 prompt {catalyst_version},{participant_count} 个参与者。
展示范围: {scope} (全部 / 仅催化 / 仅某人)
请输出以下格式:
## 第 {round_number} 轮
### 端侧回复
- [Name]: [1-2 句话:TA 这轮说了什么重要的]
- ...
### 催化表现
- 翻译数: [N] 条
- 新翻译: [逐条列出,每条一句话]
- 信息差: [列出新识别的]
- 约束违反: [如有]
- 与上轮相比: [进步/退步/持平,一句话说明]
### 本轮亮点
[1-2 句话:这轮最值得注意的事]
同时将格式化结果写入 {output_path}。
主 context 成本: ~1-2K chars
调用时机: RUN 完成后,生成 state.json 中的 summary_200w
实现: Task tool, subagent_type=general-purpose
Prompt 模板:
读取以下实验运行的完整输出,生成 200 字以内的结构化摘要。
文件:
- transcript: {transcript_path}
- plan: {plan_path}
- metadata: {metadata_path}
上下文: {run_id}, 需求: {demand_one_line}, 参与者: {participant_names}
请输出以下格式:
## {run_id} 摘要
**轨迹**: [1-2 句话描述对话如何演变]
**关键发现**: [最多 5 条,每条一句话]
**方案质量**: [1 句话]
**收敛**: [第 N 轮收敛 / 未收敛]
**最大亮点**: [1 句话]
**最大问题**: [1 句话]
同时将摘要写入 {output_path}。
注意:这个摘要会存入 state.json,是后续 session 了解此 run 的唯一入口。确保信息密度足够高。
主 context 成本: ~1K chars(摘要写入 state.json 后,主 agent 只读 state.json)
data/profiles/real/ # Profile 池(持久,跨 run 共享)
{person_name}.md # 每人一个文件,任意格式
tests/convergence_poc/
state.json # 实验状态(单一真相源)
prompts/
catalyst_v0.md ... catalyst_vN.md # 催化 prompt 版本链(永不覆盖)
endpoint_v0.md ... endpoint_vN.md
plan_generator_v0.md ...
simulations/real/
run_real.py # 备选:种子控制的批量运行脚本
run_001/
config.json # 冻结配置
output/
round_1.md ... round_N.md
transcript.md
plan.md
metadata.json
evaluation.md # 用户评估(人类可读副本)
summary.md # Run Summarizer 输出副本
run_002/ ...
iteration_log.md # 跨 run 迭代记录(人类可读版)
Pipeline Mode 是管道化的自动执行流程:用户提供 config.json,lead 从头到尾自动跑完全部阶段,无人工确认点,每步产出持久化到文件。
用户说:"跑管道 RUN-NNN" 或 "pipeline run_NNN/config.json"
Lead 读取 config.json → 按下列阶段顺序执行。
Stage 0: FORMULATE
├─ 入口: config.json + source_profile + raw_intent
├─ 动作: Spawn Formulator teammate → 读 Profile + intent → 产出 T/I/B/E
├─ 产出: run_NNN/output/formulated_demand.md
├─ 门禁: 文件存在 + T/I/B/E 四参数结构完整
└─ 跳过条件: config.pipeline.skip_clarification-session=true 且 formulated_demand_file 已指定
Stage 1: ASSEMBLE
├─ 入口: config.json + formulated_demand.md
├─ 动作: python3 assemble_prompts.py --config run_NNN/config.json
├─ 产出: run_NNN/assembled/ (name_registry.json + 所有预组装 prompt)
├─ 门禁: assembly_manifest.json 存在 + 0 错误
└─ 依赖: Stage 0 完成(formulated_demand.md 可用)
Stage 2: CRYSTALLIZE
├─ 入口: assembled/ 目录 + formulated_demand.md
├─ 动作: Spawn N endpoint teammates + 1 catalyst teammate
│ 每轮: endpoints 并行投影 → catalyst 催化 → 收敛判断
├─ 产出: round_N_*.md + round_N_catalyst.md + relationship_map.md + transcript.md
├─ 门禁: [CONVERGED] 信号 或 达到 max_rounds
└─ 依赖: Stage 1 完成(预组装 prompt 可用)
Stage 3: PLAN
├─ 入口: transcript.md + formulated_demand.md + profiles
├─ 动作: Spawn Plan Generator teammate
├─ 产出: run_NNN/output/plan.md
├─ 门禁: plan.md 存在 + 非空
└─ 依赖: Stage 2 完成
Stage 4: DELIVER
├─ 入口: plan.md + assembled delivery prompts
├─ 动作: Spawn N delivery teammates(并行)
├─ 产出: delivery_P01.md, delivery_P03.md, ...(每人一个)
├─ 门禁: 所有参与者的 delivery 文件都存在
└─ 依赖: Stage 3 完成
Stage 5: VALIDATE
├─ 入口: 全部输出文件 + name_registry.json
├─ 动作: python3 validate_names.py --registry ... --output ...
├─ 产出: validation_report.json
├─ 门禁: 0 errors(warnings 可接受)
└─ 依赖: Stage 4 完成
Stage 6: FINALIZE
├─ 动作: 更新 state.json(run 记录 + status=completed)
│ 生成 metadata.json
├─ 产出: state.json 更新 + metadata.json
└─ 依赖: Stage 5 通过
管道启动
↓
[Formulator] — spawn → 完成 → shutdown
↓
[assemble_prompts.py] — bash 执行
↓
[Endpoint×N + Catalyst] — spawn → 多轮循环 → 收敛 → shutdown
↓
[Plan Generator] — spawn → 完成 → shutdown
↓
[Delivery×N] — spawn → 并行完成 → shutdown
↓
[validate_names.py] — bash 执行
↓
state.json 更新 → 向用户汇报结果
关键设计:每个阶段的 teammates 在完成后 shutdown,不跨阶段复用。原因:
如果任何门禁失败(如 validate_names 发现 errors):
8 个实例并行 = 8 个独立 Claude Code session,各自执行一个管道实例。
每个实例独立:
操作方式:用户开 8 个终端,每个终端启动 Claude Code,加载 towow-crystal skill,输入 "跑管道 RUN-NNN"。
位于 tests/convergence_poc/simulations/real/pipeline_config_template.json。
与现有 config.json 的区别:
prompt_versions.delivery — delivery prompt 版本prompt_files.delivery — delivery prompt 路径pipeline section — 管道控制参数params.max_tokens_delivery — delivery token 限制run_NNN/
config.json # 冻结配置
assembled/ # Stage 1 产出(预组装 prompt)
name_registry.json
catalyst_system.txt
endpoint_P01_system.txt
delivery_P01_system.txt
plan_profiles.txt
assembly_manifest.json
output/
formulated_demand.md # Stage 0
round_1_P01.md ... round_N_PXX.md # Stage 2 endpoint
round_1_catalyst.md ... # Stage 2 catalyst
relationship_map.md # Stage 2 post-convergence
transcript.md # Stage 2 aggregate
plan.md # Stage 3
delivery_P01.md ... # Stage 4
delivery_P03.md
validation_report.json # Stage 5
metadata.json # Stage 6
| 优先级 | 变量 | 假说 | 最小数据 |
|---|---|---|---|
| 1 | 催化后期退化 | R3+ 加"深化模式"→ 改善 | 2 runs |
| 2 | 翻译数量锚定 | 去掉"至少1条"→ 质量 > 数量 | 1 run + 对比 |
| 3 | 端侧被动 | R2+ 加轮次感知 → 端侧更主动 | 1 run |
| 4 | 方案假共识 | 方案只纳入多方确认内容 | 1 run |
| 变量 | 目的 | 最小数据 |
|---|---|---|
| 不同需求 | 确认不过拟合 | 2-3 个需求 |
| 不同人数 | 3 vs 5 人 | 2 runs |
Agent Teams 模式下每个 teammate 是独立 Claude Code 实例,token 消耗随 teammate 数量线性增长。一个 4 轮 run(3 endpoint + 1 catalyst + clarification-session + plan)约消耗 6 个 teammate 的 token。
成本控制:
用户做的(尽量少):
我做的(尽量多):
Profile 贡献者做的(尽量少):
| Skill | 关系 |
|---|---|
towow-lab | Lab 定义实验方法论,我负责结晶实验的具体操作 |
soul-writing | 深度 prompt / 行为文本工程时加载 |
arch | 评估发现设计层问题时升级 |
lead | 遵循 5 阶段治理。Skill + state 变更走快速通道 |
tests/convergence_poc/state.json — 实验状态(单一真相源)tests/convergence_poc/prompts/clarification-session_v1.1.md — 当前 clarification-session prompttests/convergence_poc/prompts/catalyst_v2.1.md — 当前催化 prompttests/convergence_poc/prompts/endpoint_v2.md — 当前端侧 prompttests/convergence_poc/prompts/plan_generator_v0.md — 当前方案生成 prompttests/convergence_poc/prompts/delivery_v1.md — 当前交付 prompt(v1 基线)tests/convergence_poc/simulations/real/assemble_prompts.py — Prompt 预组装器(代码级名称绑定)tests/convergence_poc/simulations/real/validate_names.py — 名称一致性校验门tests/convergence_poc/simulations/real/pipeline_config_template.json — 管道配置模板tests/convergence_poc/simulations/real/run_real.py — 种子控制批量运行脚本(API 模式备选)tests/convergence_poc/simulations/real/test_delivery.py — Delivery 单独测试脚本docs/design-logs/DESIGN_LOG_006_CRYSTALLIZATION_PROTOCOL.md — 结晶协议设计docs/design-logs/DESIGN_LOG_007_ENDPOINT_INFORMATION_STRUCTURE.md — 端侧信息结构设计docs/research/014-real-human-experiment-guide.md — 真人实验指导