跳转到内容

HITL 工作流

Human-In-The-Loop(HITL)是一种强大的方法,它将人工智能与人工专业知识结合起来,以增强决策并改善任务结果。本指南将展示如何在 CrewAI Enterprise 中实现 HITL。

CrewAI 提供两种实现 human-in-the-loop 工作流的方法:

方法最适合版本
基于 Flow@human_feedback 装饰器)带 Enterprise UI 的生产环境、邮件优先工作流、完整平台功能1.8.0+
基于 Webhook自定义集成、外部系统(Slack、Teams 等)、旧有配置所有版本

使用 Enterprise 平台的基于 Flow 的 HITL

Section titled “使用 Enterprise 平台的基于 Flow 的 HITL”

在 Flow 中使用 @human_feedback 装饰器时,CrewAI Enterprise 会提供一个邮件优先的 HITL 系统,让任何拥有电子邮件地址的人都可以回复审查请求:

邮件优先设计

回复者会收到电子邮件通知,并可直接回复,无需登录。

仪表板审查

如有需要,可在 Enterprise 仪表板中审查并响应 HITL 请求。

灵活路由

可以根据方法模式将请求路由到特定邮箱,或者从 flow state 中提取邮箱。

自动响应

当在超时时间内没有人工回复时,可以配置自动回退响应。

  • 外部回复者:任何有电子邮件的人都可以回复,即使不是平台用户
  • 动态分配:可从 flow state 中提取指派邮箱,例如 account_owner_email
  • 配置简单:基于电子邮件的路由比用户/角色管理更容易设置
  • 部署创建者兜底:如果没有匹配的路由规则,则通知部署创建者

对于与 Slack、Microsoft Teams 或你自己的应用等外部系统的自定义集成,你可以使用基于 webhook 的方式:

  1. 配置你的任务

    为任务启用人工输入:

    Crew Human Input
  2. 提供 Webhook URL

    启动 crew 时,包含用于人工输入的 webhook URL:

    Crew Webhook URL
  3. 接收 Webhook 通知

    一旦 crew 完成需要人工输入的任务,你会收到包含以下信息的 webhook 通知:

    • Execution ID
    • Task ID
    • Task output
  4. 审查任务输出

    系统会暂停在 Pending Human Input 状态。请仔细审查任务输出。

  5. 提交人工反馈

    使用以下信息调用 crew 的 resume 端点:

    Crew Resume Endpoint

    带 webhook 的 resume 调用示例:

    Terminal window
    curl -X POST {BASE_URL}/resume \
    -H "Authorization: Bearer YOUR_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
    "execution_id": "abcd1234-5678-90ef-ghij-klmnopqrstuv",
    "task_id": "research_task",
    "human_feedback": "Great work! Please add more details.",
    "is_approve": true,
    "taskWebhookUrl": "https://your-server.com/webhooks/task",
    "stepWebhookUrl": "https://your-server.com/webhooks/step",
    "crewWebhookUrl": "https://your-server.com/webhooks/crew"
    }'

    这意味着:

    • 你的反馈中的所有信息都会成为任务上下文的一部分。
    • 无关细节可能会对其产生负面影响。
    • 简洁且相关的反馈有助于保持任务聚焦并提高效率。
    • 在提交前务必仔细检查反馈,确保只包含能正向指导任务执行的相关信息。
  6. 处理负面反馈

    如果你提供负面反馈:

    • crew 会结合你的反馈中的新上下文重试任务。
    • 你会收到另一条 webhook 通知以便进一步审查。
    • 重复第 4-6 步,直到满意为止。
  7. 继续执行

    当你提交正面反馈后,执行会继续进入下一步。

  • 保持具体:提供清晰、可执行的反馈,直接针对当前任务
  • 保持相关:只包含有助于改进任务执行的信息
  • 及时响应:尽快回复 HITL 提示,避免工作流延迟
  • 仔细审查:提交前仔细检查反馈,确保准确

HITL 工作流尤其适用于:

  • 质量保证与验证
  • 复杂决策场景
  • 敏感或高风险操作
  • 需要人工判断的创意任务
  • 合规与监管审查