跳转至

Pi 1.0:从源码到自己的 Agent

这是一门面向「想理解 Agent 是怎么运行,并把它变成自己工具」的中文课程。最终目标:你能解释一次请求的完整生命周期,知道在哪个边界定制行为,并运行一个有自己工具、规则、事件记录和测试的 Agent。

本课程研究的是 Mario Zechner 发起、现在由 earendil-works/pi 维护的 Pi coding agent / agent harness。不是 Inflection Pi、树莓派项目,也不是某个 Pi 扩展的 1.0。官方发布记录的 v1.0.0 日期为 2026-10-01。

从哪里开始

你的目标 阅读路线 最终产物
先让 Pi 帮自己工作 01 → 03 → 12 个人 Pi 配置与技能包
把 Pi 嵌进自己的程序 02 → 04 → 06 → 07 → 14 SDK 驱动的代码研究助手
自己掌握 Agent 运行时 02 → 04 → 05 → 08 → 13 只暴露业务工具的 Agent Core 应用
做长期运行、多用户产品 前面三条 → 09 → 10 → 11 → 15 存储、权限、并发和评测方案
深入读源码 05–11 → 17 文件、函数、行号与完整调用链

不需要先读完仓库再开始写 Agent。先跑离线实验,看见一次工具调用,再对照第 05 章研究它为什么发生。

配套文件

  • upstream/:从 GitHub 下载的最新主分支,保留完整 Git 历史。
  • pi-1.0/:官方 v1.0.0 独立工作树,课程的稳定研究基线。
  • docs/:课程 Markdown 原稿;完整单文件课程 便于整体保存。
  • examples/:固定依赖版本的 TypeScript 实验、离线验证和个人 Pi 包。
  • research/:版本证据、源码文件清单与讲解覆盖索引。
  • scripts/、deployment/:课程构建、审核与 Nginx 部署文件。

下载:完整课程 Markdown、分章 Markdown 与图表资源、可运行实验项目。

第一项实验

在服务器项目根目录运行:

cd /home/debian/codex/learn/pi/examples
npm ci --ignore-scripts
npm run demo
npm run check
npm test

demo 使用 Pi 官方 Faux Provider,按脚本返回工具调用和最终回答。它不访问真实模型、不需要 API Key,不验证真实模型的智能水平。它验证的是实际 Pi 1.0 运行时、工具参数校验、事件和结果回传。

阅读约定

「源码事实」有固定 commit 的来源;「设计解释」是依据行为作出的归纳;「产品建议」是本课程为你的 Agent 提出的实现方案。课程代码采用 Pi 1.0 的 API,历史教程中的 @mariozechner/* 导入不能直接替换进去。

研究范围与审查结果见 源码地图 和 验收记录。这里不会把文件扫描或自动生成逐行展示冒充整仓库的人工逐行审计。