疑问: 为什么招聘岗位都在写着大模型开发必须要掌握LangChain、LangGraph? 这些框架真是智能体开发不可缺少的一部分吗?
一、对框架的理解
在大模型火爆初期,常见的智能产品如智能客服、不同领域的聊天机器人、AI小工具等,仅需要大模型交互加提示词结构化输出即可完成。此时,LangChain脱颖而出,它解决了对接各种不同的大模型,还支持自定义集成大模型。
那我们从LangChain的实践角度看,它具体再做什么事情?
- 对接大模型
- 提示词模版
- 输出解析器、文档加载器、文本分割器
- 向量检索
- 工具调用
示例教程:www.langchain.com.cn/docs/how_to…
从最新智能体实践看,它存在什么问题?
- 流程路径预设:与搭建工作流没有什么区别
- 没有办法精细控制:框架给限定的很死,对每一步只能按照框架走,给开发者预留出的发挥空间太窄。
再来看LangGraph,它具体解决LangChain的什么问题?核心一个点:用“图代替链”的设计思想,加大了原子化设计,缩小对开发者的影响。
LangGraph有什么内容?
- 持久化
- 工具调用
- 结构化输出
- 图设置
- 多智能体调度
- ......
示例:langgraph.com.cn/agents/agen…
从结果上来看,它单元化能力增强,可以提取出多个子智能体,但是依旧是预设制,不能完成预期之外的工作。
只是解决了LangChain带来的部分问题,并没有从本质上解决问题。
二、ReAct思想
逻辑固定流程: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需要的内容有如下内容:
- 工具集成,如skills、MCP
- Loop: 主流程循环
- 上下文管理
- 记忆管理
- 多智能体协作
- 其它:如安全问题、环境问题、权限系统、状态关系、边界问题......
上述内容,每一块儿内容都需要拆开实践,可能会出现各种问题,解决这些问题才是落地的基石。
后续也会针对每块儿内容,进行学习应用。