浅谈智能体理解

10 阅读2分钟

疑问: 为什么招聘岗位都在写着大模型开发必须要掌握LangChain、LangGraph? 这些框架真是智能体开发不可缺少的一部分吗?

一、对框架的理解

在大模型火爆初期,常见的智能产品如智能客服、不同领域的聊天机器人、AI小工具等,仅需要大模型交互加提示词结构化输出即可完成。此时,LangChain脱颖而出,它解决了对接各种不同的大模型,还支持自定义集成大模型。

那我们从LangChain的实践角度看,它具体再做什么事情?

  1. 对接大模型
  2. 提示词模版
  3. 输出解析器、文档加载器、文本分割器
  4. 向量检索
  5. 工具调用

示例教程:www.langchain.com.cn/docs/how_to…

从最新智能体实践看,它存在什么问题?

  1. 流程路径预设:与搭建工作流没有什么区别
  2. 没有办法精细控制:框架给限定的很死,对每一步只能按照框架走,给开发者预留出的发挥空间太窄。

再来看LangGraph,它具体解决LangChain的什么问题?核心一个点:用“图代替链”的设计思想,加大了原子化设计,缩小对开发者的影响。

LangGraph有什么内容?

  1. 持久化
  2. 工具调用
  3. 结构化输出
  4. 图设置
  5. 多智能体调度
  6. ......

示例:langgraph.com.cn/agents/agen…

从结果上来看,它单元化能力增强,可以提取出多个子智能体,但是依旧是预设制,不能完成预期之外的工作。

只是解决了LangChain带来的部分问题,并没有从本质上解决问题。

二、ReAct思想

论文:arxiv.org/pdf/2210.03…

逻辑固定流程:Observe -> Think -> Act -> Observe -> ... -> Finish

示例:

context = [userInput]
while True:
  # 1. 调模型
  res = llm.chat(context)
​
  # 2.执行工具
  data = tool(res)
​
  # 3.追加context中供大模型继续调用
  context.append(data)

市面火爆的智能体,几乎都是采用此设计思想,如 Claude Code\Open Claw\Codex, 并且底层没有使用langchain\langgraph等开发框架。并且采用循环机制 AgentLoop完成主流程。

一个Agent需要的内容有如下内容:

  1. 工具集成,如skills、MCP
  2. Loop: 主流程循环
  3. 上下文管理
  4. 记忆管理
  5. 多智能体协作
  6. 其它:如安全问题、环境问题、权限系统、状态关系、边界问题......

上述内容,每一块儿内容都需要拆开实践,可能会出现各种问题,解决这些问题才是落地的基石。

后续也会针对每块儿内容,进行学习应用。