Skip to main content

12 posts tagged with "Pi"

View All Tags
· 7 min read

Pi 极简内核决定了所有"看起来复杂"的功能都靠外挂。

  1. 设计哲学:极简内核 + plugin + skills 双路径,所有可定制能力外挂
  2. 安装姿势:从官网 packages 列表复制命令,全局默认;加 -l 改为项目级
  3. 8 大常用插件:联网、并行子代理、MCP 适配器、BTW、Plan Mode、Goal、Dynamic Workflows、微信
  4. Skills 协议:放 .agents/skills/ 目录即生效,Playwright CLI 是典型用法
  5. Web UI:社区 star 数最高项目接管插件 / 技能管理面板
  6. Pi 自己写插件:内置开发知识,UI 定制、权限保护类插件都能跑通
· 8 min read

Pi 把"一次会话"抽象成可遍历的工作单元,五大命令撑起完整的生命周期管理。

  1. 核心概念:Session 是 Pi 多轮对话的工作单元,三次问答 + 一次 /new 就是一段独立历史
  2. 启动与续接/new 新开、pi -c 续最近、pi -r 交互式挑选历史 session
  3. /tree 回退:Pi 特别的对话树设计,历史可跳到任意节点,从那里继续或开新分支,三选项可控制回退方式
  4. /fork vs /clone/fork 从单节点分叉只带之前历史,/clone 复制整棵会话树
  5. 代码回退/tree 只回退对话不碰文件,必须 git 配合才能回滚实际代码改动
  6. /compact vs /new:压缩省空间但模糊重点,清空彻底但丢弃中间细节
· 7 min read

只给四个工具不是减配,是把所有会因团队而异的东西都从内核里拿出去。

  • 默认工具只有 个:read / bash / edit / write
  • MCP、sub-agent、待办事项、权限弹窗一律不进核心
  • 理由:每个团队的权限规则都不一样,内置任何一套都是错的
  • 循环内核极简:模型决定动工具,工具返回结果,再交回模型
  • 内核之外开了三十多个插口,从会话启动到归档通知
  • 提示词只能写原则,tool_call 前的 Hook 代码才是停止键
  • 极简不等于省事,扩展继承运行账号的全部权限
· 8 min read

Agent 提前停下来的本质,是把「一轮回答结束」错认成「整个任务完成」。Pi 的 /goal 扩展把这层混淆拆开。

  1. 核心问题:一轮回答结束 ≠ 任务完成,普通 Agent 缺少独立完成判断机制。
  2. 目标弱化:长上下文里,初始目标被中间产物稀释,模型围绕当前成果回复。
  3. Goal 四步循环:保存完整目标 → 每轮重读提示词 → 必须调用 goal_complete → 未完成自动续跑。
  4. 两种判断方式Codex 工作模型自查 + 完成工具;Claude Code 独立评估模型判断。
  5. 适用任务四特征:结果明确、可验证、逐步收敛、不需要频繁人工决策。
  6. 任务描述四要素:结果、范围、验收方式、禁止操作。
  7. 能力边界:Goal 是持续执行保障层,正确性最终仍取决于模型和验证方法。
· 8 min read

企业级 Agent 落地,关键是「它能不能被改造」,不是功能多不多。

  1. 市场风向:底层接 Pi 的 Agent 产品越来越多,如 OpenClaw,MinimaxCode 等项目。
  2. 极简内核:4 工具(read / write 创建或覆盖 / edit 替换片段 / bash 执行)。
  3. 系统提示~370 token(约 150 行),主流最短。
  4. 企业扩展全生命周期都是可改写钩子。
  5. 可移植:插件本地到生产无缝,TS/Python SDK + RPC。
  6. 透明可审计:系统提示完全开放,能看清行为边界。
  7. 结论极简 = 透明 = 可控,是落地前提。
· 6 min read

