核心包如何分工
它要解决什么
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。
来源与核验
- [repo] Pi 官方源码(固定 revision)
- [docs] Pi 官方文档
Revision:853a80d26c90a14c1886f0ebb8ffaae133ca2185 · 核验日期:2026-08-31