Full markdown reading view
重读 OpenClaw 背后的 Agent 框架「pi」,作者 @badlogicgames 对主流 Coding Agent 的反思还是太超前了,pi 的极简设计即使现在带着上帝视角往回看,仍然是
重读 OpenClaw 背后的 Agent 框架「pi」,作者 @badlogicgames 对主流 Coding Agent 的反思还是太超前了,pi 的极简设计即使现在带着上帝视角往回看,仍然是
来源: https://x.com/shao__meng/status/2032253333747220690
抓取时间: 2026-03-13T20:50:23.461Z
正文
作者: @shao__meng (meng shao)
时间: Fri Mar 13 00:32:06 +0000 2026
链接: https://x.com/shao__meng/status/2032253333747220690
重读 OpenClaw 背后的 Agent 框架「pi」,作者 @badlogicgames 对主流 Coding Agent 的反思还是太超前了,pi 的极简设计即使现在带着上帝视角往回看,仍然是精妙,不得不佩服!
https://t.co/mChSOHZHI8
可复制学习的经验
即使你不使用 pi,这些经验也适用于其他 Agents:
- 保持系统提示简洁:模型已理解 Coding Agents 模式,冗长的提示反而有害
- 最小化工具集:四个基本工具(读、写、改、执行)已足够
- 文件化状态管理:使用文件而非内置功能管理 TODO、计划等状态
- 追求可观察性:选择能让你看到完整交互过程的工具
- 上下文工程优先:精确控制进入模型的上下文比工具数量更重要
为什么自建 pi?
· Mario 曾使用 Claude Code,但随着时间推移,该工具变得臃肿(80% 的功能他用不到)
· 系统提示和工具在每个版本中都会变化,破坏了他的工作流程
· 现有工具缺乏可见性(无法查看与模型的交互细节)
· 自托管模型支持不佳
pi 的三层技术架构
-
pi-ai(统一的 LLM API)
解决的关键问题:
· 多提供商兼容:统一支持 OpenAI、Anthropic、Google、xAI 等四种 API 格式
· 上下文切换:可以在会话中切换模型(如从 Claude 切换到 GPT),保留完整对话历史
· 工具调用分割:将工具结果分为 LLM 可见部分和 UI 展示部分
· 中断请求支持:支持 AbortController 中止请求并返回部分结果 -
pi-tui(终端 UI 框架)
设计选择:
· 采用追加模式:不同于全屏 TUIs(如 Amp、opencode),pi 采用类似 Claude Code 的追加输出模式
· 保留滚动历史:不接管终端视口,保留原生滚动和搜索功能
· 差异渲染:只重绘变化的行,配合同步输出转义码实现无闪烁更新 -
pi-coding-agent(核心 CLI)
· 关键特性:极简系统提示词(仅约 1000 tokens)
· 仅有 4 个核心工具:read、write、edit、bash
· 支持项目上下文文件(AGENTS.md)分层加载
设计哲学与反常规选择
-
YOLO 模式(默认开放权限)
· 他认为其他工具的安全措施是"安全剧场"
· 既然 Agent 可以写代码和执行代码,真正的安全防护实际上是不可能的
· 默认赋予文件系统和命令执行的完整权限 -
不做内置 TODO 功能
· 他认为 TODO 列表往往会让模型更困惑
· 替代方案:直接写入 TODO.md 文件,用复选框标记进度 -
不做计划模式
· 可以通过 --tools read,grep,find,ls 启动只读模式来实现类似功能
· 持久化计划应写入文件(如 PLAN.md),跨会话可见 -
不支持 MCP
· 认为 MCP 服务器会占用过多上下文空间(如 Playwright MCP 占 13.7k tokens)
· 替代方案:构建简单的 CLI 工具 + README,按需读取 -
没有后台 Bash
· 使用 tmux 替代后台进程管理
· 提供更好的可观察性,且用户可以主动进入会话 -
没有 Sub-agents
· 其他工具的 Sub-agents 是"黑盒中的黑盒"
· 解决方案:通过 bash 直接调用 pi 自身,获得完整输出可见性
媒体链接:
评论 (15)
评论 点赞 2
作者: @dddanielwang (DanielW)
时间: Fri Mar 13 05:38:21 +0000 2026
链接: https://x.com/dddanielwang/status/2032330403428909144
@shao__meng @badlogicgames 今天在试用,感觉真的挺优雅的,不停的问deepwiki这个repo的细节 https://t.co/Hv4Y39hBwG
媒体链接:
评论 点赞 1
作者: @shao__meng (meng shao)
时间: Fri Mar 13 04:05:33 +0000 2026
链接: https://x.com/shao__meng/status/2032307047967178867
@Drli89 @badlogicgames 晚点我整理开源出来,包括信息卡的,还有 Remotion Skills 做动画视频的
评论 点赞 1
作者: @justinforfun (Justin否饭)
时间: Fri Mar 13 01:14:14 +0000 2026
链接: https://x.com/justinforfun/status/2032263933898473658
@shao__meng @badlogicgames 原来如此😂我说咋没动静了
评论 点赞 1
作者: @shao__meng (meng shao)
时间: Fri Mar 13 06:59:52 +0000 2026
链接: https://x.com/shao__meng/status/2032350918214398138
@lit10050528 @badlogicgames 在我置顶帖子哈 🔝
评论 点赞 1
作者: @Drli89 (Dr Lee)
时间: Fri Mar 13 05:59:12 +0000 2026
链接: https://x.com/Drli89/status/2032335651115581862
@shao__meng @badlogicgames 感谢~必须得 star
评论 点赞 1
作者: @settinghead (xc)
时间: Fri Mar 13 00:47:55 +0000 2026
链接: https://x.com/settinghead/status/2032257312195326227
@shao__meng @badlogicgames 当准备开始用Pi时,就会发现裸call API的价格是subscription价格的10倍不止,就被迫先搁置了。
评论 点赞 7
作者: @justinforfun (Justin否饭)
时间: Fri Mar 13 00:54:30 +0000 2026
链接: https://x.com/justinforfun/status/2032258968165503282
@shao__meng @badlogicgames 说起来,之前还有个 个人 ai 助手也叫 Pi 😂,不过好像很久没更新动态了
评论 点赞 8
作者: @shao__meng (meng shao)
时间: Fri Mar 13 01:01:13 +0000 2026
链接: https://x.com/shao__meng/status/2032260659648610363
@justinforfun @badlogicgames 是呢,很早很早之前关注过 Pi,当时它提出的不同性格的 AI 伙伴还挺有想法的,有情绪有温度,不过后来很快创始人就被微软挖走,成为 Microsoft AI CEO。Pi 也就慢慢淡出视野了。
评论 点赞 9
作者: @lit10050528 (robin zhang)
时间: Fri Mar 13 05:24:28 +0000 2026
链接: https://x.com/lit10050528/status/2032326910542561382
@shao__meng @badlogicgames 配图也是生成的么,可以分享一下 prompt 么?
评论 点赞 10
作者: @Drli89 (Dr Lee)
时间: Fri Mar 13 02:14:00 +0000 2026
链接: https://x.com/Drli89/status/2032278974437691489
@shao__meng @badlogicgames 这个可视化图还是用之前的提示词吗?还是说已经整合成 skills 了?
评论 点赞 11
作者: @shao__meng (meng shao)
时间: Fri Mar 13 02:42:59 +0000 2026
链接: https://x.com/shao__meng/status/2032286271104766093
@Drli89 @badlogicgames 我自己是把它做成了本地的 Skills,除了提示词外,主要是 HTML -> PNG 这步通过 Skills 的脚本自动化了;设计布局本身,还是之前的提示词。
评论 点赞 12
作者: @Drli89 (Dr Lee)
时间: Fri Mar 13 03:54:20 +0000 2026
链接: https://x.com/Drli89/status/2032304224638546196
@shao__meng @badlogicgames 能否分享这个 skills 学习一下呀😃
评论 点赞 13
作者: @cheuk_baby (Jason傑森 🇭🇰 | 🛠️)
时间: Fri Mar 13 02:54:00 +0000 2026
链接: https://x.com/cheuk_baby/status/2032289042642190338
@shao__meng @badlogicgames 这思路还真值得细看下
评论 点赞 14
作者: @andrewsongx (Andrew)
时间: Fri Mar 13 07:09:04 +0000 2026
链接: https://x.com/andrewsongx/status/2032353232882974921
@shao__meng @badlogicgames 对比 vercel 的 aI sdk,vercel ai sdk的比pi差在哪些地方了,是不是pi能做的aI sdk也都能做?@shao__meng
评论 点赞 15
作者: @imjszhang (JS)
时间: Fri Mar 13 06:16:05 +0000 2026
链接: https://x.com/imjszhang/status/2032339900285301203
@shao__meng @badlogicgames 「精妙」是认知税。真正优雅的系统不会让你感叹设计者的聪明——你会忘记设计的存在,就像忘记呼吸。
Capture Diagnostics
{
"mode": "thread",
"started_at": "2026-03-13T20:49:13.119Z",
"ended_at": "2026-03-13T20:50:23.458Z",
"rounds_executed": 23,
"expand_clicks": 2,
"last_visible_expand_buttons": 0,
"termination_reason": "stable_idle",
"incomplete": false,
"likely_incomplete": false,
"error_code": null,
"resumed_from_cache": false,
"imported_tweets": 0,
"imported_users": 0,
"cache_path": null,
"cache_age_ms": null,
"cache_prior_likely_incomplete": false,
"cache_expired": false,
"newly_captured_tweets": 4,
"instruction_response_count": 3,
"instruction_tweet_count": 16,
"instruction_conversation_module_count": 10,
"instruction_related_module_count": 0,
"instruction_cursor_count": 2,
"instruction_show_more_cursor_count": 2,
"last_expand_button_texts": [],
"clicked_expand_button_texts": [
"显示回复 显示回复"
]
}