换更简单的 Harness,能把 Token 砍掉一半。Pi Agent 是这条线上的典型代表。

  1. 同模型实测:Pi 平均 2.82M token,是 Claude Code 5.52M 的 51%
  2. 耗时:Pi 8.75 分钟 vs Claude Code 11 分钟,差距有限。
  3. 极简默认:4 工具(read/write/edit/bash),系统提示词 < 1000 token。
  4. 双层扩展:Skill 是说明书;Extension 改写 Agent 自身运行方式。
  5. 自改造:Pi 自己读扩展文档、自己写代码改 Extension。
  6. Sub-agent:靠 Extension 实现,按角色配不同厂商模型和思考强度。
  7. SDK 嵌入:把 Pi 核心能力移出终端,作为应用里的 Agent 引擎。

开箱即用选 Claude Code / Codex;想改造 Agent 或嵌进自己的应用,选 Pi。

· 10 min read

Pi 不是「一个 CLI 加一个 RPC」——它是一个能在 CLI、Node.js 嵌入、子进程 RPC、JSONL 流四种场景下等价使用的 agent runtime。createAgentSession() 是统一入口。

  1. 统一入口createAgentSession() 同时支撑 CLI、SDK、RPC、JSON 四种姿势
  2. AgentSession 三类方法:Prompt 排队、事件订阅、模型 / 状态控制
  3. 四种运行模式:Interactive(TUI)/ Print(单次)/ RPC(stdin JSONL)/ JSON(事件流)
  4. SDK vs RPC 选型:Node.js 嵌入 → SDK;Python / Go / Rust 集成 → CLI RPC
  5. 最小 CLI 包装:40 行代码就能跑一个完整的 Pi agent
  6. 五大核心启发:Pi 给 AI 产品开发的 5 条原则
· 11 min read

Pi 在「统一多 provider」这件事上做得非常彻底——30+ 个内置 provider、4 种 key 解析语法、扩展可动态注册新 provider。但最值得记住的不是支持的 provider 多,而是它对「安全」这件事的态度:明确告知无沙箱,把隔离责任推给 OS / 容器 / 虚拟机

  1. 统一层 pi-ai:把 Anthropic / OpenAI / Google 等 API 收敛成统一接口
  2. 两类 provider:订阅型(OAuth via /login)和 API Key 型
  3. 4 种 key 解析:环境变量插值、shell 命令执行、转义符、字面量
  4. model id 不用手动维护:列表随每次 release 更新
  5. 思考等级 6 档:off / minimal / low / medium / high / xhigh
  6. 安全模型无沙箱,隔离责任在 OS / 容器 / 虚拟机层
· 9 min read

Pi 的 extension 是 TypeScript 模块,不是 YAML / JSON 也不是 hook 脚本。它能注册工具、命令、快捷键、provider、UI 渲染器,订阅 30+ 种生命周期事件——这套 API 是 Pi「minimal core」哲学的具体兑现。

  1. 形式:TypeScript 模块,default-export function (pi: ExtensionAPI) { ... }
  2. 作用域:全局 ~/.pi/agent/extensions/ 或项目本地 .pi/extensions/
  3. 三类能力:订阅事件、注册功能、主动操作 session
  4. 杀手锏pi.registerProvider() 动态注册 / 覆盖 provider,无需重启
  5. 状态管理:存在 tool result 的 details 里,跟着 entry 进 JSONL 树
  6. 安全警告:extension 以完整系统权限运行,只装可信来源
· 8 min read

Pi 把上下文压缩做成一等公民:自动触发、结构化摘要、可扩展、可手动控制。两种机制——压缩和分支摘要——共用同一套文件跟踪与摘要格式。

  1. 触发条件:上下文超阈值或 /compact 触发压缩;/tree 切分支触发分支摘要
  2. 核心字段reserveTokens(默认 16384)、keepRecentTokens(默认 20000)
  3. 七段式摘要 schema:Goal / Constraints / Progress / Key Decisions / Next Steps / Critical Context
  4. 关键设计:重复 compaction 从上一 compaction 的保留边界开始,磁盘上只有「三块」而非 N 段
  5. 累积文件跟踪:read/modified 文件清单跨多次 compaction 累积
  6. 可扩展session_before_compact 钩子允许扩展完全替换摘要生成
压缩和分支摘要在 Pi 里是同一种东西——都是为了「不丢历史的前提下让当前 leaf 轻装上阵」。