AI 简明手册
Pi 源码解读 · 定位与分层核心包如何分工

核心包如何分工

它要解决什么

Pi 用分层包控制依赖方向:pi-ai 统一模型调用,pi-agent-core 负责状态与工具循环,pi-coding-agent 组装开发者 CLI,pi-tui 提供终端 UI,pi-telemetry 定义可替换的遥测契约。

源码给出的答案

模型层与循环层分开

pi-ai 处理 Provider、模型、流式响应与跨 Provider 消息转换;pi-agent-core 在其上维护消息状态、工具执行、事件流与 steer/follow-up 队列。

[repo]

产品层组合能力

pi-coding-agent 将模型、Agent、会话、资源加载器和工具组装成可交互 CLI 与 SDK;pi-tui 负责差分渲染的终端组件,pi-telemetry 则把遥测接口与具体后端解耦。

[repo]

收益与代价

  • 只调用模型时停留在 pi-ai,自建循环再引入 pi-agent-core,需要完整会话与资源系统时才接 pi-coding-agent。

  • 扩展应尽量落在最靠外、又能满足需求的层级,避免让 UI 或产品约束反向污染模型与循环层。

别把取舍当成定律

  • 包边界会随 revision 演进;本文描述的是职责,不承诺每个内部符号都是长期公共 API。

来源与核验

  1. [repo] Pi 官方源码(固定 revision)
  2. [docs] Pi 官方文档

Revision:853a80d26c90a14c1886f0ebb8ffaae133ca2185 · 核验日期:2026-08-31