Intervention humaine pour CrewAI

L’intervention humaine pour les agents CrewAI, sur téléphone.

Remplacez human_input dans la console CrewAI par une approbation sur téléphone. Votre agent attend que votre utilisateur touche Approuver ou Refuser.

Ce que propose CrewAI

human_input=True sur une tâche

Avec human_input=True sur une tâche, l’équipe s’arrête après que l’agent a rédigé sa sortie, l’affiche et attend une saisie sur stdin. C’est utile pendant le développement : vous voyez le brouillon et pouvez le corriger avant que l’agent suivant le reprenne.

natif
task = Task(
    description="Draft the reply to the customer",
    agent=support_agent,
    human_input=True,   # blocks on input() at the terminal
)

Le point de blocage

  • La fonction lit stdin. Un conteneur, une tâche cron ou un worker de file d’attente n’en a pas : elle reste bloquée ou lève une erreur.
  • Elle arrête toute l’équipe et laisse les autres agents inactifs.
  • Le retour est une chaîne de texte transmise au modèle. Rien n’enregistre qu’une personne l’a examiné.
  • Seule la personne devant ce terminal peut répondre, jamais l’utilisateur concerné par l’action.

La solution

Pushary recueille la réponse de votre utilisateur.

human_input attend dans un terminal. Pushary envoie plutôt la question sur le téléphone de votre utilisateur, attend une approbation ou un refus et enregistre chaque réponse. Toute réponse autre qu’un oui indique à l’agent de ne pas continuer.

connect() renvoie le lien que votre utilisateur ouvre une fois. make_ask_human_tool fournit à l’agent un outil CrewAI prêt à l’emploi, lié à cet utilisateur : même manipulé par injection de prompt, le modèle ne peut pas interroger quelqu’un d’autre. L’agent l’appelle et attend la réponse. Un non, ou aucune réponse, signifie qu’il faut s’arrêter.

bash
pip install pushary-crewai
deux appels
from crewai import Agent, Task, Crew
from pushary_crewai import connect, make_ask_human_tool

# Once per user: show them this link.
link = connect("user_123")

agent = Agent(
    role="Ops",
    goal="Ship safely",
    backstory="Careful operator.",
    tools=[make_ask_human_tool("user_123")],  # asks this user only; no answer means no
)

Pour bloquer une action sensible, posez la question dans son propre code

L’agent choisit quand appeler make_ask_human_tool : l’outil reste donc facultatif. Une tâche qui dit « demander d’abord » ne bloque pas un remboursement. Appelez ask_human dans le code de l’action sensible et exécutez-la uniquement si approved vaut true.

dans l’action sensible
from pushary_crewai import ask_human

d = ask_human("Approve this refund?", external_id="user_123", type="confirm")
if d["approved"]:
    issue_refund()

Fonctionnement

De l’installation à la première réponse

Connectez votre utilisateur une seule fois. Exigez son approbation à l’étape sensible. Pushary envoie la question, attend la réponse et l’enregistre.

  1. 01

    Installez l’adaptateur

    Exécutez pip install pushary-crewai et placez votre clé API dans PUSHARY_API_KEY.

  2. 02

    Connectez votre utilisateur une seule fois

    connect() avec votre propre identifiant utilisateur renvoie un lien. Votre utilisateur l’ouvre une fois sur son téléphone et installe l’application Pushary gratuite. Sans compte ni paiement.

  3. 03

    Donnez l’outil à l’agent

    Ajoutez make_ask_human_tool(user_id) aux outils de l’agent et retirez human_input=True. Pour un remboursement ou une suppression, appelez ask_human dans le code de cette action.

  4. 04

    Agissez selon la réponse

    Seule une approbation explicite compte. Un non, une demande expirée ou l’absence de réponse indique à l’agent de ne pas continuer.

Une question peut demander un oui ou un non, un choix dans une liste ou une réponse écrite. Chaque réponse est enregistrée.

Avant la mise en production

Les pièges à éviter avec CrewAI

