LangChain DeepAgents create_deep_agent 参数说明
按官方文档和 Python API Reference 来看,deepagents 本质上是 LangChain/LangGraph 上的一层 “agent harness”:它把长任务里最常见的几件事预组装好了,包括规划、文件系统、子代理、长上下文压缩,以及可选的人类审批、技能和记忆。
create_deep_agent() 返回的是一个 CompiledStateGraph,所以后续你仍然可以按 LangGraph 的方式去 invoke、stream、astream。
完整签名
注意一点:官方 Customization 页面只展示了“核心参数”的简化签名,完整参数要以 API Reference 为准。
create_deep_agent(
model: str | BaseChatModel | None = None,
tools: Sequence[BaseTool | Callable | dict[str, Any]] | None = None,
*,
system_prompt: str | SystemMessage | None = None,
middleware: Sequence[AgentMiddleware] = (),
subagents: list[SubAgent | CompiledSubAgent] | None = None,
skills: list[str] | None = None,
memory: list[str] | None = None,
response_format: ResponseFormat | None = None,
context_schema: type[Any] | None = None,
checkpointer: Checkpointer | None = None,
store: BaseStore | None = None,
backend: BackendProtocol | BackendFactory | None = None,
interrupt_on: dict[str, bool | InterruptOnConfig] | None = None,
debug: bool = False,
name: str | None = None,
cache: BaseCache | None = None
) -> CompiledStateGraph
参数逐项说明
model
主模型。可以传字符串,比如 openai:gpt-5,也可以传 LangChain 的模型实例。默认是 claude-sonnet-4-6。
tools
你额外提供给 agent 的工具。它是在 deepagents 内建工具之外追加的,不是替换。
system_prompt
你的业务提示词。会拼接到 deepagents 自带系统提示前后体系里,而不是完全覆盖底层提示。
middleware
追加中间件。标准栈本身已经有 Todo、Filesystem、SubAgent、Summarization、Anthropic prompt caching、PatchToolCalls 等。
subagents
子代理配置。主 agent 通过内建 task 工具把子任务委派出去,适合做上下文隔离和专长拆分。
skills
技能目录或路径列表。技能是懒加载的,不会一开始全塞进 prompt。路径用 POSIX 风格,并且相对 backend 根目录。
memory
AGENTS.md 这类记忆文件路径列表。启动时读入并注入系统提示,适合长期偏好、项目约定。
response_format
结构化输出 schema。开启后,结果会额外出现在 state 的 structured_response 里。
context_schema
官方说明很短,只写了 “The schema of the deep agent”。按 LangGraph 的用法推断,它是给 deep agent 扩展上下文/schema 用的,通常配合自定义 middleware 或状态扩展。
checkpointer
状态持久化组件。跨轮次保留 agent 状态时要用;做人类审批时基本也需要它。
store
持久存储对象。只有当你的 backend 依赖 StoreBackend 之类的持久存储时才需要。
backend
文件系统或执行后端。默认是 StateBackend;如果要真实磁盘、持久存储、沙箱执行,都在这里切换。
interrupt_on
定义哪些工具调用前要暂停,等待人工批准、编辑或拒绝。典型用于 write_file、edit_file、发邮件、删文件之类高风险操作。
debug
调试模式,底层透传给 create_agent。
name
agent 名称,底层透传给 create_agent。
cache
缓存对象,底层透传给 create_agent。
容易混淆但很关键的点
tools是“加法”,内建工具仍然存在。execute这个工具不是永远可用,只有backend实现了SandboxBackendProtocol才能真正执行命令。skills和memory都依赖 backend 里能找到对应文件;默认StateBackend下通常要在invoke(..., files={...})里先把文件喂进去。interrupt_on想稳定工作,实践上要配checkpointer。- 如果你只是想快速做一个 deep agent,最常配的其实就 4 个:
model、tools、system_prompt、backend。
评论
欢迎留下反馈,评论发布后会立即显示。