Zyyo

Just for fun

文章

26

标签

25

评论

543

文章目录

数据统计

成立

546天

文章

26篇

评论

543条

标签

25个

最近文章

Pi Agent Core:极简 AI Coding Agent 核心解析

什么是 Pi?

Pi 是由 Mario Zechner 开发的一个极简 AI Coding Agent。与市面上动辄上百个工具的编码助手不同,Pi 的核心理念是少即是多——它只有四个工具:Read、Write、Edit、Bash,以及所有 Agent 中最短的系统提示词。

但它的极简外表下藏着真正的威力:Pi 可以自我扩展。当你需要新功能时,不是去下载插件或技能包,而是让 Agent 自己写代码来拓展自己的能力。

架构剖析

Pi 是一个 TypeScript monorepo,由四个核心包组成:

  • pi-ai:统一多供应商 LLM API 层,支持 OpenAI、Anthropic、Google 等主流模型提供商
  • pi-agent-core:Agent 运行时,负责 tool calling 和状态管理,这是整套系统的核心
  • pi-coding-agent:交互式 Coding Agent CLI,开箱即用的编码助手
  • pi-tui:终端 UI 库,支持差分渲染,让 TUI 流畅如丝

pi-agent-core 核心机制

pi-agent-core 实现了一套简洁但强大的 agent loop:

  1. 消息管理 — 支持标准 LLM 消息(user、assistant、toolResult),也可扩展自定义消息类型
  2. convertToLlm — 桥接层,过滤 UI 专用消息,转换自定义类型为 LLM 可理解的格式
  3. 事件流 — 完整的事件系统(message_update、text_delta、tool_execution_start/end)
  4. 生命周期钩子 — beforeToolCall、afterToolCall、context、session_start 等丰富的扩展点

核心循环逻辑非常直接:接收消息 → 调用 LLM → 执行工具 → 返回结果,循环往复。

扩展即灵魂

Pi 最迷人的设计在于它的扩展系统。作者 Mario 说得很直接:如果我不需要它,它就不会被构建。

  • Pi 没有内置 MCP 支持——这不是偷懒,是哲学。想要 MCP?让 Agent 自己写
  • 扩展可以注册工具给 LLM 调用,也可以渲染自定义 TUI 组件(进度条、文件选择器、数据表格,甚至 Doom 游戏)
  • 扩展状态可持久化到会话文件,支持热重载:Agent 写代码 → 自动重载 → 测试 → 迭代

Flask 作者 Armin Ronacher 是 Pi 的重度用户。他的 /answer、/todos、/review 等扩展全部由 Pi 按他的需求自动生成,没有一行代码是他亲手写的。他甚至完全用 Pi 自己生成的技能替换了所有 MCP 和浏览器自动化工具。

会话树:分支的魔力

Pi 的会话系统是一个树形结构。你可以从主会话分支出子会话去修 bug,修完后切回主会话,Pi 自动总结子会话中的变更。这意味着做支线任务不会污染主会话的上下文。

这个特性对多 Agent 协作也至关重要——一个 Agent 可以 spawn 子 Agent 处理子任务,然后合并结果。

OpenClaw 背后的引擎

今年火爆全网的 OpenClaw 通讯 Agent 平台,其底层正是 Pi。OpenClaw 使用 pi-agent-core 作为 Agent 运行时,利用扩展系统构建了丰富的插件生态,支撑起了多平台即时通讯接入、技能系统、会话管理等复杂功能。

这证明了 pi-agent-core 不仅适用于 CLI 编码场景,也能作为企业级多渠道 Agent 平台的坚实基础。

总结

Pi Agent Core 代表了一种新的 Agent 设计范式:不追求大而全,而是追求小而精 + 无限可扩展。极简核心 + 自扩展能力 + 会话树机制,让它成为当下最优雅的 AI Agent 框架之一。

如果你正在搭建自己的 Agent 系统,pi-agent-core 值得一试。


Pi Agent Core:极简 AI Coding Agent 核心解析

发布于

June 30, 2026

分类

实用分享

版权协议

MIT

评论
😀

感谢支持!

微信二维码

请使用微信扫描二维码打赏。

支付宝二维码

请使用支付宝扫描二维码打赏。