Pi:OpenClaw/Clawdbot/Moltbot 核心深处的极简智能体
-
Pi:OpenClaw/Clawdbot/Moltbot 核心深处的极简智能体
目录- 🧑💻 Mario Zechner与Peter Steinberger
- 🤖 什么是 Pi
- 2025-2026 年编程智能体市场概览
- 💡 Pi 为何与众不同
- 1️⃣ 极小的核心
- 2️⃣ 强大的扩展系统
- ➕ 工程质量加分项
- 🏗️ Pi 的组件化架构
- ❌ Pi 里没有什么
- 关于 MCP(模型上下文协议)
- 🔧 为"构建 Agent 的 Agent"而构建的 Agent
- 跨模型提供商的会话可移植性
- 自定义消息与状态持久化
- 热重载(Hot Reloading)
- 🌳 树状会话结构
- 为什么这对 MCP 很重要
- 🛠️ 上下文之外的工具
- 扩展的三种形态
- TUI(文本用户界面)扩展
- 📌 扩展案例
- /answer —— 优雅的问答交互
- /todos —— 任务管理集成
- /review —— 智能代码审查
- /control —— 多智能体协作实验
- /files —— 文件管理利器
- 🌐 社区贡献的扩展
- 🔐 上下文工程:Pi 设计的理论基础
- 1. 极简系统提示词
- 2. 意图性压缩(Intentional Compaction)
- 3. AGENTS.md 和 SYSTEM.md
- 🦞 OpenClaw:Pi 的大众化载体
- OpenClaw 发展历程
- OpenClaw 的定位
- ⚠️ 安全考量
- 📊 小结:Pi 的设计哲学
- 极简主义 ≠ 功能缺失
- 自我扩展 > 预设功能
- 软件构建软件
- 树状会话与上下文工程
- 🔗 扩展阅读与资源
如果你这周没有与世隔绝的话,你应该已经注意到ClawdBot火了。它有很多名字,最近叫 OpenClaw,你可能看到的也可能是 ClawdBot 或 MoltBot,这取决于你看到它的时间。它是一个连接到你指定通信频道的 Agent(智能体),它的作用很简单:运行代码。
你可能不太了解的是,OpenClaw 的引擎盖下,其实藏着一个名为 Pi 的小型编程 Agent。本文试图详细介绍 Pi,以及它与 OpenClaw 的关系。
🧑💻 Mario Zechner与Peter Steinberger
Pi 是由 Mario Zechner 编写的。OpenClaw 和 Pi 都遵循同一个理念:大语言模型(LLM)非常擅长编写和运行代码,所以我们应该拥抱这一点。
Mario Zechner 在 LLM 辅助编程领域有着丰富的实践经验。根据他 2025 年 11 月发表的技术博客,他在过去三年中经历了完整的工具演进路径:从 ChatGPT 到 Copilot,再到 Cursor,最终转向 Claude Code、Codex、AMP、Droid、opencode 等编程智能体。这种广泛的实践经验为 Pi 的设计理念奠定了坚实的基础。
Peter Steinberger 是 OpenClaw 的创造者,也是一位值得关注的技术人物。作为奥地利软件工程师和企业家,他最为人知的身份是 PSPDFKit 的联合创始人兼前 CEO。PSPDFKit 是一个 PDF 框架公司,Peter 于 2011 年独立创建,后来发展成为一个 60 多人的全球化远程团队,并于 2021 年获得 Insight Partners 1 亿欧元的战略投资。
在 PSPDFKit 成功退出后,Peter "从退休中回归,开始折腾 AI"(引用自他的 GitHub 简介)。他倡导"氛围编程"(Vibe Coding)——一种 AI 辅助的快速软件原型开发方法。他现在自称"从 iOS 架构师转型为 Web 开发者",致力于"开源一切"。
🤖 什么是 Pi
Pi 是一个编程 Agent(Coding Agent)。更准确地说,根据其官方描述,Pi 是一个"极简终端编程工具"(minimal terminal coding harness),它适应你的工作流程,而不是反过来要求你适应它。
2025-2026 年编程智能体市场概览
在深入了解 Pi 之前,让我们先俯瞰整个编程智能体市场。根据行业研究,到 2025 年底,大约 85% 的开发者已经日常使用 AI 工具进行编码——无论是加速例行任务、获取下一行代码建议,还是回答特定技术问题。
当前主流的编程智能体包括:
工具 核心特点 适用场景 Cursor 基于 VS Code 的 AI 增强 IDE,流畅的自动补全和编辑器内聊天 日常编辑、小中型任务、流畅开发体验 Claude Code Anthropic 的终端优先 AI 智能体,深度理解代码库 自主操作、复杂任务、文档生成、大型重构 GitHub Copilot 行业标杆,深度集成 GitHub 生态 代码补全、PR 审查、工作流自动化 AMP 注重实用性的智能体产品 Agent 式编程体验 Droid Factory.ai 出品,Terminal-Bench 排行榜第一 高难度调试、复杂终端任务 现在的编程 Agent 很多。说实话,我觉得你现在随便找一个现成的,都能体验到什么是"Agent 式编程"。 在这个博客的评论中,我曾积极评价过 AMP,我之所以对 AMP 产生共鸣,是因为它给人的感觉是由一群既沉迷于 Agent 编程,又尝试过多种方案的人做出来的产品,而不仅仅是在上面套了一个花哨的 UI。
💡 Pi 为何与众不同
Pi 之所以让我感兴趣,主要有两个原因:
1️⃣ 极小的核心
它拥有我所知的任何 Agent 中最短的系统提示词(System Prompt),并且只有四个工具:
工具 功能描述 Read(读取) 读取文件内容 Write(写入) 创建或覆盖文件 Edit(编辑) 精确修改文件特定部分 Bash 执行终端命令 这种极简设计与主流竞品形成鲜明对比。根据 Mario Zechner 的技术文档,许多竞争对手使用超过 10,000 个 token 的系统提示词,而 Pi 的核心提示词控制在 1,000 token 以下。这不是因为功能缺失,而是一种刻意的设计哲学:让模型专注于本质,避免冗余信息占用宝贵的上下文窗口空间。
2️⃣ 强大的扩展系统
它通过扩展系统弥补了核心的微小。这个扩展系统允许扩展将状态持久化到会话中,这非常强大。
Pi 的扩展性设计遵循"激进可扩展"(Aggressively Extensible)原则。其他工具内置的功能,在 Pi 中可以通过扩展(Extensions)、技能(Skills)或第三方 Pi 包来实现。这种设计保持核心精简,同时让你能够根据自己的工作方式塑造 Pi。
➕ 工程质量加分项
还有一个小加分项:Pi 本身就是优秀的软件。它不闪烁,不占用大量内存,不会随机崩溃,非常可靠,而且是由非常在意软件质量的人编写的。
Pi 的性能表现也得到了客观验证。在 2025 年 12 月 2 日的 Terminal-Bench 排行榜上,Pi 保持着强劲的竞争力,证明了其极简方法并未牺牲有效性。Terminal-Bench 是评估终端智能体能力的行业标准基准测试,于 2025 年 5 月发布后迅速被业界采用,成为评估 AI 驱动开发工具性能的默认标准。
🏗️ Pi 的组件化架构
Pi 也是一组小组件的集合,你可以基于它构建自己的 Agent。OpenClaw 就是这样构建的。如果你想构建一个连接到某处的自有 Agent,只要把 Pi 指向它自己和 mom,它就能为你变出一个来。
Pi 支持四种运行模式,满足不同使用场景:
运行模式 描述 适用场景 Interactive(交互式) 标准的终端交互体验 日常开发、调试 Print / JSON 输出为纯文本或结构化 JSON 脚本集成、自动化流程 RPC 进程间通信接口 与其他应用程序集成 SDK 嵌入式开发套件 构建自定义智能体 ❌ Pi 里没有什么
要理解 Pi 里有什么,更重要的是要理解 Pi 里没有什么,为什么没有,以及更重要的:为什么以后也不会有。
关于 MCP(模型上下文协议)
最明显的缺失是对 MCP(Model Context Protocol,模型上下文协议)的支持。它不支持 MCP。虽然你可以为它构建一个扩展,或者像 OpenClaw 那样使用 mcporter 来支持 MCP(mcporter 通过 CLI 接口或 TypeScript 绑定暴露 MCP 调用),也许你的 Agent 能用它做点什么。也可能不行,我不知道 🙂
在这里,有必要深入理解什么是 MCP,以及为什么 Pi 选择不原生支持它。
📚 MCP 背景知识
MCP(Model Context Protocol)是 Anthropic 于 2024 年 11 月推出的开放标准和开源框架,旨在标准化 AI 系统(如大语言模型)与外部工具、系统和数据源的集成方式。
可以把 MCP 想象成"AI 应用的 USB-C 接口"。就像 USB-C 提供了连接电子设备的标准化方式,MCP 提供了连接 AI 应用与外部系统的标准化方式。
MCP 的发展里程碑:
时间 事件 2024 年 11 月 Anthropic 发布 MCP 2025 年 3 月 OpenAI 官方采用 MCP,集成至 ChatGPT 桌面应用 2025 年 4 月 安全研究人员发现提示词注入等安全问题 2025 年 12 月 Anthropic 将 MCP 捐赠给 Linux 基金会下的 Agentic AI Foundation (AAIF) 到 2026 年初,MCP 已成为 AI 领域增长最快、采用最广泛的开源项目之一:
- 月 SDK 下载量超过 9700 万次
- 活跃服务器超过 10,000 个
- 获得 ChatGPT、Claude、Cursor、Gemini、Microsoft Copilot、VS Code 等主流平台的一流客户端支持
为什么 Pi 不支持 MCP
这并不是因为懒惰而遗漏。这源于 Pi 的工作哲学。Pi 的核心理念是:
如果你想让 Agent 做它目前做不到的事情,你不需要去下载一个扩展或技能之类的东西。你应该要求 Agent 自我扩展。
它推崇的是"代码编写代码"并"运行代码"的理念。
这并不是说你不能下载扩展。这是完全支持的。但是,与其鼓励你下载别人的扩展,你也可以将你的 Agent 指向一个现有的扩展,然后对它说:"做一个像那边的东西,但要根据我的喜好做这些修改。"
Pi 明确排除的功能还包括:
- ❌ 没有 MCP
- ❌ 没有子智能体(Sub-agents)
- ❌ 没有计划模式(Plan Mode)
- ❌ 没有后台 Bash
这些看似"缺失"的功能实际上是刻意的设计选择,体现了 Pi 的核心哲学:与其预设用户需要什么,不如让用户(或 Agent 自己)在需要时构建所需功能。
🔧 为"构建 Agent 的 Agent"而构建的 Agent
当你观察 Pi 以及基于它的 OpenClaw 在做什么时,你会看到一个软件像黏土一样可塑的例子。这对底层架构提出了一些要求,实际上在许多方面对系统设置了约束,这些约束必须融入到核心设计中。
跨模型提供商的会话可移植性
例如,Pi 的底层 AI SDK 的编写方式使得一个会话可以真正包含来自许多不同模型提供商的各种消息。它认识到会话在不同模型提供商之间的可移植性是有限的,因此它不过度依赖任何无法转移到其他模型的特定厂商功能集。
这种设计选择具有前瞻性。在 2025-2026 年的 AI 市场中,模型提供商之间的竞争日趋激烈。开发者可能今天使用 Claude,明天切换到 GPT-5,后天尝试 Gemini。Pi 的架构确保了这种切换的平滑性。
自定义消息与状态持久化
其次,除了模型消息外,它还在会话文件中维护自定义消息。扩展可以使用这些消息来存储状态,或者由系统本身用来维护那些根本不发送给 AI 或只发送部分内容的信息。
热重载(Hot Reloading)
因为这个系统的存在,且扩展状态可以持久化到磁盘,它具有内置的**热重载(Hot Reloading)**功能。这样 Agent 就可以编写代码、重载、测试,并循环往复,直到你的扩展真正具备功能。它还附带了文档和示例,Agent 可以利用这些资料来扩展自己。
热重载在开发工作流中的价值不言而喻。传统的开发流程需要:编写代码 → 保存 → 重启应用 → 测试 → 发现问题 → 修改 → 重复。而热重载将这个循环压缩到几乎即时的反馈,极大提升了开发效率。
🌳 树状会话结构
更棒的是:Pi 中的会话是树状结构。你可以在会话中进行分支和导航,这开启了各种有趣的机会。
树状会话结构示意图:
主会话 (Main Session) ├── 任务 A(进行中) │ ├── 分支 A1:尝试方案一 ✗ │ └── 分支 A2:尝试方案二 ✓ ← 合并回主线 ├── 支线任务:修复损坏的工具 │ └── 工具修复完成 → 总结后倒带 └── 任务 B(待处理)例如启用工作流来做一个"支线任务"以修复损坏的 Agent 工具,而不会浪费主会话的上下文。工具修复后,我可以将会话倒带回早期,Pi 会总结在另一个分支上发生的事情。
这种设计解决了 AI 智能体的一个核心痛点:上下文窗口管理。当你在调试一个复杂问题时,调试过程本身可能占用大量上下文空间。树状结构允许你在不污染主工作流的情况下进行探索性工作。
为什么这对 MCP 很重要
这很重要,因为如果你考虑 MCP 的工作方式,在大多数模型提供商上,MCP 工具(像任何 LLM 工具一样)需要在会话开始时加载到系统上下文或工具部分。这使得在不破坏完整缓存或不让 AI 混淆先前调用方式的情况下,完全重载工具的功能变得非常困难甚至不可能。
换言之,MCP 的静态工具加载模式与 Pi 追求的动态自我扩展能力存在根本性冲突。Pi 选择灵活性而非标准化,这是一个经过深思熟虑的架构决策。
🛠️ 上下文之外的工具
Pi 中的扩展可以注册一个工具供 LLM 调用,我偶尔会觉得这很有用。例如,尽管我批评 Beads 的实现方式,但我确实认为给 Agent 一个待办事项列表是非常有用的。我确实使用了一个在本地运行的、Agent 专用的问题追踪器,那是让我的 Agent 自己构建的。因为我想让 Agent 也管理待办事项,在这种特定情况下,我决定给它一个工具而不是 CLI。对于这个问题的范围来说,这感觉很合适,这也是目前我加载到上下文中的唯一额外工具。
扩展的三种形态
Pi 的扩展系统支持三种主要形态:
扩展类型 描述 使用方式 工具(Tools) 注册供 LLM 直接调用的功能 Agent 自动调用 技能(Skills) 领域知识和指令集合 自动加载到上下文 TUI 组件 终端用户界面扩展 增强人机交互体验 TUI(文本用户界面)扩展
但在大多数情况下,我添加到 Agent 中的要么是技能,要么是 TUI(文本用户界面)扩展,目的是让与 Agent 的协作对我来说更愉快。
除了斜杠命令(Slash Commands)之外,Pi 扩展还可以直接在终端中渲染自定义 TUI 组件:
- 🔄 旋转指示器(Spinners)
- 📊 进度条
- 📁 交互式文件选择器
- 📋 数据表格
- 👁️ 预览窗格
TUI 足够灵活,Mario 甚至证明了可以在其中运行《毁灭战士》(Doom)。虽然不实用,但如果你能运行 Doom,你肯定能构建一个有用的仪表板或调试界面。
这个"能运行 Doom"的细节看似是个技术玩笑,实则揭示了 Pi TUI 系统的强大能力。在软件工程界,"能否运行 Doom"已成为衡量一个系统图形渲染和交互能力的非正式标准。如果一个终端 TUI 框架能够渲染 Doom,那么构建复杂的数据可视化仪表板、实时日志监控界面、交互式调试工具等"正经"应用自然不在话下。
📌 扩展案例
以下拓展有助于进一步理解Pi。
/answer—— 优雅的问答交互我不使用计划模式(Plan Mode)。我鼓励 Agent 提问,我们之间会有富有成效的来回交流。但我不喜欢那种如果你给 Agent 一个提问工具就会出现的结构化问答对话框。我更喜欢 Agent 用自然的散文,穿插解释和图表。
问题 在行内回答问题会很乱 方案 /answer读取 Agent 的最后一次回复,提取所有问题,并将它们重新格式化为一个漂亮的输入框这个扩展体现了 Pi 设计哲学的精髓:不是通过复杂的对话管理系统来处理问答,而是通过一个简单的后处理工具来优化用户体验。
/todos—— 任务管理集成尽管我批评 Beads 的实现,但给 Agent 一个待办事项列表确实很有用。
/todos命令会调出存储在.pi/todos中的所有 Markdown 文件条目。Agent 和我都可以操作它们,会话可以认领任务并将其标记为进行中。任务管理与编程智能体的集成是 2025-2026 年的热门话题。不同于将任务管理作为独立功能强加给用户,Pi 的方式是让任务列表成为会话的自然延伸——既可以由 Agent 自动更新,也可以由用户手动编辑。
/review—— 智能代码审查随着越来越多的代码由 Agent 编写,在 Agent 审查之前就把未完成的工作扔给人类是没有意义的。因为 Pi 会话是树状的,我可以分支到一个新的审查上下文,获取发现的问题,然后将修复带回主会话。
/review的设计亮点:功能 描述 UI 设计 模仿了 Codex,提供直观的审查体验 审查对象 易于审查的提交、差异对比、未提交的更改或远程 PR 自定义提示词 关注我关心的事情(例如:标出新添加的依赖项) /control—— 多智能体协作实验它允许一个 Pi Agent 向另一个发送提示词。这是一个简单的多 Agent 系统,没有复杂的编排,这对于实验很有用。
/files—— 文件管理利器列出会话中更改或引用的所有文件。你可以:
- 📂 在 Finder 中显示它们
- 🔍 在 VS Code 中对比差异
- 👁️ 快速预览(Quick-look)
- 📎 在提示词中引用它们
shift+ctrl+r可以快速预览最近提到的文件,当 Agent 生成 PDF 时这很方便。🌐 社区贡献的扩展
其他人也构建了扩展:
- Nico 的子 Agent 扩展:多智能体协作支持
- interactive-shell:允许 Pi 在可观察的 TUI 覆盖层中自主运行交互式 CLI
🔐 上下文工程:Pi 设计的理论基础
Pi 的极简设计与当前 AI 工程领域的"上下文工程"(Context Engineering)趋势高度契合。根据 Anthropic 发布的技术指南,上下文工程是管理语言模型上下文窗口的学科。与专注于撰写有效指令的提示词工程不同,上下文工程关注的是对进入模型有限注意力预算的所有信息的整体策划:系统提示词、工具定义、检索文档、消息历史和工具输出。
Pi 的设计体现了几个关键的上下文工程原则:
1. 极简系统提示词
核心挑战在于上下文窗口不是被原始 token 容量所限制,而是被注意力机制所限制。随着上下文长度增加,模型表现出可预测的退化模式:"中间遗失"现象、U 形注意力曲线和注意力稀缺。
Pi 的解决方案是将系统提示词控制在 1,000 token 以下,为实际工作内容保留最大空间。
2. 意图性压缩(Intentional Compaction)
Pi 支持自定义的上下文压缩策略。当接近上下文限制时,Pi 可以自动总结较旧的消息。这个过程完全可通过扩展自定义,允许用户定义哪些信息应该保留,哪些可以压缩或丢弃。
3. AGENTS.md 和 SYSTEM.md
Pi 支持分层的项目指令系统:
- AGENTS.md:从
~/.pi/agent/、父目录和当前目录加载的项目指令 - SYSTEM.md:按项目替换或追加默认系统提示词
这种设计与 VS Code 等主流工具采用的
.github/skills/或.claude/skills/文件夹方式异曲同工,但 Pi 的实现更加灵活和轻量。🦞 OpenClaw:Pi 的大众化载体
与像 Pi 这样极简的 Agent 一起工作,部分魅力在于它让你亲身体验了"使用软件构建更多软件"的理念。将这一理念推向极致,就是当你去掉 UI 和输出,将其连接到你的聊天软件时。这就是 OpenClaw 所做的,鉴于其巨大的增长,我越来越觉得这在某种程度上将成为我们的未来。
OpenClaw 发展历程
OpenClaw 的发展轨迹本身就是一个引人入胜的故事:
时间 事件 2025 年 11 月 Peter Steinberger 发布 Clawdbot 2025 年底 因 Anthropic 商标请求更名为 Moltbot 2026 年初 再次更名为 OpenClaw 发布两个月内 GitHub 仓库 Star 数突破 10 万,成为有史以来增长最快的 GitHub 仓库之一 OpenClaw 的定位
OpenClaw 是一个开源的自主人工智能个人助手软件,可以在用户设备上本地运行,并与消息平台集成。它本质上是将 Pi 的能力通过熟悉的聊天界面暴露给普通用户,降低了 AI 编程智能体的使用门槛。
⚠️ 安全考量
需要注意的是,OpenClaw 被认为是高风险软件。提示词注入(Prompt Injection)的安全问题仍未解决,这实际上需要(最好是双重)沙箱来确保此类应用程序的安全运行。安全研究人员已识别出多个潜在漏洞:提示词注入、暴露的管理接口,以及在本地配置文件中存储凭据。业界强调 OpenClaw 主要适合理解安全影响的高级用户使用。
📊 小结:Pi 的设计哲学
通过本文的学习,我们可以提炼出 Pi 的核心设计哲学:
极简主义 ≠ 功能缺失
Pi 证明了"少即是多"的理念在 AI 智能体设计中同样适用。四个核心工具 + 强大的扩展系统 = 无限可能。
自我扩展 > 预设功能
与其猜测用户需要什么功能,不如让用户(或 Agent 自己)在需要时构建所需功能。这种方法:
- ✅ 保持核心简洁
- ✅ 最大化上下文窗口利用率
- ✅ 适应任何工作流程
- ✅ 降低维护复杂度
软件构建软件
Pi 不只是一个帮你写代码的工具,更是一个能够扩展自身能力的元工具。这代表了 AI 辅助开发的一个重要方向:从"AI 帮我写代码"到"AI 帮我构建更好的 AI 助手"。
树状会话与上下文工程
通过树状会话结构和精心设计的上下文管理策略,Pi 解决了长期困扰 AI 智能体的上下文窗口限制问题。
🔗 扩展阅读与资源
官方资源:
技术文章:
- Pi: The Minimal Agent Within OpenClaw - Armin Ronacher
- What I learned building an opinionated and minimal coding agent - Mario Zechner
相关标准与协议:
基准测试:
上下文工程:
歡迎留言回复交流。
Log in to reply.