编译器与运行时taskflow 0.2 新能力
taskflow 0.2 新能力
编译器 / 运行时转身:TypeScript 编写、FlowIR、replay 与最小重算。
taskflow 0.2 保留声明式 DAG 模型,但改变了运行时可以如何处理这张图。一个 flow 现在可以通过编译期 TypeScript 前端编写,编译为内容寻址的 FlowIR,通过确定性事件轨迹解释运行决策,并在输入变化后只重算最小 stale frontier,而不是从头重跑整张图。
核心心智模型: JSON 仍是跨宿主的可移植执行合同;TypeScript 是编写前端;FlowIR 是让 provenance、replay 与增量重算变得可解释的编译表示。
0.2 学习路径
编写。 继续使用普通 Taskflow JSON,或通过编译期 TypeScript DSL 将 .tf.ts runes erase 为 JSON 与 FlowIR。
编译与检查。 使用 /tf ir 查看规范化的 FlowIR 与增量重算模型,再决定哪些阶段需要重新执行。
解释决策。 记录事件轨迹,通过确定性 replay 在零 token 下评估新的 gate 阈值或预算。
把长任务移出当前会话。 在 Pi 上启动后台运行,保留 runId,之后再检查或续跑。
我现在需要哪个操作?
| 场景 | 操作 | 是否调用模型 |
|---|---|---|
| 花 token 前检查图结构 | verify / compile | 否 |
| 检查编译后的图和内容哈希 | ir | 否 |
| 输入不变,继续未完成工作 | resume | 只执行未完成阶段 |
| 用新阈值重判已完成轨迹 | replay | 否 |
| 解释输入变化后哪些阶段过期 | why-stale | 否 |
| 只重跑受影响的 frontier | recompute | 只执行受影响阶段 |
| 让长时间 Pi 运行跨会话存活 | detach: true | 正常运行成本 |
从 Compiler Bench 开始
TypeScript DSL
编写 .tf.ts,erase runes,并产出可移植的 Taskflow JSON / FlowIR。
FlowIR 与增量重算
内容寻址、provenance、stale frontier 分析与最小重执行。
确定性 Replay
不调用模型,重新裁决已经记录的运行时决策。
后台运行
分离长时间 Pi 运行,通过 runId 轮询,并在失败后续跑。
哪些东西没有改变
- JSON 仍是 Pi、Codex、Claude Code、OpenCode 与 Grok Build 之间的可移植执行格式。
- 中间 transcript 仍不会进入宿主对话,除非你显式检查它们。
verify仍发生在 token 消耗之前,DAG 语义仍是执行基础。- Resume、replay 与 recompute 是三件不同的事:继续工作、重判历史、或重跑变化部分。
下一步
Last updated on