LangChain v1 Agent 学习路线

围绕 LangChain v1 的 create_agent、消息、工具、记忆、中间件和子 Agent 学习。

全部集合
阅读提示本站只展示学习文档。示例不会在构建或部署时执行;手动运行可能需要 API Key 并产生模型费用。
01

第 1 章:构造 `create_agent`

目标

02

第 1 章:Prompt 与消息模板

学习目标

03

第 2 章:LCEL 与 Runnable

学习目标

04

第 2 章:消息、Prompt、工具与结构化输出

消息协议

05

第 3 章:标准 Agent 与 Middleware

学习目标

06

第 3 章:短期记忆

短期记忆是同一对话 thread 的 Agent state 持久化,不是模型自己的记忆。给 createagent 传 checkpointer=InMemorySaver(),每次调用传相同 config={"configurable": {"threadid": "..."}},第二轮就会恢复第一轮写入的 mes

07

第 4 章:文档、切分、Embedding 与 Retriever

学习目标

08

第 4 章:长期记忆与 Store

长期记忆是跨 thread 的受控数据。Store 挂在编译 Agent 上,工具通过 ToolRuntime.store 读取;namespace 必须包含已认证用户 id,避免 A 用户读到 B 用户的偏好。

09

第 5 章:RAG 检索 Agent

学习目标

10

第 5 章:流式输出与观测

ainvoke 适合只要最终 state;astream 适合 UI 或实时日志;astreamevents(version="v2") 适合查看 Runnable/Agent 的嵌套生命周期。三者都执行真实工作,不要为了“流式”重复调用 Agent。

11

第 6 章:预制 Middleware

Middleware 在模型或工具节点前后执行,解决横切问题,不承担业务状态机。按顺序传入 middleware=[...];顺序会影响谁先观察和修改请求。

12

第 6 章:Runnable 观测与生产边界

学习目标

13

第 7 章:自定义 `AgentMiddleware`

只在预制 middleware 无法表达需求时自定义。常用钩子:beforeagent/afteragent 观察整次运行,beforemodel/aftermodel 修改或检查 state,wrapmodelcall 动态选择模型,wraptoolcall 拦截单次工具。

14

第 8 章:人在回路(HITL)

对有外部副作用的工具使用 HumanInTheLoopMiddleware。它在模型提出匹配工具调用后生成 LangGraph interrupt;调用方展示 action,再以 Command(resume={"decisions": [...]}) 恢复。必须配 checkpointer,否则没有可恢复状态。

15

第 9 章:Context engineering

Context engineering 是把有限、可信、任务相关的信息在正确时机交给模型,不是把所有数据拼进 system prompt。一个可审查顺序是:稳定规则 最近消息 已验证工具结果 当前任务所需的最小长期记忆 模型调用。

16

第 10 章:子 Agent 与结构化交接

子 Agent 的目的不是把任何函数都拆成 Agent,而是隔离专业工具、上下文和失败边界。父 Agent 只传任务契约,子 Agent 只返结果契约,禁止把完整父对话、认证信息或所有 Store 内容直接转发。

17

第 11 章:综合 Agent

[16integratedagent.py](examples/16integratedagent.py) 组合标准 Agent 的必要部件: