源码精读笔记

Pi Agent

如果你正在开发 AI Agent

想学习 Harness 的设计

想搞懂一个生产级 Agent SDK 是怎么造出来的

—— 这本笔记是给你的

开始阅读 →

全部章节

每章都有 TypeScript 与 Python 两个版本;Python 版为转写,方便只熟悉 Python 的读者。

M01

第1章:开篇 —— 为什么 Pi-Agent 值得你花时间

Pi 是什么、为什么学它。本章打开 Pi-Agent 全貌,建立后续章节的知识地图。

4867字 · 含79行代码 · 约25分钟
TS Py
M02

第2章:三层架构 —— Pi-Agent 项目的骨骼

Pi-Agent 的三层架构:pi-ai 抽象模型、agent-core 提供运行时、coding-agent 包装交互。

4215字 · 含190行代码 · 约22分钟
TS Py
M03

第3章:Agent Loop —— 让模型转动起来的引擎

Agent Loop 是 Pi 的引擎。本章看模型如何被循环调用、停止条件如何决定下一轮。

6859字 · 含358行代码 · 约35分钟
TS Py
M04

第4章:模型调用 —— 一行代码驾驭多个模型

一行代码调 30+ 供应商。本章看 Pi 如何用 Provider 抽象抹平各家 API 差异。

5321字 · 含134行代码 · 约27分钟
TS Py
M05

第5章:工具系统 —— Agent 的手脚是怎么被管住的

工具系统五步管道:定义、注册、拦截、执行、回收。Agent 的手脚怎么被管住。

6618字 · 含270行代码 · 约34分钟
TS Py
M06

第6章:消息系统 —— Agent 的记忆如何组织与传递

Agent 内部用 7 种消息自由表达,调用 LLM 前翻译成 3 种标准 Message。

4947字 · 含180行代码 · 约25分钟
TS Py
M07

第7章:事件驱动 —— Agent 的神经系统

事件驱动是 Pi 的神经系统。同步屏障 + 发布订阅,让扩展和宿主协同。

3423字 · 含152行代码 · 约18分钟
TS Py
M08

第8章:上下文工程 —— 让有限窗口装下无限对话

LLM 窗口固定、对话无限增长。本章看 Pi 在输入与历史两端布置的上下文工程防线。

5631字 · 含200行代码 · 约29分钟
TS Py
M09

第9章:上下文压缩 —— 当对话太长怎么办

上下文压缩:把 50 轮对话压缩成一段结构化摘要,让 Agent 继续记住之前发生了什么。

3944字 · 含172行代码 · 约20分钟
TS Py
M10

第10章:会话管理 —— 对话的存储、恢复与分叉

会话管理:对话的存储、恢复与分叉,Session Tree 如何让 Agent 拥有可回溯的历史。

6407字 · 含187行代码 · 约33分钟
TS Py