源码精读笔记

Pi Agent

如果你正在开发 AI Agent

想学习 Harness 的设计

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

—— 这本笔记是给你的

开始阅读 →

全部章节

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

M01

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

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

5376字 · 含68行代码 · 约27分钟
TS Py
M02

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

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

4531字 · 含193行代码 · 约23分钟
TS Py
M03

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

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

7394字 · 含366行代码 · 约37分钟
TS Py
M04

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

Pi 用统一模型与事件流接口承接 9 种文本 API 方言;本章追踪 Provider 适配层如何翻译请求与流式响应。

5921字 · 含169行代码 · 约30分钟
TS Py
M05

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

从工具查找、参数准备和校验,到调用前拦截、执行与结果编码;本章解释工具边界及并发调度。

7185字 · 含297行代码 · 约36分钟
TS Py
M06

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

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

5467字 · 含205行代码 · 约28分钟
TS Py
M07

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

Agent 生命周期事件形成可等待的观察边界;coding-agent 再叠加产品事件与可影响流程的扩展钩子。

4309字 · 含175行代码 · 约22分钟
TS Py
M08

第8章:上下文工程 —— 让有限窗口承载长会话

模型窗口有明确上限,而会话历史可能继续增长;本章梳理输入侧与历史侧的上下文控制机制。

6291字 · 含200行代码 · 约32分钟
TS Py
M09

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

上下文压缩把较早历史变成结构化摘要,并保留近期消息;本章解释触发、切点和立即重建流程。

4921字 · 含182行代码 · 约25分钟
TS Py
M10

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

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

7275字 · 含190行代码 · 约37分钟
TS Py