系列:100 天系统学习 AI Agent 开发
当前阶段:LangChain 与 LangGraph 工程化
今日目标:人工介入可以在写文件、发邮件、执行 SQL、付款等敏感动作前暂停 Agent。

1. 为什么今天必须学

进入「LangChain 与 LangGraph 工程化」之后,我明显感觉 Agent 开发不只是 Prompt 技巧了。人工介入可以在写文件、发邮件、执行 SQL、付款等敏感动作前暂停 Agent。 这件事越早建模,后面流程越不容易散。

2. 关键知识点

  • 状态:把任务进度、用户上下文、工具结果和错误信息显式保存。
  • 节点:每个节点只处理一个清晰步骤,便于调试和替换。
  • 路由:用条件边或规则决定下一步,关键路径不要完全交给模型猜。

3. 任务卡

今天的主任务是:列出你的 Agent 中需要审批的动作,并写 approve/reject/edit 三种处理方式。

我会按这个节奏做:

  1. 先画状态,再写节点,最后补路由条件。
  2. 完成主题任务:列出你的 Agent 中需要审批的动作,并写 approve/reject/edit 三种处理方式。
  3. 检查每个节点的输入、输出、失败处理和是否需要 checkpoint。

4. 表格或代码

今天可以留下一个最小状态图,先把流程跑顺:

用户输入

解析任务

状态是否完整

调用工具或生成结果

追问补充信息

记录状态和输出

5. 我的理解

今天复盘「Human-in-the-loop」时,我不想只问“概念是否背下来了”,而是看它有没有进入我的工程习惯。

  1. 如果我明天忘了术语,只看今天的产物,是否还能复原思路?一个状态图、节点表或 checkpoint 草案 就是答案。
  2. 如果别人照着文章做,最可能卡在什么地方?我会提前标出:流程越写越像一堆 if else,状态藏在上下文里不可追踪。
  3. 如果把它放进真实 Agent,第一条验收规则应该是:每个节点都有输入、输出、失败处理和下一步路由。

面试官会追问:审批按钮怎样避免被重放?

暂停只是第一步。审批请求应绑定 run_id、action_digest、资源版本、发起人、过期时间和一次性 approval_token。恢复时重新校验权限与资源版本;如果订单内容已经变化,旧批准必须失效,不能拿“批准 100 元退款”的令牌去执行 1000 元退款。

approve、reject、edit 也不是三个字符串:

  • approve:按已展示参数执行,并记录审批人与摘要。
  • reject:终止该动作,允许 Agent 生成安全替代方案。
  • edit:产生新动作版本,重新预览并再次审批。

面试加分点是说明 human-in-the-loop 不等于“把责任甩给人”。界面必须让人看懂将要调用的工具、关键参数、影响范围与撤销能力。

今日检查清单

  • 文章开头 150 字内说清今天为什么值得学
  • 用今天的产物证明自己不是只读了资料:一个状态图、节点表或 checkpoint 草案
  • 画出今天流程里的节点、边和共享 state
  • 给每个节点写清输入、输出、失败时去哪
  • 标出哪一步需要 checkpoint 或人工确认
  • 给读者一个可收藏的表格、代码块或流程图
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