Tutorial 9: Human-in-the-Loop

为什么需要人工介入

在敏感操作、合规审核、创造性决策等场景下,需要在关键步骤暂停,由人确认、修改或批准后再继续执行。Eino 通过 Interrupt(中断)CheckPoint(检查点) 支持这类 Human-in-the-Loop 流程。

参考:Eino Human-in-the-Loop FrameworkDeepWiki Interrupt

中断与检查点

  • Interrupt:在图或 Agent 的某个节点执行后,不继续到下一节点,而是暂停并返回当前状态(及可选提示信息)给调用方。

  • CheckPoint:将当前执行状态(如对话历史、工具结果、图状态)持久化,以便:

    • 稍后从该点 恢复 执行;

    • 或供人工界面展示、编辑后再触发恢复。

这样,一次「运行」可以分成多段:运行 → 中断 → 人工处理 → 从检查点恢复 → 继续运行。

在 Agent 中的使用

  • ChatModelAgent 等可与 Runner 配合:在指定步骤(如「调用某工具之后」「生成最终回答之前」)注册中断。

  • Runner 执行到该步骤时触发 Interrupt,将 CheckPoint 保存;外部系统(如 Web 后端)可:

    • 读取状态并展示给用户;

    • 接收用户输入(确认/修改/驳回);

    • 调用恢复 API,传入 CheckPoint 与可选新输入,继续执行。

文档:Eino ADK: Interrupt & CheckPoint ManualInterrupt System Architecture

设计要点

  1. 中断点:明确哪些节点后需要人工介入(例如「发布前」「支付前」)。

  2. 状态暴露:CheckPoint 中保存的内容要足够「可展示、可编辑」,便于前端或审核界面使用。

  3. 恢复策略:恢复时是否允许修改消息、跳过某步、重试等,需与业务约定。

  4. 超时与取消:长时间未恢复的会话可超时关闭或取消,避免资源占用。

小结

  • Human-in-the-Loop 依赖 Interrupt(暂停)与 CheckPoint(持久化状态)。

  • Runner 与 Agent 在配置的中断点暂停并写入 CheckPoint;恢复时从 CheckPoint 继续。

  • 适合审核、确认、人工修正等需要「人参与决策」的流程。

下一节将介绍 生态与生产:eino-ext 集成、回调与可观测性。