大数跨境

"骂了 MCP 一整年"的AI 编程神器 Pi agent 为何肯拥抱MCP了?

"骂了 MCP 一整年"的AI 编程神器 Pi agent 为何肯拥抱MCP了? AI大模型应用开发
2026-10-15
1
导读:曾写"不支持 MCP"的 Pi,把它装进了核心,还顺手推出了能扛崩溃的新框架 Pi Durable。这是一次务实的进化,还是极简主义的失守?

 

Pi 迎来今年最大一轮更新:两周内从 0.99 推到 1.2,正式迈入 1.0。

曾经在官网写着“不支持 MCP”的 Pi,把 MCP 接进了核心,靠工具搜索按需加载,而非一次性塞进上下文。

Code Mode 让模型在 QuickJS 沙箱里写 JavaScript 来调工具,官方称提示词瘦身约 40% token。

新框架 Pi Durable 专治“长跑 Agent 猝死”:进程挂了,重启后从检查点精确续跑,约 1.2 万行代码。

争议也随之而来,极简派在评论区留下一句:所以 Pi 现在也开始堆积垃圾了。

最坚定的“反 MCP 派”,投降了

过去一年,MCP 挨过的最狠的骂,基本出自这两个人:Pi 创始人 Mario Zechner,和 Flask 创始人 Armin Ronacher。

他们的理由很硬——MCP 臃肿、烧 token。与其把几十个工具的名称、参数和说明一次性塞进上下文,不如让 Agent 直接用 Bash、CLI 和代码:那更快,也更省。

Pi 的官网一度骄傲地写着:不支持 MCP。

然后,Pi 1.0 把它装进了核心。

关键在于,这不是一次妥协式的接入。Pi 的做法是:不把所有工具定义一次性灌进提示词,而是通过工具搜索 + 渐进式披露按需加载。 模型先知道“有这么一类能力存在”,真正要用的时候,再去把细节取回来。

背后的账其实很朴素。这一年,MCP 协议经历了六七轮调整,Server 生态和协议本身逐渐成熟;模型也吃到了更多和 MCP 相关的训练数据。当年反对的理由是“不划算”,现在这笔账算得过来了,那就接。

面对“Pi 是不是变胖了”的质疑,Armin 的回应很直接:Pi 默认加载的内容,并没有比以前更多。

Code Mode:让模型写代码,而不是堆工具

和 MCP 一起进入稳定版的,是 Code Mode。

一句话概括:别让模型一个接一个地去调工具,让它写一段代码去调工具。

具体来说,Agent 在 QuickJS 沙箱里写一段 JavaScript。在这段代码里,它可以并行调用多个工具、过滤数据、去重、计算,最后只把真正有用的结果送回模型。中间那些庞大而杂乱的原始数据,全都留在沙箱里,不进上下文。

举个例子。假设 Pi 通过 MCP 抓回来 200 条 GitHub 评论。

老办法是把 200 条全部灌进上下文,让模型一条条读——token 哗哗地烧。Code Mode 的做法是写一个循环,把 200 条逐条交给一个“系统 1”式的小模型(比如 Jev)去判断:这个用户是不是不满?问题紧急吗?该归到哪一类?最后,前沿模型只需要看一张分类汇总表。

分工就此变得清晰:

  • • MCP 负责获取数据;
  • • Code Mode 负责编排与处理;
  • • 小模型承担大量快速判断;
  • • 前沿模型专注高层推理。

官方给出的数字是:精简后的 Code Mode,提示词 token 减少约 40%,遇到错误时还会明确告诉模型该怎么修正。

这也是 Armin 用来反驳“Code Mode 只是绕了一圈的 Bash”的核心论点:Bash 运行的是 shell 工具,而 Code Mode 让模型能在 Harness 内部搜索、组合、编排工具。

Pi Durable:Agent 得先活过崩溃

如果说 Code Mode 解决的是“怎么更省”,那 Pi Durable 想解决的是“怎么活得更久”。

Mario 用五句话概括了它:

Agent 在一个进程里启动 → 调用工具 → 进程挂了 → 重启 → 它应该从中断的地方精确地继续。

这就是持久性。不需要人工敲一句“继续”,工具结果不能丢,流式输出不能丢,应用状态要能被可靠地恢复,并且能被可靠地重建。

在 Pi Durable 之前,想用 Pi 做一个常驻的 Slack Bot、一个个人助理、或者任何跑上几小时的 Agent,开发者得自己设计数据库存消息,自己处理启动、调度、崩溃和状态恢复。有开发者估算,Pi Durable 能直接替掉自己一半的代码——因为这一圈脏活累活,框架全接了。

实现上最反直觉的一点:它没有用事件溯源。

很多做持久化的系统会选事件溯源,因为它“听起来很正统”。Mario 明确说不,因为事件溯源会带来一堆麻烦。Pi Durable 走的是另一条路——“意图、执行、结果”的效果三明治,配上一套版本化的文档存储来保存应用状态:你拿到一个 JavaScript 对象,像操作普通对象一样写 object.x = 10,这个操作会被自动记录成一条操作,再应用到真实对象上,回放时用来重建状态。代价是依赖 Proxy,性能上不算优雅,但对于 Agent Harness 要做的事情,它工作得非常好。

它同时提供内存、SQLite、JSONL 三种存储后端,可以同时管理多段对话,能让每段对话决定自己的工具和运行环境,可以用 requestId 避免重复提交。部署目标则相当宽松:Vercel、Cloudflare Durable Objects、E2B、你的笔记本,甚至 Mario 的手机。

整个框架大约 1.2 万行代码。Armin 强调,这里的价值不能用代码行数衡量——真正的工作量在于核心设计要真的跑通。当 Agent 开始脱离人的实时监控、连续运行几小时甚至几天,至少它的编排层应该是可理解的、能带来秩序和理性的。毕竟 Agent 里面有个 LLM,想干嘛干嘛,本身已经够不可靠了。

顺带一提,Pi Durable 的架构前后迭代了整整八轮。

嘘声:“所以 Pi 现在也开始堆积垃圾了”

有掌声,就有嘘声。

随着 MCP、Code Mode 和一整套新能力进入核心,Pi 用户里最不买账的一群人说话了:

所以 Pi 现在也开始堆积垃圾了。

这句话代表了极简主义阵营最真实的焦虑:Pi 会不会慢慢变成它过去最想避免的那种臃肿 Harness?

这个焦虑并非无病呻吟。Pi 的整个口碑,恰恰建立在“够小、够克制”之上——它曾经因为拒绝 MCP 而被视为清醒的那一个。现在它同时拥抱 MCP 生态、引入沙箱执行、推出庞大的持久化框架,还开始往“Agent 基础设施”的方向长。

而 Pi 团队一边让 Agent 用更多工具、跑更长时间,一边依然不愿把所有工作放心地交给它。这种矛盾感,本身就是这场更新最值得玩味的地方。

END

#agent #pi #mcp #CodingAgent

如果这篇文章对你有帮助,欢迎点赞、在看、转发

 

【声明】内容源于网络
0
0
AI大模型应用开发
AI技术爱好者,与你分享大语言模型,agent智能体开发(coze扣子,Dify),RAG,AI产品,AI生图/生视频等技术方向的知识
内容 85
粉丝 0
AI大模型应用开发 AI技术爱好者,与你分享大语言模型,agent智能体开发(coze扣子,Dify),RAG,AI产品,AI生图/生视频等技术方向的知识
总阅读1.3k
粉丝0
内容85