局部重写,全局智能。
Netbook 交互网教材与 Ainet 多 Agent 执行层的设计、规范、里程碑与运维文档。
总览
00
00 · 愿景、范围与设计原则0.1 一句话 用交互网做两件事:把"计算是什么"讲清楚,把"多 Agent 怎么可靠地一起计算"做出来。 - Netbook:让一个没学过 λ 演算的人,在 30 分钟内可以亲手构造一张网、点火一条规则、看到 λ 项如何在图上归约,并理解
01
01 · 交互网最小完备读本1.1 从字符串重写到图重写 传统计算模型(图灵机、λ 演算)默认"计算是全局的":替换一个变量要遍历整个项,复制要复制整棵子树。 交互网换了一个假设: - 计算对象是图:Agent(cell)通过端口用线连接。 - 计算步骤是局部重写:只
02
02 · 既有工作与空白2.1 交互网实现谱系 | 项目 | 模型 | 实现/语言 | 并行/分布 | Effects | 对我们的价值 | |---|---|---|---|---|---| | BOHM 1.1(Asperti 等,1996) | 最优 λ /
Netbook
AIN 模型与运行时
04
04 · AIN:Agent Interaction Nets 计算模型4.1 设计压力 把标准交互网直接拿来跑 Agent,会在六个地方断裂: | 压力 | 标准 IN 的表现 | Agent 的需要 | |---|---|---| | 状态 | cell 是无状态的符号 | Agent 有记忆、有阶段 |
05
05 · Ainet 语言设计5.1 设计目标 | 目标 | 具体要求 | |---|---| | 可读 | 网/端口/规则是显式的;不要求用户手写组合子 | | 可验证 | 线性端口、session 协议、effect row、预算都能静态检查 | | 可移植 | 编
06
06 · 运行时与调度网络6.1 目标与非目标 目标 | 指标 | v1 目标 | |---|---| | 纯网吞吐(单核) | ≥ 5M interactions/s | | 纯网吞吐(8 核) | ≥ 20M interactions/s | | Agent 消
路线与决策
07
07 · 路线图与执行计划7.1 阶段总览 | 阶段 | 周期 | 主题 | 关键交付 | 退出标准 | |---|---|---|---|---| | M0 | 2 周 | 地基 | 仓库脚手架、CI、ain-core IR + 朴素解释器、trace 格式、3
08
08 · 架构决策记录(ADR)--- ADR-001 · 双轨 monorepo,共享交互网内核 Status: accepted Context:教材与生产运行时如果各写一套引擎,语义会漂移;教材演示的规则可能在生产里不成立,调试器也无法复用。 Decision:单
09
09 · 文献与资源9.1 入门与总览 - [R] Lafont, Yves. Interaction Nets. POPL 1989. https://dl.acm.org/doi/pdf/10.1145/96709.96718 - [R] Gay, Sim
里程碑
10
10 · M2:单机 AIN 执行层10.1 实现了什么 crates/ain-runtime(新 crate): | 能力 | 实现 | |---|---| | Stateful agents | 每个 agent 有 id/kind/config/state/inbox/
11
11 · M3:Ainet Flow 语言层11.1 完成了什么 新增 crates/ain-lang: | 模块 | 内容 | |---|---| | lexer.rs | 标识符/字符串/数字/符号;// 注释;行/列跟踪 | | parser.rs | flow/budget/
12
12 · M4:分布式执行层(M4a 批处理调度)12.1 完成了什么 新增 crates/ain-sched: | 模块 | 内容 | |---|---| | protocol.rs | Request::{Ping,Run,Stats} / Response::{Pong,Result
13
13 · M4c:cell 级分布式运行时13.1 完成了什么 新增 crates/ain-cluster: | 模块 | 内容 | |---|---| | protocol.rs | Envelope / Outbound;spawn/deliver/snapshot/remov
14
14 · M4e:安全、背压与真实 provider14.1 HMAC capability - capability 格式:v1:<run>:<epoch>:<hmac>。 - HMAC-SHA256(secret, run|cell|epoch)。 - worker 端 CellHost
15
15 · M5:发布与收尾15.1 0.1.x 包含什么 | 模块 | 内容 | |---|---| | Netbook | 第 1–3 章 + Sandbox;可编辑画布;任务;trace;permalink;04 /lambda、05 /sharing、06 /
发布与运维
16
16 · License Audit16.1 本项目许可 | 内容 | 许可 | |---|---| | 代码(crates/、scripts/、apps/netbook/src/.ts/svelte/astro) | MIT OR Apache-2.0(二选一) | | 文
17
17 · 安全模型与审计17.1 信任边界 假设: - cell 集群与 flow 调度器都支持 mTLS(--tls-cert/--tls-key/--tls-ca)。 - 共享 secret 由部署者分发;不暴露给 Agent。 - Agent 产生的文本/工
18
18 · 错误码与诊断18.1 CLI 退出码 | 退出码 | 含义 | |---|---| | 0 | 成功 | | 1 | 参数/编译/运行/网络错误 | | 2(建议) | 保留给“用户取消/超时” | 18.2 核心(ain-core) | 变体/前缀
19
19 · 升级与迁移指南19.1 版本矩阵 | 格式 | 版本 | 代码位置 | |---|---|---| | 交互网 IR | 1 | specs/net-ir.md / NetJson.version | | ProgramJson | 1 | ain-co
20
20 · 基准与性能方法20.1 本机环境 - macOS / Apple Silicon(具体型号以 sysctl -n machdep.cpu.brandstring 为准)。 - Rust release 构建(cargo build -q -p ain-c
21
21 · 部署21.1 Netbook:Cloudflare Pages 已部署:<https://interactive-netbook.pages.dev>(Cloudflare Pages,production branch main)。 已提供
22
22 · 持久化 Effect 幂等(Coordinator Ledger)22.1 问题 M4e 之前,effect cache 在每个 worker 的内存里,key 为 run:cell:op:inputhash。这能拦住同一 worker 上的重复投递,但: - cell 迁移/节点失联后在新 worker
23
23 · mTLS(cell 与 flow 调度器)23.1 信任模型 - 双方各有一张由同一 CA 签发的证书;worker 用 WebPkiClientVerifier 要求 coordinator 出示 client cert。 - coordinator 校验 worker 证书的
24
24 · 安全测试与渗透准备24.1 自动化覆盖 | 控制/威胁 | 测试 | 层级 | |---|---|---| | transport token | tokenisenforcedforcells | cluster 集成 | | per-cell HMAC
25
25 · 外部用户测试协议25.1 两组用户 | 组 | 人数 | 背景 | 任务 | |---|---|---|---| | A · 教材读者 | 5 | 了解 λ/图重写基础即可 | 完成 Netbook 第 1 章 + Sandbox 任务 | | B · 开