Pi Agent Harness 架构解析:一个轻量可扩展的 Agent 开发底座
Pi Agent Harness 架构解析一个轻量可扩展的 Agent 开发底座1. 概述Pi 是一个 Agent Harness由 Mario Zechner知名游戏开发框架 libGDX 的创建者开发。它不是一个单一产品而是一个 Agent 开发底座——同时提供两种用法轻量编程助手直接使用 CLI在项目目录运行 pi让模型读代码、修改文件、执行命令Agent 开发底座使用底层 SDK、RPC 模式或 TUI 组件构建自己的 Agent 产品2. 四层软件包架构Pi 包含四个核心软件包从底层到顶层逐层组装。2.1 pi-ai模型接入层pi-ai 负责统一接入各种模型。它把 OpenAI、Anthropic、Google、OpenRouter、Ollama 等不同模型接口统一起来处理以下能力流式输出工具调用图片输入推理内容Token 与费用统计2.2 pi-agent-coreAgent 循环层pi-agent-core 负责 Agent 的核心运行循环。流程如下模型发起工具调用 → 执行工具 → 校验参数 → 把结果送回模型 → 继续下一轮直到任务完成循环结束。这一层不关心模型来源也不关心终端界面只负责 Agent 的核心逻辑。2.3 pi-tui终端界面层pi-tui 负责终端界面使用差分渲染技术——只更新发生变化的内容减少终端闪烁。同时这一层的组件是可复用的开发者可以拿它构建自己的终端应用。2.4 pi-coding-agent组装成品层pi-coding-agent 是前面三个包的组装成品。在项目目录中运行 pi即可获得一个完整的 Coding Agent具备读代码、修改文件、执行命令、运行测试的能力。3. 设计哲学3.1 极简的核心Pi 默认只给模型四个工具工具功能read读取文件write创建或重写文件edit精确修改文件bash执行终端命令作者认为主流前沿模型已经非常熟悉 Coding Agent 的工作方式读文件、改代码和运行命令足够覆盖绝大部分编程任务。Pi 最初的系统提示词和工具描述合计不到 1000 Token模型不需要先读大量产品规则更多上下文可以留给项目代码和当前任务。3.2 可扩展的体系Pi 默认没有内置 MCP、子 Agent、计划模式和待办列表。需要这些能力时可以安装社区 Package或者用 TypeScript 写一个扩展。扩展可以注册新工具、命令、快捷键和 Provider也能改变上下文压缩方式、接管 Bash 执行、增加自定义界面。修改完成后执行 /reload当前会话即可继续使用。3.3 模型无关Pi 支持 15 个以上的模型 Provider 和数百个模型。可以在同一段会话中从 Claude 切换到 GPT再换成 Gemini也可以连接 Ollama、llama.cpp 等本地模型。3.4 会话管理会话历史采用树状结构。走错方向时可以回到之前的节点重新开一条分支原来的尝试仍然保留在同一个会话文件里。长对话接近上下文上限后Pi 会自动压缩历史也允许开发者替换自己的压缩策略。除了交互式终端Pi 还提供单次执行、JSON 事件流、RPC 和 SDK 四种接入方式。4. 安全边界Pi 没有内置沙箱它会继承当前用户的文件、进程、网络和凭证权限扩展代码也运行在相同权限下。项目信任机制可以阻止陌生仓库在未经确认时加载本地扩展但它无法限制模型后续执行的命令。处理陌生代码、无人值守任务或者重要凭证时官方建议把 Pi 放进容器、虚拟机、微型虚拟机或策略沙箱并且只挂载任务需要的目录。5. 部署与使用Pi 是一个本地命令行程序不需要单独部署数据库或常驻网关。环境要求Node.js 22.19.0 或更高版本安装方式# npm 全局安装npminstall-g--ignore-scripts earendil-works/pi-coding-agent# macOS / Linux 安装脚本curl-fsSLhttps://pi.dev/install.sh|sh基本使用命令命令用途pi进入交互式会话/login配置模型支持 Claude Pro/Max、ChatGPT Plus/Pro、GitHub Copilot、API Key/model切换模型pi -c继续上次会话pi -p “任务描述”单次执行一次性任务6. 总结Pi 同时提供两种用法轻量编程助手和 Agent 开发底座。核心设计原则是极简、可扩展、模型无关。它适合愿意掌控工作流的开发者从一个很小的核心开始只把自己需要的东西装进去。

