用途:该技能用于回答涉及 LangChain 产品的编码问题,覆盖智能体开发模式、核心原语,以及从基础到进阶的上下文管理,目标是构建生产级智能体。
主要能力:
- 工具选型指引:简单工具调用智能体用 create_agent;需要规划、文件系统与子智能体时用 create_deep_agent;需要自定义控制流、多智能体或高级上下文时用 LangGraph。资料强调旧版辅助函数(如 create_sql_agent、create_tool_calling_agent、create_react_agent)已过时,应使用现代抽象。
- 核心原语:给出 create_agent 的用法示例(模型、工具、system_prompt、invoke),以及用 StateGraph、ToolNode 从零搭建基础 ReAct 循环(agent → tools → agent → END)。自定义工具执行时必须为每个工具调用生成 ToolMessage,且 tool_call_id 必须匹配。
- 路由与人工介入:用 Command 同时更新状态与跳转,用 interrupt 暂停并可通过 graph.invoke(Command(resume=...), config) 恢复。
- 上下文管理策略:子智能体委派(只回传摘要)、文件系统上下文(传路径而非全文)、渐进式消息裁剪(保留系统消息与近期对话,可按 token 裁剪)、摘要压缩(用 override reducer 替换旧消息)、分层状态(工作记忆与长期记忆分离,配合 BaseStore)、动态子智能体上下文隔离(按相关性筛选消息)。
- 多智能体模式:带上下文预算的 supervisor 协调、并行子智能体与结果综合。
- 实践模式:MemorySaver 与 InMemoryStore 实现持久化(thread_id 维持会话连续性)、with_structured_output 保证结构化输出、中间件处理日志等横切关注点。
使用方式:资料以代码示例展示各模式,需按项目实际替换模型、工具与状态定义。
适用场景:SQL 智能体、搜索智能体、问答机器人、工具调用工作流、研究型智能体与多步规划。
限制:资料建议从简单 ReAct 循环起步,仅在确有需要时增加多智能体与高级上下文管理复杂度;未提供收费、价格、平台支持等信息。