选型与生产
面试主线收尾:什么任务用哪个 agent、生产怎么部署。
create_deep_agent vs create_agent
| 维度 | create_agent | create_deep_agent |
|---|---|---|
| 定位 | 最小 harness | 一体化 harness |
| 内置能力 | 模型 + 工具循环 | 文件系统、子代理、skills、持久记忆 |
| 上下文管理 | 无(自己处理) | 内置(总结、卸载、委派) |
| 定制自由度 | 高(自己拼) | 高(部件可换) |
| 启动成本 | 低 | 略高(但默认能力省大量开发) |
| 适用 | 简单对话、单一工具集 | 长任务、多步骤、需要真实工作能力 |
选型规则:
- 简单问答、单工具、短任务 →
create_agent - 长时程任务、要读写文件、要委派、要跨会话记忆 →
create_deep_agent - 需要极致定制的编排 → 直接写 LangGraph
面试话术:先评估任务复杂度,再选 harness 层级。DeepAgents 不是“更高级”,是“更多默认”,代价是启动时的隐式行为需要理解。
生产部署
生产: Deployments 托管 + 可观测内置
生产三件套:
- 持久化:checkpointer/store 用生产后端(Postgres/Redis),或直接交给 LangSmith Deployments 托管
- 可观测:LangSmith 追踪每次调用、评估集回归测试、在线监控(延迟/成本/错误)
- 人工兜底:HITL 审批流(见人机协同篇)、降级策略、成本上限
Deployments 要点:托管服务自动处理持久化基础设施,不用手配;支持流式、版本管理、灰度。
上线 checklist
| 项目 | 检查 |
|---|---|
| 持久化 | checkpoint 生产后端、thread_id 管理 |
| 上下文 | 长任务摘要/卸载策略生效 |
| 记忆 | store 后端、用户可查删 |
| 评估 | 评测集覆盖核心场景、回归通过 |
| 可观测 | LangSmith 追踪、告警 |
| 安全 | 工具权限最小化、沙箱文件系统、注入防护(见 security-and-guardrails) |
面试追问
- 两个 create 函数怎么选? 短任务简单工具用 create_agent;长任务要文件/委派/记忆用 create_deep_agent;极致定制直接 LangGraph
- DeepAgents 的代价? 更多隐式默认行为,要理解才能用好;简单场景用它是杀鸡用牛刀
- 生产部署靠什么? LangSmith Deployments(托管 + 持久化自动管理)或自建(Postgres checkpoint + LangSmith 追踪)
- 上线前必查什么? 持久化、上下文策略、评估集、追踪、安全(工具权限/沙箱)
- 和 LangGraph 什么关系? 运行时一致(构建在其上),换 harness 不换基础设施