07 · 路线图与执行计划
假设:1 名系统工程师(Rust/运行时)+ 1 名前端/设计 + 0.5 名 PL/理论顾问 + 0.5 名内容/DevRel。 单人全职则时间 ×1.8,或按"必须/可选"砍范围。 时间从 2026-11 起算;阶段可重叠,但退出标准必须满足。
7.1 阶段总览
| 阶段 | 周期 | 主题 | 关键交付 | 退出标准 |
|---|---|---|---|---|
| M0 | 2 周 | 地基 | 仓库脚手架、CI、ain-core IR + 朴素解释器、trace 格式、3 个渲染 spike |
30 个单元/属性测试通过;浏览器能跑一张 γ/δ/ε 网 |
| M1 | 6 周 | Netbook MVP | 第 1–3 章、Net Canvas、WASM 引擎、部署 | 新用户 20 分钟完成第 1 章;规则动画与解释器 100% 一致 |
| M2 | 8 周 | Ainet 单机 | Core/Flow 解析 + 类型检查、aind 单机、LLM/工具 effect、3 Agent demo、重放 |
demo 端到端;100 次重放 100% 一致;预算账本精确 |
| M3 | 8 周 | 并行与调试 | 多线程 work stealing、基准、ain trace view、Netbook 第 4–5 章 |
8 核 ≥ 20M interactions/s;trace UI 能定位一次 Agent 决策 |
| M4 | 10 周 | 分布式 | 3 节点调度、remote wire、检查点/故障恢复、能力安全 | 杀 1 节点 5s 内恢复;越权调用 100% 拦截 |
| M5 | 6 周 | 完整与发布 | Netbook 第 0/6–9 章、文档、示例、公开 beta | 9 章完整;离线可用;外部审校通过 |
总时长:约 40 周(9–10 个月)。M1 与 M2 可部分并行(前端 vs 编译器);M3/M4 与 Netbook 内容并行。
7.2 各阶段任务
M0 · 地基(2 周)· 已完成
工程
- Monorepo:
apps/netbook,crates/ain-core,crates/ain-wasm,crates/ain-lang,crates/ain-runtime,crates/ain-cli,packages/sdk-ts(后三者为占位)。 - CI:
cargo fmt/clippy/test、wasm build、Netbook build。 -
specs/net-ir.md:cell/port/wire/rule 的二进制与 JSON 表示。 -
specs/trace.md:step/effect/remote 事件 schema;版本化。 -
ain-core:朴素解释器(单线程、BTreeMap 存储、无优化),支持 γ/δ/ε + 用户规则模板。 - 15 个核心测试(M1 已扩展到 24 单元 + 2 golden trace):组合子规则、用户规则、合流、trace/hash、JSON round-trip。
- 渲染 spike 1:PixiJS 真实网图 + Step/Run(浏览器已验证)。
- 渲染 spike 2/3:力导向布局、1k cells 性能基准(M1)。
决策
- 确认 crate 边界与 IR 版本策略(v1)。
- 确认 license(建议 MIT/Apache-2.0 + CC BY 4.0;待法务/作者确认)。
- 确认 Netbook 技术栈(Astro 7 + Svelte 5 + PixiJS 8)。
退出:cargo test 绿;apps/netbook 能加载一张 JSON 网并单步;CI 在 PR 上跑通。
M1 · Netbook MVP(6 周)· 已完成(核心切片)
内容
- 第 1 章:Agent/端口/线;拖拽搭建;3 个练习(连线 ×2 + principal 保持自由)。
- 第 2 章:活跃对/规则;点火动画(flash + 活跃对高亮);3 个练习。
- 第 3 章:γ/δ/ε;四个预设(γ⋈γ、δ⋈γ、ε⋈γ、ε⋈ε);3 个累积任务。
- 中英文案各一套(当前中文;英文待 M2)。
引擎/UI
- Net Canvas:pan/zoom、拖拽、连线、端口吸附、非法连接提示、撤销/重做。
- Rule Player:step/run/reset;速度/断点待后续。
- WASM:
step,run,trace;runUntil/snapshot/restore待 M2。 - 布局:力导向自动布局 + 拖拽保持;分层布局待 M2。
- Golden trace:2 个集成测试锁定最终 hash。
- Permalink:URL hash 包含当前网 + 布局;刷新可恢复。
- 任务校验:基于当前网/交互数/累计规则集。
发布
- Cloudflare Pages(或 Vercel)部署;自定义域名;隐私友好的 analytics。
- 移动端基本可用(响应式布局;触控手势已接)。
退出:5 名外部用户测试,4 人能在 20 分钟内完成第 1 章;无 P0 规则错误。
M1 实现说明:编辑器、任务、trace、permalink 已接通;时间旅行/断点/速度控制/规则编辑器 与完整 i18n 顺延到 M2,不阻塞 M1 的教学闭环。
M2 · Ainet 单机(8 周)· 已完成(核心切片)
语言
-
ain-lang:lexer/parser(rowan)、AST、名称解析、错误恢复。 - 类型检查:线性、session(
!/?/end/rec)、effect row、预算。 - Lowering:状态展开、effect call、
par/race/timeout/supervise。 - 诊断:源位置 + 网片段 + 修复建议(至少 8 类错误)。
- M2 替代方案:声明式 JSON
FlowSpec(agent/edge/budget/input),直接驱动运行时;文本 DSL 顺延 M3。
运行时
-
ain-runtime:单线程确定性调度(agent inbox + BTreeMap 顺序);多线程/redex bag 顺延 M3。 - Effect bus:mock LLM(researcher/critic/writer)+ mock search;真实 provider 待 M3。
- 预算与账本:token/$/steps 上限;账本按 effect 累加;超支返回错误。
- 重放:从 trace 的 effect 记录重放,校验 request hash + 最终 state hash。
- WAL/检查点:M2 用 JSON trace 文件代替 fsync WAL;崩溃恢复待 M3。
-
ain flow run,ain flow replay,ain flow demo;trace view待 M3。
Demo
- 3 Agent 研究流水线(Researcher/Critic/Writer)+ mock search + 预算。
- 故障注入:预算耗尽、step 上限、未知 behavior;LLM 超时/工具失败待 M3。
- 100 次重放一致性测试(live 100 次 + trace replay)。
退出:demo 一条命令跑通;重放 100/100 一致;成本账本精确到 effect;至少 3 个外部开发者试用(待补)。
M2 实现说明:运行时是 L1/L3/L6 执行层——Agent 有状态、信箱、effect、预算、确定性日志; 纯交互网仍由
ain-core负责。Agent 通信暂由运行时信箱管理,session-typed net channel 与 文本 DSL 在 M3 落地。
M3 · 语言 + 并行与调试
M3a · Ainet Flow 语言层 · 已完成(核心切片)
-
ain-lang:lexer/parser/AST/编译器;.flow→FlowSpec。 - 诊断:行/列 + caret;E-DUP-AGENT/E-KIND/E-EDGE-*/E-BUDGET/W-UNREACHABLE。
- CLI:
ain check、ain flow compile、ain flow run/replay接受.flow。 - 测试:9 个语言测试(含编译后直接运行;与 JSON FlowSpec 同一 state hash)。
- 线性 edges(单出边)+ effect row + 单消息 protocol label。
- 完整 session 类型(send/recv 交替/递归)。
-
type声明。 -
par/race/timeout/superviselowering。
M3b · Effects / 持久化 / 并行 / 调试 · 核心完成
- Effect rows:
agent ... effects { ... }+ 运行时 allowlist 强制。 - Edge protocol labels:
from.port -> to : tag;运行时ProtocolViolation。 - 真实 effects:HTTP(ureq)+ shell allowlist;mock LLM/search 仍为默认。
- WAL/checkpoint:append-only JSONL journal、
sync_data、mid-run checkpoint 恢复。 -
ain trace view:ain flow trace-view生成自包含 HTML。 - 并行批处理:
run_batch+ain flow bench(独立 flow 的 worker pool)。 - 测试:journal replay、checkpoint resume、HTTP/shell、批处理顺序。
- 单 flow 内 net-level work stealing(需要线程安全 cell heap)。
- 真实 LLM provider / 超时/取消/重试。
- 内存 arena/cycle collector、纯网基准对比 HVM/Inpla。
- Netbook 第 4 章(λ 编译)与第 5 章(共享对比)。
- 8 核 ≥ 20M interactions/s(纯网);Agent 20k msg/s;p99 < 10ms。
退出:基准报告;trace UI 能回答"这次 Agent 为什么调用这个工具";Netbook 第 4–5 章上线。
M4 · 分布式
M4a · 分布式批处理 · 核心完成
-
ain-sched:TCP NDJSON worker/coordinator;静态节点、轮询放置、失败重试。 -
ain node serve/ping/stats、ain flow distribute。 - 共享 token 鉴权;错误 token 拒绝。
- worker jobs/failures/uptime 统计。
- 2 节点 × 20 flow:10/10 分配、28ms、state hash 全等;死节点重试成功。
- 健康检查/摘除失联节点(
--health-check、healthy_nodes);自动心跳循环待做。 - 任务级 checkpoint 续跑:
RunChunk/Chunk、--chunk-steps、跨 worker chunk 迁移。 - 2/3 节点批量 demo(20/100 flow);杀节点中途恢复演练待做。
- M4c:cell 级归属 + TCP 远程消息 + id/dedupe + snapshot/spawn/remove 迁移 + last-ack failover + audit。
- M4c:100 个 echo cell 跨 3 节点(100 步);pipeline 迁移/杀节点 demo。
- 跨节点 wire(cell 内端口)级通道/seq-ack/背压。
- mTLS / 每 cell capability token / 审计落盘 / 租户隔离。
M4b · 真正的分布式图 · 核心切片完成(M4c)
- cell 级归属 + 路由表(agent cell)。
- 远程消息:TCP、单调 id、worker dedupe、ack 携带 state/sends/usage。
- 迁移:snapshot → spawn → remove;placement 更新;audit。
- 故障接管:last-ack 状态在存活节点重 spawn;at-least-once。
- 100 个 echo cell / 100 个 LLM-cell 链跨 3 节点;pipeline 迁移/杀节点 demo。
- M4d:per-cell capability + revoke;per-edge channel seq/dedupe。
- M4d:effect 幂等缓存(per-worker);watch 自动摘除/NodeUp rejoin。
- M4d:
cluster llm100 --kill-after 30 --kill n1(34 cells failover,100 effects 不变)。 - M4d:
--save-audit落盘。 - wire 级远程通道(同一 cell 的多个端口)与背压/重连。
- lease/fencing;迁移成本。
- 检查点/恢复:磁盘满、网络分区、进程重启。
- mTLS / 密码学 capability / 租户配额(共享 token + 字符串 capability 已有)。
- 100 个 mock-LLM agents 单 flow + kill-after failover;真实 provider + 5s 演练待做。
- 渗透测试:越权/沙箱逃逸/注入;修复。
退出:故障演练通过;越权 100% 拦截;3 节点线性扩展 ≥ 2.2×。
M5 · 完整与发布 · 收尾中
- Netbook 第 1–3 章 + Sandbox;
/trace第 4 章(从网到 Agent);/sharing第 5 章(共享与代价)。 - permalink、深色模式、响应式;离线/时间旅行/断点待做。
- 文档:README、docs/00–15、specs/*、CHANGELOG、发布清单。
- 示例:纯网 ×2、Flow ×2、分布式命令;未到 10 个。
- Netbook λ 编码
/lambda、06/types、07/concurrency、08/trace;09 Sandbox 已有。 - 外部审校(PL/数学)、可访问性审计、性能审计。
- 正式 benchmark vs HVM4/Inpla;真实 LLM provider 100-agent 演练。
- 公开发布:博客、demo 视频、HN/Reddit/X、学术邮件列表。
退出:9 章完整;离线可用;WCAG AA;发布材料就绪。
7.3 团队与分工
| 角色 | 职责 | 投入 |
|---|---|---|
| 系统工程师 | ain-core/ain-runtime/ain-sched;性能;分布式 |
1.0 |
| 前端/设计 | Netbook UI/UX、渲染、动画、可访问性 | 1.0 |
| PL/理论顾问 | 语义/类型/session;审校;论文 | 0.5 |
| 内容/DevRel | 课程文案、示例、文档、社区 | 0.5 |
| 安全顾问 | 威胁模型、渗透测试(M4) | 0.2(阶段性) |
单人模式:先做 M0 + M1(Netbook 最小闭环),用 Netbook 吸引贡献者;运行时按 M2 子集推进。
7.4 预算(10 个月)
| 项目 | 估算 | 说明 |
|---|---|---|
| 基础设施 | $300–800/月 | 3–5 节点 VPS、对象存储、CI、域名 |
| LLM API(测试) | $500–2,000/月 | 主要用 mock/小模型;高峰在 M2/M4 |
| 设计/插画 | $3,000–8,000 | 一次性的视觉规范/图标 |
| 安全审计 | $5,000–15,000 | M4 外部渗透测试(可选) |
| 差旅/会议 | $2,000–5,000 | 可选 |
| 合计 | $15k–40k | 不含人力 |
7.5 风险登记表
| ID | 风险 | 概率 | 影响 | 缓解 | 触发信号 |
|---|---|---|---|---|---|
| R1 | 同步/effect 的理论性质证不出来 | 中 | 高 | 先实现保守子集;属性测试;论文后补 | 类型规则出现反例 |
| R2 | 纯网性能达不到 HVM 量级 | 中 | 中 | 参考 HVM2;先单线程正确,再优化;纯计算外包给 HVM | M3 基准 < 5M/s |
| R3 | 分布式调试/一致性失控 | 高 | 高 | v1 静态 3 节点;默认 CP;trace 全局 id;单机复现 | 故障演练失败 |
| R4 | Netbook 范围膨胀 | 高 | 中 | 按章节解锁功能;MVP 只做 3 章 | M1 延期 > 2 周 |
| R5 | 内容错误/太难 | 中 | 高 | 外部审校;5 人可用性测试;每章先动手 | 完成率 < 50% |
| R6 | LLM 成本/隐私 | 中 | 中 | 默认 mock;BYO key;预算;脱敏 | 测试账单超预算 |
| R7 | 安全漏洞(越权/沙箱) | 中 | 高 | 能力模型;WASM 沙箱;渗透测试 | 审计发现 P0 |
| R8 | 采用率低 | 高 | 高 | 从 Netbook 引流;SDK;示例;设计伙伴 | 3 个月无外部用户 |
| R9 | 单人 burnout | 中 | 高 | 砍范围;先发布 MVP;找贡献者 | 连续 2 周无进展 |
7.6 里程碑 Demo
| 里程碑 | Demo | 观众 |
|---|---|---|
| D0 | 浏览器里手动点火 γ/δ/ε,看到一张网归约到范式 | 内部 |
| D1 | 新用户 10 分钟搭出"布尔 XOR"网并解释规则 | 设计伙伴 |
| D2 | ain run research.ain:3 Agent + 2 工具 + 预算;ain replay 逐交互复现 |
外部开发者 |
| D3 | 8 核跑 fib(35),实时显示 MIPS/并行效率;trace UI 定位一次工具调用 | 性能/PL 社区 |
| D4 | 3 节点集群,杀掉 1 个,任务从检查点恢复;越权调用被拦截 | 企业设计伙伴 |
| D5 | Netbook 9 章 + Ainet v1 公开发布 | 公众 |
7.7 度量与复盘
每周
- 测试数/覆盖率;P0 bug 数;基准趋势;章节完成度。
- 决策日志:本周做了什么 ADR,是否有反例。
每月
- 外部用户数/完成率/反馈;demo 是否可重复;成本账本。
- 风险登记表更新;下月砍/加什么。
关键指标(North Star)
- Netbook:完成第 3 章的用户数(不是 PV)。
- Ainet:成功重放的 Agent 运行数(不是 token 数)。
7.8 发布策略
| 阶段 | 渠道 | 目标 |
|---|---|---|
| Private alpha(M2) | 邀请 10–20 名开发者 | 验证语义/重放/成本 |
| Design partners(M3) | 3–5 家公司/实验室 | 真实工作负载;付费意向 |
| Public beta(M4) | HN/Reddit/X/PL 社区 | 反馈、贡献者、案例 |
| v1(M5) | 正式发布 + 文档 + 教程 | 可持续维护 |
发布内容:
- 一篇长文:"Why interaction nets for AI agents"(技术论证 + demo)。
- 一个 3 分钟视频:从网到 Agent 流水线。
- 一个可点击的 Netbook 链接(无需安装)。
- 一个 GitHub repo(MIT/Apache)+ 示例。
- 一份 benchmark 报告(可复现)。
7.9 砍范围优先级(如果延期)
必须保留:
- Netbook 第 1–3 章 + sandbox(教学闭环)。
- Ainet 单机 + 3 Agent demo + 重放(核心价值)。
- 能力安全的最小演示(端口即能力)。
- trace + 可视化(差异化)。
可以延后:
- 分布式(先单机多线程)。
- 完整 session 子类型/泛型。
- Python SDK。
- 包 registry/市场。
- GPU/HVM 后端。
- 多租户计费。
- 移动端完整编辑。
7.10 第一批 10 个示例
hello-gamma:γ/δ/ε 基础。bool-xor:用组合子实现 XOR。church-add:Church numeral 加法。fib-sharing:naive vs sharing。list-map:列表编码 + map。session-pingpong:两会话端点。agent-pipeline:Researcher→Critic→Writer。fanout-join:扇出 + join。race-timeout:竞速 + 超时 + 取消。supervisor-retry:故障注入 + 重启 + 预算。
每个示例包含:.ain 源、预期 trace、README(讲什么/怎么跑/看什么)。