相关新闻

AI做PPT提示词怎么写,换个写法效果差很多

AI做PPT提示词怎么写,换个写法效果差很多

有相当多的人跟人工智能提出需求的时候就仅仅是一句话:做个 PPT。假如人工智能是一个人的话,它估计得瞅着你问,什么样的 PPT?是给人看的?是主题的?有没有材料?有多少页?是样的风格&a…

2026/10/4 11:07:12 阅读更多 →
ECRS分析原则:从根源优化研发流程的系统性思维与实践

ECRS分析原则:从根源优化研发流程的系统性思维与实践

1. 项目概述:从“救火”到“治本”的思维跃迁 干了这么多年流程优化和效率提升的活儿,我越来越觉得,很多团队在解决问题时,总是不自觉地陷入“打补丁”的循环。看到一个瓶颈,第一反应是加人、加班、上工具,…

2026/10/1 23:12:06 阅读更多 →
解锁音乐自由:3步轻松解密网易云音乐NCM文件

解锁音乐自由:3步轻松解密网易云音乐NCM文件

解锁音乐自由:3步轻松解密网易云音乐NCM文件 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的歌曲无法在其他设备播放而烦恼吗?ncmdump是一款专为音乐爱好者设计的NCM解密工具&#xff…

2026/10/7 12:29:23 阅读更多 →

最新新闻

零代码构建动态表单系统

零代码构建动态表单系统

动态表单构建全攻略:从零实现可配置化表单系统在现代前端开发中,动态表单已不再是可选项,而是提升用户体验与开发效率的核心能力之一。无论是后台管理系统、问卷调查工具,还是多场景数据录入平台,灵活可配置的表单结构…

2026/10/13 16:41:23 阅读更多 →
手搓百亿token投资agent:RAG架构、数据管道与推理工作流实战

手搓百亿token投资agent:RAG架构、数据管道与推理工作流实战

先交代一下背景。过去大半年时间,我利用业余时间从零手搓了一套投资agent,全量知识库大概几百亿token的量级,涵盖财报、公告、研报、新闻和宏观数据。很多人听到“百亿token”第一反应是“这是不是把模型上下文干到了百亿”?其实不…

2026/10/13 16:41:23 阅读更多 →
Agent框架工程化的关键:全插件化设计与可回放会话日志

Agent框架工程化的关键:全插件化设计与可回放会话日志

调试Agent应用是一件很容易让人崩溃的事。你辛辛苦苦把工具链接好,提示词调了三轮,结果它在第七轮对话里突然干了一件匪夷所思的事——调用了一个不该调的工具,返回了一截被截断的JSON,然后整个任务直接报废。更气人的是&#xff…

2026/10/13 16:41:23 阅读更多 →
文本向量化入门:从语义坐标到工程落地

文本向量化入门:从语义坐标到工程落地

1. 项目概述:当文字不再只是字符,而是一组可计算的坐标“嵌入与向量化:从「文本」到「语义坐标」”——这个标题乍看像一句技术诗,但背后是过去五年里真正重塑信息处理底层逻辑的关键跃迁。我最早在某高校自然语言处理实验室接触这…

2026/10/13 16:41:23 阅读更多 →
并查集详解:从路径压缩到带权并查集,一文打通图论连通性

并查集详解:从路径压缩到带权并查集,一文打通图论连通性

并查集这名字听起来像个数学概念,实际上却是图论与算法竞赛里最"像工具"的一种数据结构。很多人第一次接触它,是在做无向图连通块统计、判断两个点是否连通、或者写Kruskal最小生成树的时候——它几乎是一类问题的标准答案。简单说&#xff0c…

2026/10/13 16:41:23 阅读更多 →
page_alloc get_page_from_freelist

page_alloc get_page_from_freelist

get_page_from_freelist() 是伙伴系统快速路径的核心分配函数,负责遍历 zonelist,找到第一个满足水位条件的 zone 并尝试分配。核心作用与定位它是 __alloc_frozen_pages_noprof()(旧版 __alloc_pages_nodemask())在首次尝试分配时…

2026/10/13 16:40:20 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →