Pi

参考 Pi 的精简 Agent 核心、扩展包与基础库,设计适合自己的工作流。区分哪些问题可以通过任务说明解决,哪些需要运行层定制,以及执行环境应提供哪些边界。

从一个仓库报告任务搭建小循环

增加运行组件前,先选一项小型任务循环或具体扩展缺口。请求可比较改进指令与 Pi 库职责两种方向,再通过代表性测试判断是否确实需要新增可执行扩展。

说明版本范围、检查文件、输出格式和允许使用的工具。

复制请求,在 Floatboat 新对话中粘贴,并提供所需资料。

下载 Floatboat

带入 Floatboat 的请求

请求可预览和复制,不会从此处自动发送。

参考来源: Pi
https://github.com/earendil-works/pi

先阅读原始说明并核对当前环境与依赖。需要安装或连接新工具时,先提出方案。

我的任务:
参考 Pi 工具链文档设计每周仓库变更报告,明确提交范围收集、差异读取、会话延续和带文件引用的 Markdown 汇总。先给设计与样例,不直接开始安装。

期望交付:
最小上下文、工具与会话设计,以及可复现的样例报告。

关于 Pi

Pi 明确将自己定位为精简、可扩展的 Agent Harness。项目把交互式编程 Agent 与模型访问、Agent 执行、对话状态和终端界面等基础库放在一起,既能作为工具使用,也能为其他应用提供构建模块。

Pi 适合作为“精简核心、按需增加能力”的设计参考。围绕 Floatboat 的工作,可以用它区分可复用任务说明、新工具和运行层行为:部分优化只需更好的 Skills,另一些才值得评估扩展或基础库。

当前仓库为 earendil-works/pi,原地址为 badlogic/pi-mono,采用 MIT 许可。项目也明确说明自身没有限制文件、进程、网络和凭证访问的内置权限系统;所需隔离边界应由实际运行环境提供。

值得借鉴的工作流机制

Pi 的精简核心周围保留了指令、扩展和库的不同职责。任务方法不清楚时,优先确认是否需要完善知识,而不是直接增加可执行组件,让真正的运行缺口与内容问题分开处理。

  • 精简执行核心

    参考精简 harness,先确定流程真正需要的状态和工具反馈,再增加上层功能。

  • 不同层次的扩展

    区分指令、提示、主题和可执行扩展,让每种工作流调整发生在合适的层次。

  • 可复用运行组件

    构建特定流程组件时,可以分别评估模型接口、Agent 核心和对话基础库。

Pi的使用场景

有的任务只需更清楚的 Skill,有的才需要自定义模型或执行接口。Pi 的分层提供了比较这些选择的参考,可以从轻量循环入手验证缺口,再决定是否增加运行组件。

轻量任务循环

轻量报告流程可以从一个目标、可读取的文件和少量允许使用的工具开始。参考 Pi 的精简结构,说明上下文如何进入工具调用,以及结果如何被审阅。先验证一个可复现的输出样例,再判断是否需要增加更多运行时功能。

优化可复用 Skill

可复用 Skill 反复出现问题时,先对照预期行为检查现有指令与参考资料。修正缺口后使用反例验证,再判断是否仍需要新增可执行扩展。审阅结果应区分能够通过内容调整解决的问题,以及确实缺少运行时能力的部分。

定制 Agent 组件

业务工作流需要自有模型接口或执行边界时,可以参考 Pi 的库职责进行设计。将模型提供方约束、业务接口和执行要求逐项对应,识别必须补充的适配器。组件方案应围绕实际掌握的环境展开,而不是直接照搬另一套运行方式。

为宿主定义权限策略

精简 Agent 核心并不能决定它在当前环境可以访问哪些文件、进程或服务。规划宿主时,需要将 Pi 不提供内置权限系统作为明确约束。记录允许操作和审阅节点,再测试代表性边界,不把包的分层或指令清楚误当成已经强制执行的控制。

明确 Pi 宿主权限

Pi 不为所承载工作提供内置权限系统。以下条件需要在外围环境中明确文件、进程、网络和凭据访问,再测试扩展;包结构的分层不能代替宿主实际执行边界。

  • 设置执行边界

    在宿主环境中规划文件、进程、网络与凭证访问;Pi 没有内置权限限制系统。

选择并验证 Pi 扩展

扩展应先补足任务缺口,而不是增加包的数量。确认需要调整指令还是运行层后,用代表材料验证单项能力,再评估进一步组合,使新增执行范围有实际需求和行为作为依据。

  1. 选择改动层次

    确认不足来自任务说明、可用工具、对话状态还是交互界面。

  2. 评估最小必要扩展

    先针对代表任务验证一个包或组件,再组合更多能力。

相关软件项目

比较这些项目的用途、运行条件和源码许可。

Pi 常见问题

Pi 官方是否将自己称为 harness?
是。README 明确将 Pi 称为精简、可扩展的 Agent Harness,同时提供编程 CLI 和可复用基础库,范围不止一个终端界面。
为什么旧资料使用 badlogic/pi-mono?
那是旧仓库地址,目前会转向 earendil-works/pi。归属与文档应以当前上游为准,复用旧资料前也要确认包名和接口是否变化。
Pi 是否自带权限沙箱?
README 说明 Pi 没有用于限制文件、进程、网络和凭证访问的内置权限系统。需要的隔离应由环境提供,不能假定所有 harness 都自带沙箱。
子 Agent 和规划模式默认就有吗?
项目有意不将这类能力作为核心默认功能。扩展或包可以补充,是否可用取决于所选扩展、包和会话配置。
Skill 与扩展在 Pi 中有什么区别?
Skill 提供可复用的任务说明与资料,扩展则通过扩展机制改变或增加工具行为。两者可以配合,但执行方式与信任边界不同。
借鉴这些机制是否需要更换工作工具?
不需要。可以先将 Pi 作为任务结构、工具边界和结果审阅的设计参考,在已有工作流中验证思路。软件复用是另一项选择,需要核对兼容性、权限与许可;借鉴设计思路不会自动完成软件与 Floatboat 的连接。