跳转到内容

人机协作(HITL)工作流

人机协作(HITL)是一种强大的方法,它将人工智能与人类专业判断结合起来,以增强决策并改善任务结果。CrewAI 提供了多种实现 HITL 的方式,具体取决于你的需求。

CrewAI 提供了两种主要方法来实现人机协作工作流:

方法最适合集成方式版本
基于 Flow@human_feedback 装饰器)本地开发、基于控制台的审阅、同步工作流Flow 中的人类反馈1.8.0+
基于 Webhook(企业版)生产部署、异步工作流、外部集成(Slack、Teams 等)本指南-
  1. 配置你的任务

    启用人类输入来设置任务:

    Crew Human Input
  2. 提供 Webhook URL

    启动 crew 时,为人类输入指定一个 webhook URL:

    Crew Webhook URL

    使用 Bearer 认证的示例:

    Terminal window
    curl -X POST {BASE_URL}/kickoff \
    -H "Authorization: Bearer YOUR_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
    "inputs": {
    "topic": "AI Research"
    },
    "humanInputWebhook": {
    "url": "https://your-webhook.com/hitl",
    "authentication": {
    "strategy": "bearer",
    "token": "your-webhook-secret-token"
    }
    }
    }'

    或者使用 Basic 认证:

    Terminal window
    curl -X POST {BASE_URL}/kickoff \
    -H "Authorization: Bearer YOUR_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
    "inputs": {
    "topic": "AI Research"
    },
    "humanInputWebhook": {
    "url": "https://your-webhook.com/hitl",
    "authentication": {
    "strategy": "basic",
    "username": "your-username",
    "password": "your-password"
    }
    }
    }'
  3. 接收 Webhook 通知

    当 crew 完成需要人类输入的任务后,你会收到一条 webhook 通知,其中包含:

    • 执行 ID
    • 任务 ID
    • 任务输出
  4. 审阅任务输出

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

  5. 提交人类反馈

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

    Crew Resume Endpoint

    带 webhook 的恢复调用示例:

    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 工作流在以下场景中尤其有价值:

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