Cela fonctionne localement, puis bloque en production
C’est le sujet d’assistance CrewAI le plus fréquent. human_input=True fonctionne sur un portable, puis se bloque sans bruit dès que l’équipe s’exécute sans terminal associé. Si votre équipe ne produit plus de sortie depuis le déploiement, c’est généralement la raison.
Un lancement sur plusieurs entrées interroge pour chaque élément
kickoff_for_each avec une tâche human_input demande une réponse pour chaque élément, l’un après l’autre, dans le terminal. Dix entrées donnent dix invites auxquelles personne n’est là pour répondre.
Donner un avis n’est pas approuver
human_input transmet à l’agent un retour textuel à intégrer. Il n’empêche pas la tâche de se terminer. Si l’action ne doit pas s’exécuter sans un oui, il faut une réponse Approuver ou Refuser, avec un refus en l’absence de réponse.

L’offre Partner

Votre agent interroge vos utilisateurs, pas seulement vous

Proposez votre agent à vos utilisateurs. Chacun approuve ses actions sensibles depuis son téléphone, sous votre marque.

$99/ mois, tous les frameworks inclus
Start free

Vos utilisateurs ne créent jamais de compte Pushary et ne nous paient rien.

Vos utilisateurs répondent sur leur propre téléphone

Connectez chaque utilisateur une seule fois avec un lien. Il installe l’application Pushary gratuite et répond depuis l’écran verrouillé, sans créer de compte.

Sans réponse, c’est non

Exécutez l’action uniquement après une approbation explicite. Une demande en attente, expirée ou annulée ne vaut jamais un oui. Pushary conserve chaque demande : votre code peut la reprendre après un redémarrage.

Joignez-les sur leur téléphone

L’application passe en premier, car elle seule affiche Approuver et Refuser sur l’écran verrouillé. Les notifications du navigateur viennent ensuite. Vous n’avez aucun système d’envoi à construire.

Chaque réponse est enregistrée

Chaque réponse est enregistrée avec son auteur et sa date. Vous pouvez effectuer des recherches et exporter les réponses. Avec une URL de rappel, chaque réponse est aussi envoyée à votre serveur par webhook signé.

FAQ

Les réponses à vos questions

CrewAI intègre-t-il une intervention humaine ?
Oui, pour une personne devant le terminal. human_input=True sur une tâche utilise stdin, et les Flows disposent de @human_feedback. Pour joindre votre utilisateur sur son téléphone, utilisez make_ask_human_tool de pushary-crewai, ou son exemple Flow qui intègre Pushary à @human_feedback et reprend le Flow à l’arrivée de la réponse.
Existe-t-il un package Pushary pour CrewAI ?
Oui. pip install pushary-crewai fournit connect(), make_ask_human_tool(), un BaseTool CrewAI prêt à l’emploi lié à un utilisateur, et ask_human() pour votre propre code. Ajoutez l’outil pour poser des questions. Pour bloquer un remboursement, appelez ask_human() dans le code du remboursement.
Comment faire refuser par défaut une approbation CrewAI ?
C’est déjà le cas. make_ask_human_tool et ask_human ne considèrent qu’une approbation explicite comme un oui. Un non, une demande expirée ou l’absence de réponse renvoie un résultat non approuvé.
Chacun de mes utilisateurs finaux peut-il approuver sur son téléphone ?
Oui. Passez votre propre identifiant utilisateur à la création de l’outil. Chaque utilisateur installe l’application Pushary gratuite et ouvre votre lien de connexion une fois, sans compte Pushary. Ensuite, chacun répond pour ses propres actions, au lieu que toutes les demandes aillent à la personne qui a lancé l’équipe.
Que peut répondre une personne en dehors de oui et non ?
Un choix dans une liste ou une réponse écrite. Appelez ask_human() avec type="select" et des options, ou type="input". L’outil prêt à l’emploi pose une question oui/non ou demande du texte. Les choix et réponses écrites ouvrent l’application Pushary sur le téléphone. Traitez-les comme des données, jamais comme une autorisation d’agir.
Pourquoi human_input bloque-t-il quand mon équipe s’exécute en production ?
Parce qu’il lit stdin, et qu’il n’y a pas de terminal en production. Dans un conteneur, une tâche cron ou un worker de file d’attente, l’appel bloque indéfiniment ou lève une erreur. C’est la surprise CrewAI la plus courante après déploiement. Envoyez plutôt la question sur un téléphone : une absence de réponse devient un non, au lieu d’une attente sans fin.

Laissez votre agent CrewAI demander avant d’agir.

Connectez un utilisateur une seule fois, posez une question en un appel et exécutez l’action uniquement après un oui. Chaque réponse est enregistrée.

Start free

Offre Partner, $99 par mois. Vos utilisateurs ne créent jamais de compte Pushary et ne nous paient rien.