Ce face Task Guardrails (validare cu funcții sau text) și human_input
Un guardrail validează ieșirea unui task înainte să treacă mai departe. Varianta cu funcție primește un TaskOutput și întoarce un tuplu: (True, rezultat) la succes sau (False, mesaj_de_eroare) la eșec. La eșec, eroarea se trimite înapoi agentului, iar task-ul se reia de cel mult guardrail_max_retries ori (implicit 3).
Dacă dai un text în loc de funcție, CrewAI creează un LLMGuardrail care folosește LLM-ul agentului ca să verifice ieșirea după descrierea ta. Pentru asta, task-ul trebuie să aibă un agent atribuit.
Parametrul guardrails primește o listă de funcții și texte, aplicate în ordine; fiecare primește ieșirea celui dinainte. Dacă setezi guardrails, guardrail este ignorat. Atributul vechi max_retries este învechit; folosește guardrail_max_retries.
Separat de guardrail-uri, human_input=True pe un task îi cere agentului să te întrebe înainte de răspunsul final, pentru context, clarificări sau validare.
Sintaxă și opțiuni
| Opțiune / Parametru | Descriere |
|---|---|
guardrail |
O funcție (TaskOutput) -> tuple[bool, Any] sau un text pentru un guardrail LLM. |
guardrails |
Listă de funcții și texte, aplicate secvențial. Are prioritate față de guardrail. |
guardrail_max_retries |
Numărul maxim de reîncercări la eșec (implicit 3). |
human_input |
Agentul cere intervenția ta înainte de răspunsul final (implicit False). |
callback |
Funcție apelată după finalizarea task-ului. |
Exemple practice
Exemplul 1: Guardrail LLM descris în text
task = Task(
description="Write a blog post about AI",
expected_output="A blog post under 200 words",
agent=blog_agent,
guardrail="The blog post must be under 200 words and contain no technical jargon",
)
Exemplul 2: Mai multe guardrail-uri în ordine
task = Task(
...,
guardrails=[valideaza_lungime, "Textul nu conține linkuri inventate", formateaza],
guardrail_max_retries=3,
)
Greșeli frecvente și bune practici
- Folosești încă
max_retriespe task. Este învechit; parametrul corect esteguardrail_max_retries. - Setezi și
guardrail, șiguardrails. Se aplică doarguardrails. - Scrii mesaje de eroare vagi. Agentul primește exact textul din tuplu, deci formulează-l ca pe o instrucțiune de corectare.
Întrebări & Exemple practice:
Task Guardrails (validare cu funcții sau text) și human_inputAi o întrebare despre Task Guardrails (validare cu funcții sau text) și human_input sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.