从 Harness 到 Agent OS
区分当前源码事实与未来推演:Pi 哪些抽象可能成为 Agent OS 的内核,哪些仍然缺失。
ANALYSIS SNAPSHOTPi v0.82.1
5bc1c2c0先划线:这一章是推演
Pi 当前是 Agent Harness,不是完整 Agent OS。下面讨论的是基于现有抽象的可能演进,不是 roadmap 承诺。
已经像“内核”的部分
统一运行事件
agent/turn/message/tool 生命周期可以成为观察、调度与 UI 投影的公共语言。
可分支的持久历史
Session tree 比线性聊天更接近真实工作:任务会回退、分叉、压缩和交接。
能力动态装配
Extension 与 package 让工具、命令、UI、provider 和 policy 可在不改 core 的情况下变化。
宿主独立倾向
CLI、SDK、JSON、RPC 说明 runtime 不必绑定一个屏幕。
仍然缺失的系统能力
| Agent OS 问题 | Pi 当前提供 | 仍需上层建设 |
|---|---|---|
| 强权限隔离 | project trust、hooks | capability sandbox、凭据代理 |
| 长期记忆 | session + compaction | 语义索引、遗忘、冲突更新 |
| 多任务调度 | queues、sessions | scheduler、资源配额、优先级 |
| 多 Agent 协作 | 可作为 tools/extensions 构建 | identity、共享事实、仲裁协议 |
| 可观测运营 | runtime events | tracing backend、SLO、审计策略 |
| 跨设备状态 | 本地 JSONL | 同步、加密、冲突合并 |
Memory 的下一步
Session 是 episodic record,项目文档是 explicit knowledge,模型权重是 prior knowledge。真正长期记忆还需要:何时写、写什么、何时更新、谁能读、如何证明来源。向量检索只解决“找相似片段”,不解决这些治理问题。
Multi-Agent 的边界
把子 Agent 注册成 tool 很容易;难的是定义:
- 父子 identity 与授权继承。
- 共享工作区的并发写入。
- 结果是建议、事实还是已执行状态。
- cancel 如何传播,失败如何补偿。
- session 中如何保留跨 Agent provenance。
Pi 的 event/tool/session 原语提供起点,但这些协议需要先冻结,不能靠“再加一个 prompt”获得。
最值得保留的哲学
如果 Pi 走向更大系统,最有价值的不是增加多少自动化,而是继续保持三点:运行事实可观察、控制边界可插入、安全边界不夸大。Agent OS 的可信度,最终取决于系统能否清楚回答“谁在什么权限下,基于哪些事实,做了什么”。