思考:Pi Agent 对比 LangGraph

最近在思考两类 Agent 的差异:一种是 Pi Agent 这种模型主导的模式,另一种是 LangGraph 这种流程主导的模式。
它们都可以调用 LLM、工具、检索和代码,但核心差别不在“用了什么能力”,而在“下一步由谁决定”。
Pi Agent:模型主导
Pi Agent 更像是把任务交给一个能力很强的执行者。
你给它目标,给它工具,给它上下文,然后让模型自己判断下一步该做什么。它可以先读文件,再调用命令;可以先分析问题,再补充信息;也可以在任务进行中动态调整计划。
这种模式的关键是:流程不是提前写死的,而是在执行过程中由模型生成。
所以 Pi Agent 适合强模型。模型越强,它越能理解目标、拆解任务、选择工具、处理异常,并在复杂环境里持续推进。
典型场景包括:
- coding
- 管理服务器
- 调试复杂问题
- 做探索性研究
- 完成开放式任务
这类任务很难提前画出完整流程图,因为真实世界里总会出现意料之外的分支。Pi Agent 的优势就在这里:它不是按图索骥,而是边看边想,边做边调整。
LangGraph:流程主导
LangGraph 则是另一种思路:先把流程定义清楚。
你先写好流程图,每一步是一个节点。节点里可以调用 LLM、工具、检索,也可以写规则代码。流程怎么走,主要由代码控制。
也就是说,LangGraph 里的模型通常只是某个节点的执行器,而不是整个系统的调度者。
它的整体流程不是模型随便决定的,而是你写死,或者半写死的。模型可以参与判断,但它被放在一个明确的框架里。
这种模式的好处是稳定、可控、容易调试。
典型场景包括:
- 新闻采集汇总
- 论文转报告
- 固定格式的信息抽取
- 多步骤内容生产流水线
- 有明确输入输出规范的业务流程
这些任务的特点是:流程相对固定,目标比较清楚,系统更关心稳定性和一致性,而不是开放探索。
核心区别:自由度
我认为 Pi Agent 和 LangGraph 的核心区别,就是流程自由度。
Pi Agent 的自由度高。它更像一个自主执行者,拿到目标后自己决定路线。你关心的是目标、工具和上下文是否给够,至于中间怎么走,交给模型判断。
LangGraph 的自由度低。它更像一个工作流系统,开发者先定义路线,模型只在特定节点里发挥作用。你关心的是流程是否设计合理,分支是否覆盖完整,节点是否足够稳定。
这也决定了它们各自适合的模型和任务。
Pi Agent 适合接入强模型,做开放任务、探索任务、通用任务。因为强模型本身就有规划和纠错能力,过早限制流程,反而可能削弱它的能力。
LangGraph 适合固定流程、稳定少出错的任务。因为这些任务不需要模型每一步都自由发挥,反而需要系统把边界框好,把不确定性压低。
我的判断
如果任务的关键是“解决问题”,而问题路径不确定,我会更倾向 Pi Agent。
如果任务的关键是“稳定生产”,而流程本身已经清楚,我会更倾向 LangGraph。
前者相信模型的自主性,后者相信流程的确定性。
Pi Agent 是把模型放在驾驶位上;LangGraph 是把模型放进流程节点里。
这不是谁替代谁的问题,而是两种不同的工程取向:开放问题交给模型主导,固定流程交给代码主导。



