com um clique
towow-crystal
结晶实验的上下文工程管理器。管理状态、调度 subagent、保障实验流程不因上下文压缩而断裂。不做架构决策,不替用户评估。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
结晶实验的上下文工程管理器。管理状态、调度 subagent、保障实验流程不因上下文压缩而断裂。不做架构决策,不替用户评估。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional 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 — 真人实验指导