ΓDocsInteractiveNet

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/supervise lowering。

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 砍范围优先级(如果延期)

必须保留:

  1. Netbook 第 1–3 章 + sandbox(教学闭环)。
  2. Ainet 单机 + 3 Agent demo + 重放(核心价值)。
  3. 能力安全的最小演示(端口即能力)。
  4. trace + 可视化(差异化)。

可以延后:

  • 分布式(先单机多线程)。
  • 完整 session 子类型/泛型。
  • Python SDK。
  • 包 registry/市场。
  • GPU/HVM 后端。
  • 多租户计费。
  • 移动端完整编辑。

7.10 第一批 10 个示例

  1. hello-gamma:γ/δ/ε 基础。
  2. bool-xor:用组合子实现 XOR。
  3. church-add:Church numeral 加法。
  4. fib-sharing:naive vs sharing。
  5. list-map:列表编码 + map。
  6. session-pingpong:两会话端点。
  7. agent-pipeline:Researcher→Critic→Writer。
  8. fanout-join:扇出 + join。
  9. race-timeout:竞速 + 超时 + 取消。
  10. supervisor-retry:故障注入 + 重启 + 预算。

每个示例包含:.ain 源、预期 trace、README(讲什么/怎么跑/看什么)。

在 GitHub 编辑本文