/档案 ARD-019
核验日期: 2026年10月·文档结构·编辑部复核共识
矩阵深度审计//AI 智能体

LangGraph 与 Smolagents 对比

Vector: 有状态循环图工作流与极简代码优先循环对比
30 秒结论//档案 ARD-019
状态模式分化
结论

选择 LangGraph 构建具备人工介入检查点与确定性状态机的多智能体系统;选择 Smolagents 获得刻意压到最小的抽象层与代码原生执行。

LangGraph 通过可插拔的 checkpointer(Postgres、SQLite、MongoDB、Cosmos DB 或内存)持久化图状态,并支持在执行中打断以等待人工批准。Smolagents 则刻意把智能体逻辑压得很小,用代码片段而非 JSON 工具调用来表达动作——其文档认为这是更自然、更灵活的表达方式。

LangGraph高韧性有状态图状态机

适用边界: 复杂多轮交互智能体、企业级回滚检查点与人工复核审批工作流。

Smolagents轻量级代码原生智能体

适用边界: 原生代码执行代理、低延迟数据管道与极简抽象预算场景。

指标实测
3 项指标 · 每项附出处
智能体循环形态
显式状态图 vs 代码即动作的循环smolagents 概念指南 — 以代码片段表达动作
检查点存储
可插拔 checkpointer(Postgres / SQLite / MongoDB / Cosmos DB / 内存) vs 所引文档未说明LangGraph checkpointers — 官方实现以独立可安装库提供
调试与观测界面
LangSmith trace vs 终端日志LangSmith 可观测性 — 从单条 trace 到生产级指标

交互式场景权重演算器

权重合计: 100%

下面四个维度是本组矩阵自己的评估口径,不是一套固定分类。权重表示每个维度对你当前场景的重要程度;拟合度是三档评级的加权平均,不是实测基准。

典型场景预设
架构主权与控制40%

状态机韧性、环形节点分支与检查点持久化

Token 与成本可预测性15%

工具模式的提示词填充、Token 效率与递归循环的开销边界

隐私合规与安全保障35%

执行沙箱隔离、任意代码求值的防护与人工审批闸门

开发人机工程与接入摩擦10%

调试流程、步骤可重放性与 IDE 追踪集成

按当前权重的加权拟合拟合度更高
LangGraph (拟合度更高)

在你分配的权重下 LangGraph 得分更高;Smolagents 则在其他约束为主的场景中适用。

LangGraph94%拟合
vs
Smolagents80%拟合
证据与权衡
编辑复核
评估维度 / 考量权重LangGraph (定性评估与实证)Smolagents (定性评估与实证)
架构主权与控制

状态机韧性、环形节点分支与检查点持久化

基准权重:35%
LangGraph首选推荐

持久化分为两层:checkpointer 承载单条线程的图状态(对话连续性、人工介入、时间旅行、容错),store 承载跨线程的应用数据。官方 checkpointer 以独立可安装库发布,除内存实现外还提供 Postgres 与 SQLite。

“LangGraph’s persistence layer gives agents short-term memory through checkpointers and long-term memory through stores.”(原文)

“Use them for short-term, thread-scoped memory, including conversation continuity, human-in-the-loop workflows, time travel, and fault tolerance.”(原文)

“LangGraph provides several checkpointer implementations, all implemented via standalone, installable libraries.”(原文)

Smolagents首选推荐

设计上就是「裸骨架」:库自称智能体逻辑仅约千行,抽象层保持在原生代码之上的最小形态,且代码智能体是一等模式而非附加功能。

“Simplicity : the logic for agents fits in ~1,000 lines of code (see agents.py ). We kept abstractions to their minimal shape above raw code!”(原文)

Token 与成本可预测性

工具模式的提示词填充、Token 效率与递归循环的开销边界

基准权重:30%
LangGraph有条件采纳

图状态与结构化工具模式会在每一步序列化进检查点,状态随线程流转而非重新计算。持久化与 checkpointer 文档都没有公开提示词开销的数字,因此这部分成本只能在自己的负载上实测。

“LangGraph's persistence layer gives agents short-term memory through checkpointers and long-term memory through stores.”(原文)

Smolagents有条件采纳

代码动作以代码片段取代 JSON 工具调用载荷,文档认为这是更自然、更灵活的动作表达方式。但它没有给出 Token 对比数据,因此「更省」是设计层面的论点,不是可核对的实测值。

“Multiple research papers have shown that having the LLMs actions written as code snippets is a more natural and flexible way of writing them.”(原文)

隐私合规与安全保障

执行沙箱隔离、任意代码求值的防护与人工审批闸门

基准权重:25%
LangGraph首选推荐

人工介入是一等模式:interrupt 可在指定节点暂停图执行并等待外部输入,期间图状态由 checkpointer 保存,恢复后继续执行。文档把它描述为「让人可以检查、打断并批准图的步骤」。

“pause graph execution at specific points and wait for external input before continuing. This enables human-in-the-loop patterns where you need external input to proceed.”(原文)

“Compile a graph with a checkpointer to enable human-in-the-loop workflows, time travel debugging, fault-tolerant execution, and conversational memory.”(原文)

Smolagents有条件采纳

代码智能体会运行模型生成的 Python,文档对风险说得很直接:要获得真正可靠的隔离,只能使用 E2B 或 Docker 这类远程执行;任何本地 Python 沙箱都不可能做到绝对安全。官方支持的沙箱模式为 Blaxel、E2B、Modal 与 Docker。

“The only way to run LLM-generated code with truly robust security isolation is to use remote execution options like E2B or Docker”(原文)

“It’s important to understand that no local python sandbox can ever be completely secure.”(原文)

“To make it secure, we support executing in sandboxed environments via Blaxel , E2B , Modal , or Docker.”(原文)

开发人机工程与接入摩擦

调试流程、步骤可重放性与 IDE 追踪集成

基准权重:10%
LangGraph首选推荐

LangSmith Observability 覆盖从单条 trace 到生产级指标的全链路:trace 记录智能体的实际行为,可用于定位失败、监控质量并构建评测数据集。

“LangSmith Observability provides full visibility into your LLM application: from individual traces to production-wide performance metrics.”(原文)

“Traces are a series of steps that your application takes to go from input to output. Each of these individual steps is represented by a run.”(原文)

Smolagents首选推荐

代码优先的设计让智能体像普通脚本一样可读:库自称把抽象保持在原生代码之上的最小形态,循环就是普通 Python,而非一门图 DSL。

“We kept abstractions to their minimal shape above raw code!”(原文)

什么情况下不该选它
架构选型硬性否决

何时应当坚决放弃对应技术栈

任何技术架构均伴随特定妥协。如果您的业务命中了以下触发条件,引入该工具将带来不可控的工程债务而非杠杆效能。

切勿选用 LangGraph硬性否决
触发边界: 简单的线性提示词链或单轮助手调用。
系统性失效风险:不必要的抽象税、图初始化开销与复杂的状态样板代码。
建议替代方案: 直接使用 LLM SDK 或 Smolagents。
切勿选用 Smolagents硬性否决
触发边界: 需要正式回滚检查点与合规人工审批闸门的关键企业工作流。
系统性失效风险:持久化交给应用层:所引文档没有 checkpointer 或 store 层,持久化回滚需要自己实现。
建议替代方案: LangGraph 配合 Postgres checkpointer。
在本地校验数据完整性
npm run verify