Pi 学习笔记

Pi 学习笔记

这个系列在做什么

把一个开源 LLM agent harness(pi@earendil-works/pi-coding-agent)从最小例子拆到完整工程设计

适合谁读

  • 想理解 agent harness 的工程师
  • 准备自己写一个 wrapper 或 harness 的开发者
  • 看过 N 篇”用 30 行代码写一个 agent”之后还想往下挖一层的人

目录

#文章核心问题
01用最小例子看 agent runtime 的事件流agent loop 长什么样?turn 是什么?
02Agent loop 与 turn:一次 prompt 为什么会拆成 4 趟一次 prompt 为什么会拆成多个 turn?
03Provider 抽象与统一事件协议不同厂商的流格式怎么统一成一套事件?
04Tool 系统(上):一个 toolCall 的一生模型”调用”工具时,到底是谁在执行?
05Tool 系统(下):工具从哪来、怎么暴露,以及 extension 的角色工具怎么进系统、怎么暴露给模型、怎么控制?
06实战:给应用加一个 tool(customTools 与 extension 两种方式)怎么给 pi 应用加自己的工具?两种方式怎么选?
07Session 系统:对话怎么存、恢复、分支对话怎么存?为什么是 append-only 树而不是数组?
08Context 构建:发给模型的输入怎么拼出来发给模型的输入怎么拼?为什么不只是 messages?
09Skills 系统:把可复用指令做成按需内容skill 怎么发现、暴露、按需加载?为什么只把描述放进 prompt?