Agent学习打卡1——LangChainLangGraph入门

Agent学习打卡1------LangChainLangGraph入门

摘要

第一次接触Agent,都会从LangChain和LangGraph学起,先学他们的精髓,再说说他们的一些不足和如何改进,让我们开始吧!

LangChain

LangChain的核心是模块化设计,让开发者能轻松组合LLM调用、工具和记忆系统,构建复杂代理。其精髓包括:

  1. 链(Chains):将多个LLM调用或工具连接起来,形成可重用的工作流。例如,一个问答链可能先检索文档,再生成答案。
  2. 代理(Agents):代理是智能实体,能根据输入动态选择工具。精髓在于其决策能力:代理使用LLM作为"大脑",评估上下文并调用外部API或函数。例如,一个数学代理能解析问题并调用计算工具。
  3. 记忆(Memory):支持短期或长期记忆存储,让代理在对话中保持上下文连贯。
  4. 提示工程(Prompt Engineering):通过模板化提示,优化LLM输出。精髓是灵活性:开发者可定制提示以适应不同任务。
  5. 简单示例:
python 复制代码
from langchain.agents import load_tools, initialize_agent
from langchain.llms import OpenAI

llm = OpenAI(api_key="your_api_key")  # 初始化LLM
tools = load_tools(["llm-math"], llm=llm)  # 加载数学工具
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)  # 创建代理
response = agent.run("计算圆的面积,如果半径是5。公式是 $A = \pi r^2$")  # 运行代理,使用行内数学公式
print(response)
 

LangGraph的精髓

LangGraph是LangChain的扩展,用于构建有状态、多步骤的工作流。其精髓在于图结构(Graph-based)设计:

  1. 状态机(State Machines):将代理行为建模为节点(Nodes)和边(Edges),每个节点代表一个动作(如调用LLM或工具),边定义状态转移。精髓是处理复杂、循环的任务,比如多轮对话或迭代优化。
  2. 并发与协调:支持并行执行多个代理或工具,提升效率。例如,在客服系统中,一个节点处理用户查询,另一个节点调用知识库。
  3. 错误处理和恢复:内置机制处理失败,如重试或分支跳转,确保鲁棒性。

不足

  1. 抽象过度:LangChain的层层封装有时掩盖底层细节,调试困难。错误信息不友好,开发者需深入源码定位问题。
  2. 结果不准:对一些PDF的图象和表格的生态支持不是特别好,这时候需要去做另外的支持。
  3. 记忆管理局限:长期记忆实现(如向量数据库)可能不稳定,在多轮对话中易丢失上下文。
  4. 性能开销:代理的决策过程依赖多次LLM调用,可能导致延迟和高成本。例如,一个简单查询可能触发多个工具调用,影响响应时间。

参考链接

相关推荐
你是一个铁憨憨15 小时前
从 GIS 到 Spatial Agent:MCP 如何重新定义 GIS 的 AI 入口
arcgis·ai·agent·mcp·spatial
星野云联AIoT技术洞察15 小时前
Dify 适合什么 AI 应用项目:Workflow、RAG、Agent 与自研系统的边界
agent·workflow·llmops·dify·rag·ai agent·ai应用开发
闲猫20 小时前
LangGraph / Capabilities / Fault tolerance
python·agent·langgraph
ryan_99620 小时前
一次讲清 A2A 协议与 MCP 边界:从 Agent Card 到 Task 生命周期
agent·mcp·a2a·json-rpc·agent通信
安逸sgr20 小时前
AI 应用怎么评测?离线评测、人工评估和线上反馈如何结合?
人工智能·ai·大模型·agent·智能体
demo007x1 天前
DSH harness 中的上下文管理探秘
程序员·agent·deepseek
MicrosoftReactor1 天前
技术速递|GitHub Copilot App 入门指南:管理你的工作
ai·github·copilot·agent
七夜zippoe1 天前
OpenClaw 边缘部署实战:IoT 场景下的轻量级 Agent 集群与离线自治
agent·集群·lot·轻量级·边缘部署·openclaw
深念Y1 天前
为什么选 MiniClaude:一个精简开源替代方案的选型过程
ai·开源·开源软件·agent·claude·workflow·claudecode
云烟成雨TD1 天前
LlamaIndex 系列【3】上下文增强驱动的 LLM 应用开发框架
ai·agent·rag·llamaindex