跳转到主要内容
人在环路 (Human-in-the-Loop, HITL) 是一种强大的方法,它将人工智能与人类专业知识相结合,以增强决策能力并改善任务结果。本指南将向您展示如何在 CrewAI 中实现 HITL。

设置 HITL 工作流

1

配置您的任务

将您的任务设置为需要人类输入
Crew Human Input
2

提供 Webhook URL

在启动您的 crew 时,包含一个用于人类输入的 Webhook URL
Crew Webhook URL
使用 Bearer 身份验证的示例
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 身份验证
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

审查任务输出

系统将暂停在“等待人类输入”状态。请仔细审查任务输出。
5

提交人类反馈

使用以下信息调用您的 crew 的 resume 端点
Crew Resume Endpoint
关键:必须再次提供 Webhook URL:您必须在 resume 调用中提供与 kickoff 调用中相同的 Webhook URL(taskWebhookUrlstepWebhookUrlcrewWebhookUrl)。Webhook 配置不会从 kickoff 自动延续——它们必须明确包含在 resume 请求中,才能继续接收任务完成、agent 步骤和 crew 完成的通知。
带 webhooks 的 resume 调用示例
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 工作流在以下方面特别有价值:
  • 质量保证和验证
  • 复杂的决策场景
  • 敏感或高风险操作
  • 需要人类判断的创造性任务
  • 合规和监管审查