Descriere & Utilizare
În proiectele reale, scrierea unor stringuri lungi de role, goal, backstory și description direct în mijlocul codului Python devine greu de întreținut și de versionat.
De aceea, arhitectura standard generată de CrewAI separă complet prompturile (în fișierele declarative config/agents.yaml și config/tasks.yaml) de logica de cod (în fișierul crew.py).
Clasa Python este decorată cu @CrewBase, care încarcă automat fișierele YAML în self.agents_config și self.tasks_config. Metodele decorate cu @agent și @task sunt colectate automat în listele self.agents și self.tasks folosite în metoda @crew.
Cum să o reții ușor
💡 Exact ca separarea HTML/CSS de JavaScript în dezvoltarea web: textele și instrucțiunile stau curate în fișiere YAML ușor de editat, iar Python-ul se ocupă doar de conectarea uneltelor și a modelelor.
Opțiuni și parametri tehnici
@CrewBase: decorator de clasă care încarcă automatconfig/agents.yamlșiconfig/tasks.yaml.@agent: marchează o metodă care returnează un obiectAgent(config=self.agents_config["nume"], ...).@task: marchează o metodă care returnează unTask(config=self.tasks_config["nume"], ...).@before_kickoff / @after_kickoff: hook-uri pentru modificarea dicționaruluiinputsînainte de start sau post-procesarea rezultatului final.
Exemple practice și cazuri de utilizare
- Definirea agentului în
crew.pydin YAML:@agent def cercetator(self) -> Agent: return Agent(config=self.agents_config["cercetator"], tools=[SerperDevTool()]) - Asocierea agentului direct din
tasks.yaml: adaugă cheiaagent: cercetatorsub numele task-ului în YAML. - Pre-procesarea intrărilor cu
@before_kickoff: adaugă automat data curentă îninputs["data_azi"]înainte de pornirea echipei.
Sfaturi de configurare & capcane
În fișierele YAML, folosește întotdeauna indicatorul > (folded block scalar) după role:, goal: și description: pentru a putea scrie prompturi pe mai multe rânduri fără erori de parsare a ghilimelelor.
Comenzi și ghiduri înrudite
crewai-cli-commands: Resursă asociată din acest modul.crewai-agent-role-goal: Resursă asociată din acest modul.crewai-crew-kickoff: Resursă asociată din acest modul.