mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-07-03 22:19:27 +00:00
* feat: adopt directory-based docs versioning with Edge channel Switch docs.crewai.com from navigation-only versioning (every version selector entry rendered the same docs/<lang>/* source files) to Mintlify's directory-based versioning so each version selector entry renders its own snapshot. Add an "Edge" channel under docs/edge/<lang>/* that always reflects main HEAD for unreleased work, eliminating pre-release leakage onto frozen release labels. External links to canonical /<lang>/* URLs are preserved via wildcard redirects that always land on the current default version. Layout: - docs/edge/<lang>/* rolling source (you edit here) - docs/edge/enterprise-api.*.yaml - docs/v<X.Y.Z>/<lang>/* frozen, immutable snapshots - docs/v<X.Y.Z>/enterprise-api.*.yaml - docs/images/ shared, append-only - docs/docs.json nav + redirects URLs follow the Mintlify-idiomatic shape: /edge/<lang>/<page> for Edge, /v<X.Y.Z>/<lang>/<page> for every frozen snapshot. The wildcard redirects /<lang>/:slug* -> /<default>/<lang>/:slug* keep stale links working, and every freeze rewrites them (plus all per-section/per-page redirects) so destinations always resolve to the current default without depending on a second redirect hop. Release flow integration (devtools release): - New module crewai_devtools.docs_versioning.freeze() materialises docs/v<X.Y.Z>/ from docs/edge/, rewrites openapi: refs inside the snapshot, inserts the version into every language block in docs.json, and refreshes all redirect destinations. - _update_docs_and_create_pr() in cli.py now calls that freeze during Phase 2 of devtools release. Edge changelogs are updated first (so the snapshot freeze picks them up), then the snapshot is staged alongside docs.json, branched as docs/freeze-v<X.Y.Z>, and the PR is titled [docs-freeze] docs: snapshot and changelog for v<X.Y.Z> — the title prefix the new CI guard reads. - The PR still gates tag, GitHub release, PyPI publish, and the enterprise release as before; no new PRs are added. - Pre-releases (1.X.YaN, 1.X.YbN, ...) skip the snapshot — they ride Edge — and the docs PR title omits the [docs-freeze] prefix. - docs_check (AI-generated docs scaffolding) writes to docs/edge/<lang>/* so newly-generated unreleased docs land in Edge and never accidentally touch a frozen snapshot. Migration scripts (one-shot): - scripts/docs/freeze_historical_versions.py reconstructs all 16 historical snapshots (v1.10.0 .. v1.14.7) from git tags via git archive | tar, rewriting openapi: MDX refs so each snapshot reads its own enterprise-api YAML rather than the live one. - scripts/docs/prefix_version_paths.py one-shot-migrates docs.json: rewrites every page path in 16 versioned blocks to point under docs/v<X.Y.Z>/, inserts a new Edge entry per language, tags v1.14.7 as Latest (default), prunes pages whose target file doesn't exist in the snapshot (e.g. docs/ar/ didn't exist before v1.12.0), and writes the wildcard + per-section redirects. - scripts/docs/freeze_current_edge.py is now a thin CLI wrapper around docs_versioning.freeze for manual one-off freezes (e.g. retroactively snapshotting a forgotten release). CI guards (.github/workflows/docs-snapshots.yml): - Frozen snapshots under docs/v[0-9]*/ are immutable; only PRs whose title contains [docs-freeze] (i.e. release-cut PRs generated by devtools release or the manual wrapper) may modify them. - Images under docs/images/ are append-only since snapshots share a single image directory. Deleting or renaming an image breaks every historical snapshot that still references it. Restored docs/images/crewai-otel-export.png from PR #3673; it was deleted in PR #4908 but v1.10.0 / v1.10.1 snapshots still reference it. Restoring instead of editing the snapshots preserves historical rendering fidelity and validates the new append-only rule retroactively. Tests: - lib/devtools/tests/test_docs_versioning.py covers the freeze: file copy, openapi rewrite, version insertion, default demotion, redirect upserts, per-section redirect rewriting, idempotency, and invalid inputs. Verified locally with mintlify broken-links: 0 broken links across the full site (Edge + 16 frozen versions, 4 locales). AGENTS.md (repo root) is the contributor guide for the new model; RELEASING.md is the release-cut runbook; README's Contribution section links to both. Co-authored-by: Cursor <cursoragent@cursor.com> * style: resolve linter issues --------- Co-authored-by: Cursor <cursoragent@cursor.com>
121 lines
6.1 KiB
Plaintext
121 lines
6.1 KiB
Plaintext
---
|
|
title: "Workflows Human-in-the-Loop (HITL)"
|
|
description: "Aprenda como implementar workflows Human-in-the-Loop na CrewAI para aprimorar a tomada de decisões"
|
|
icon: "user-check"
|
|
mode: "wide"
|
|
---
|
|
|
|
Human-in-the-Loop (HITL) é uma abordagem poderosa que combina a inteligência artificial com a experiência humana para aprimorar a tomada de decisões e melhorar os resultados das tarefas. CrewAI oferece várias maneiras de implementar HITL dependendo das suas necessidades.
|
|
|
|
## Escolhendo Sua Abordagem HITL
|
|
|
|
CrewAI oferece duas abordagens principais para implementar workflows human-in-the-loop:
|
|
|
|
| Abordagem | Melhor Para | Integração | Versão |
|
|
|----------|----------|-------------|---------|
|
|
| **Baseada em Flow** (decorador `@human_feedback`) | Desenvolvimento local, revisão via console, workflows síncronos | [Feedback Humano em Flows](/pt-BR/learn/human-feedback-in-flows) | **1.8.0+** |
|
|
| **Baseada em Webhook** (Enterprise) | Deployments em produção, workflows assíncronos, integrações externas (Slack, Teams, etc.) | Este guia | - |
|
|
|
|
<Tip>
|
|
Se você está construindo flows e deseja adicionar etapas de revisão humana com roteamento baseado em feedback, confira o guia [Feedback Humano em Flows](/pt-BR/learn/human-feedback-in-flows) para o decorador `@human_feedback`.
|
|
</Tip>
|
|
|
|
## Configurando Workflows HITL Baseados em Webhook
|
|
|
|
<Steps>
|
|
<Step title="Configure sua Tarefa">
|
|
Configure sua tarefa com a entrada humana habilitada:
|
|
<Frame>
|
|
<img src="/images/enterprise/crew-human-input.png" alt="Entrada Humana Crew" />
|
|
</Frame>
|
|
</Step>
|
|
|
|
<Step title="Forneça a URL do Webhook">
|
|
Ao iniciar seu crew, inclua uma URL de webhook para entrada humana:
|
|
<Frame>
|
|
<img src="/images/enterprise/crew-webhook-url.png" alt="URL do Webhook Crew" />
|
|
</Frame>
|
|
</Step>
|
|
|
|
<Step title="Receba Notificação do Webhook">
|
|
Assim que o crew concluir a tarefa que requer entrada humana, você receberá uma notificação de webhook contendo:
|
|
- Execution ID
|
|
- Task ID
|
|
- Task output
|
|
</Step>
|
|
|
|
<Step title="Revise o Resultado da Tarefa">
|
|
O sistema irá pausar no estado `Pending Human Input`. Revise cuidadosamente o resultado da tarefa.
|
|
</Step>
|
|
|
|
<Step title="Envie o Feedback Humano">
|
|
Chame o endpoint de retomada do seu crew com as seguintes informações:
|
|
<Frame>
|
|
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Endpoint de Retomada Crew" />
|
|
</Frame>
|
|
|
|
<Warning>
|
|
**Crítico: URLs de Webhook Devem Ser Fornecidas Novamente**:
|
|
Você **deve** fornecer as mesmas URLs de webhook (`taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`) na chamada de resume que você usou na chamada de kickoff. As configurações de webhook **NÃO** são automaticamente transferidas do kickoff - elas devem ser explicitamente incluídas na solicitação de resume para continuar recebendo notificações de conclusão de tarefa, etapas do agente e conclusão do crew.
|
|
</Warning>
|
|
|
|
Exemplo de chamada resume com webhooks:
|
|
```bash
|
|
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": "Ótimo trabalho! Por favor, adicione mais detalhes.",
|
|
"is_approve": true,
|
|
"taskWebhookUrl": "https://your-server.com/webhooks/task",
|
|
"stepWebhookUrl": "https://your-server.com/webhooks/step",
|
|
"crewWebhookUrl": "https://your-server.com/webhooks/crew"
|
|
}'
|
|
```
|
|
|
|
<Warning>
|
|
**Impacto do Feedback na Execução da Tarefa**:
|
|
É fundamental ter cuidado ao fornecer feedback, pois todo o conteúdo do feedback será incorporado como contexto adicional para execuções futuras da tarefa.
|
|
</Warning>
|
|
Isso significa:
|
|
- Todas as informações do seu feedback passam a fazer parte do contexto da tarefa.
|
|
- Detalhes irrelevantes podem influenciar negativamente.
|
|
- Feedback conciso e relevante ajuda a manter o foco e a eficiência da tarefa.
|
|
- Sempre revise seu feedback cuidadosamente antes de enviar para garantir que contenha apenas informações pertinentes que irão guiar positivamente a execução da tarefa.
|
|
</Step>
|
|
<Step title="Lidar com Feedback Negativo">
|
|
Se você fornecer um feedback negativo:
|
|
- O crew irá tentar novamente a tarefa com o contexto adicionado do seu feedback.
|
|
- Você receberá outra notificação de webhook para nova revisão.
|
|
- Repita os passos 4-6 até ficar satisfeito.
|
|
</Step>
|
|
|
|
<Step title="Continuação da Execução">
|
|
Quando você enviar um feedback positivo, a execução prosseguirá para as próximas etapas.
|
|
</Step>
|
|
</Steps>
|
|
|
|
## Melhores Práticas
|
|
|
|
- **Seja Específico**: Forneça feedback claro e acionável que trate diretamente da tarefa em questão
|
|
- **Mantenha-se Relevante**: Inclua apenas informações que ajudem a melhorar a execução da tarefa
|
|
- **Seja Ágil**: Responda rapidamente às solicitações HITL para evitar atrasos no fluxo
|
|
- **Reveja Cuidadosamente**: Verifique seu feedback antes de enviar para garantir a precisão
|
|
|
|
## Casos de Uso Comuns
|
|
|
|
Workflows HITL são particularmente valiosos para:
|
|
- Garantia de qualidade e validação
|
|
- Cenários de tomada de decisão complexa
|
|
- Operações sensíveis ou de alto risco
|
|
- Tarefas criativas que requerem julgamento humano
|
|
- Revisões de conformidade e regulamentação
|
|
|
|
## Recursos Enterprise
|
|
|
|
<Card title="Plataforma de Gerenciamento HITL para Flows" icon="users-gear" href="/pt-BR/enterprise/features/flow-hitl-management">
|
|
O CrewAI Enterprise oferece um sistema abrangente de gerenciamento HITL para Flows com revisão na plataforma, atribuição de respondentes, permissões, políticas de escalação, gerenciamento de SLA, roteamento dinâmico e análises completas. [Saiba mais →](/pt-BR/enterprise/features/flow-hitl-management)
|
|
</Card>
|