– Acest curs vă va învăța ce sunt agenții AI, cum să construiți singur un agent AI și sisteme multi-agent AI complete.
Capitolul 1: Fundamente Teoretice
1.1 Ce este un Agent AI?
Inteligența Artificială Generativă (IA Generativă)
- Când folosiți ChatGPT, în spatele scenei aveți un LLM (Large Language Model – Model Lingvistic de Mari Dimensiuni)
- LLM-ul poate fi GPT, Claude, Gemini sau alte modele similare
- Când puneți o întrebare, acesta generează un răspuns bazat pe cunoștințele pre-antrenate
- Limitare: Are un „knowledge cutoff” (dată limită a cunoștințelor) – nu cunoaște evenimente după acea dată
Exemplu de limitare:
- Dacă întrebați: „Care este prețul zborului Emirates de la A la B mâine?”, nu va putea răspunde
- Motivul: Nu are acces la informații în timp real
Agent AI – Soluția Un Agent AI este un program care:
- Primește input-uri
- Gândește despre ele
- Acționează pentru a completa o sarcină
- Folosește instrumente (tools), memorie și cunoștințe
- Este autonom (ia decizii și acțiuni singur)
Exemplu practic de Agent AI:
Cerere: „Rezervă-mi cel mai ieftin zbor de la New York la Delhi”
Procesul agentului:
- Accesează API-ul Expedia (instrumentul său)
- Caută zboruri disponibile
- Compară prețurile (5 opțiuni găsite)
- Decide autonom care este cel mai ieftin
- Rezervă zborul (acțiune autonomă)
- Confirmă: „Zbor rezervat”
Caracteristici cheie:
- Autonom: ia decizii fără a vă întreba
- Narrow task: se concentrează pe sarcini specifice
- Folosește instrumente: API-uri externe (Expedia, în acest caz)
1.2 Agenți AI Avansați cu Multiple Instrumente
Exemplu complex: Cerere: „Rezervă-mi un zbor pentru o călătorie de 7 zile în New Delhi în mai. Îmi place vremea însorită, bugetul este X, fără escală.”
Agentul va:
- Accesa API-ul meteorologic (AccuWeather, Weather.com)
- Găsi 7 zile consecutive cu vreme însorită în mai
- Accesa API-ul Expedia pentru zboruri
- Compara avioanele pentru acele date
- Găsi un zbor în bugetul specificat
- Sugera hotel și taxi de la aeroport
Acest agent demonstrează:
- Acces la multiple instrumente
- Raționament multi-pas
- Planificare complexă
1.3 Ce este Inteligența Artificială Agentică (Agentic AI)?
Definiție: Agentic AI este un sistem în care unul sau mai mulți agenți AI lucrează autonom, adesea pe sarcini lungi. Aceștia:
- Pot apela LLM-ul de multiple ori
- Iau decizii folosind instrumente
- Pot apela chiar și alți agenți
- Lucrează pentru a atinge un obiectiv complex
Exemplu de sistem multi-agent:
Agent – Sistem de rezervare călătorie:
- Agent de rezervare zboruri – rezervă biletul
- Agent de imigrare – verifică documentele (pașaport, viză)
- Conectat la OneDrive pentru acces la documente
- Verifică dacă aveți nevoie de viză
- Vă avertizează: „Aveți nevoie de viză înainte de a rezerva zborul”
Caracteristici sistem multi-agent:
- Raționament multi-pas
- Abordare multi-turn (apeluri multiple ale agenților)
- Planificare multi-pas
- Lucrează autonom pe obiective complexe
1.4 Când să folosiți CrewAI* vs alte framework-uri
Comparație framework-uri:
*CrewAI este unul dintre cele mai importante framework-uri de inteligență artificială agentică (agentic AI), folosit de companii de top precum Oracle, Deloitte și Accenture. Acest curs vă va învăța cum să construiți agenți AI și sisteme multi-agent complete.
CrewAI este perfect pentru: Sisteme multi-agent AI cu roluri clare și flux de lucru secvențial.
Capitolul 2: Configurarea Mediului de Lucru
2.1 Instalarea PyCharm
Pași:
- Accesați website-ul PyCharm
- Descărcați versiunea Community (gratuită permanent)
- Bonusul include 1 lună PyCharm Pro
- Instalați folosind pașii standard
De ce PyCharm?
- Editor de cod profesional
- Suport excelent pentru Python
- Debugger integrat
- Gestionare facilă a mediilor virtuale
2.2 Instalarea UV Package Manager
Ce este UV?
- Alternativă la pip (gestionarul standard de pachete Python)
- Mult mai rapid (construit în Rust)
- Gestionare superioară a dependințelor
2.3 Obținerea cheii API Google Gemini
Pași detaliați:
- Căutați în Google: „get Gemini API key”
- Accesați: Google AI Studio
- Click pe: „Get API key”
- Creați un proiect Google Cloud:
- Accesați Google Cloud Console
- Click pe „Create Project”
- Denumiți proiectul (ex: „CrewAI-Tutorial”)
- Poate solicita detalii de facturare (nu veți fi taxat inițial)
- Google oferă credite gratuite pentru început
- Generați cheia API:
- Selectați proiectul creat
- Click pe „Create API key”
- Copiați și salvați cheia – o veți folosi în cod
Notă importantă: Păstrați cheia API în siguranță! Nu o partajați niciodată public.
2.4 Configurarea Proiectului
Ce face această comandă?
- Instalează pachetul
crewai-tools
- Rezolvă automat toate dependințele
- Actualizează fișierul
pyproject.toml
- Foarte rapid datorită implementării în Rust
Pasul 3: Deschiderea în PyCharm
- Deschideți PyCharm
- File → Open
- Selectați folderul
crewai-tutorial
- Click pe „Open in New Window”
Pasul 4: Configurarea interpretului Python
PyCharm trebuie să știe care versiune Python să folosească:
- Așteptați finalizarea indexării proiectului
- Mergeți la: File → Settings (sau Ctrl+Alt+S)
- Căutați: „Python Interpreter”
- Verificați că interpretorul selectat este:
venv\Scripts\python.exe
- Dacă nu este corect:
- Click pe „Add Interpreter”
- Selectați „Existing Environment”
- Navigați la:
crewai-tutorial\venv\Scripts\python.exe
Structura proiectului:
crewai-tutorial/
├── venv/ # Mediu virtual Python
├── pyproject.toml # Configurare proiect și dependințe
├── uv.lock # Lock file pentru dependințe
└── README.md # Documentație
2.5 Configurarea fișierului .env
Pasul 1: Crearea fișierului
- Click dreapta pe folderul proiectului în PyCharm
- New → File
- Denumiți:
.env
(cu punct la început!)
Pasul 2: Adăugarea cheii API
GEMINI_API_KEY=voastra-cheie-api-aici
De ce .env?
- Păstrează datele sensibile separate de cod
- Nu se încarcă pe GitHub (dacă adăugați în .gitignore)
- Ușor de modificat fără a schimba codul
Capitolul 3: Primul Agent AI – Asistent Email
3.1 Crearea Jupyter Notebook
Pași:
- Click dreapta pe folderul proiectului
- New → Jupyter Notebook
- Denumiți:
email_agent.ipynb
De ce Jupyter Notebook?
- Permite executarea codului pas cu pas
- Vizualizare imediată a rezultatelor
- Perfect pentru învățare și experimentare
3.2 Încărcarea variabilelor de mediu
Cod:
Executare:
- Click pe celulă
- Apăsați Shift+Enter (sau Ctrl+Enter)
Ce face acest cod?
- Importă funcția
load_dotenv
din pachetulpython-dotenv
- Citește fișierul
.env
- Încarcă toate variabilele în mediul de lucru
- Acum
GEMINI_API_KEY
este accesibil programului
3.3 Testarea conexiunii la LLM
Cod:
Parametri explicați:
model:
gemini/gemini-1.5-flash
= Model Google Gemini rapid și eficient- Alte opțiuni:
gpt-4
,claude-3
, etc.
temperature (0.0 – 1.0):
- 0.0 = răspunsuri foarte predictibile și concentrate
- 0.5 = echilibru între creativitate și precizie
- 1.0 = răspunsuri foarte creative și diverse
Așteptare:
- Prima apelare poate dura 20-30 secunde
- Apelările următoare sunt mai rapide
- Dacă primiți un răspuns, configurarea este corectă!
3.4 Construirea primului agent
Cod complet:
Componentele unui Agent – explicații detaliate:
1. role (Rolul):
- Definește identitatea agentului
- Trebuie să fie specific și clar
- Exemple bune: „Expert în comunicare”, „Analist de date senior”
- Exemple slabe: „Ajutor”, „Asistent general”
2. goal (Obiectivul):
- Ce trebuie să realizeze agentul
- Trebuie să fie măsurabil dacă este posibil
- Exemple: „Să îmbunătățească claritatea email-urilor”, „Să analizeze date financiare”
3. backstory (Povestea de fundal):
- Context despre expertiza agentului
- Crește calitatea răspunsurilor prin „role-playing”
- Cu cât este mai detaliată, cu atât mai bine
- Prompt engineering esențial: LLM-ul „intră în rol” bazat pe acest text
4. verbose:
True
= afișează pașii intermediariFalse
= afișează doar rezultatul final- Recomandare pentru învățare: folosiți
True
5. llm:
- Specifică ce model lingvistic să folosească
- Poate fi diferit pentru fiecare agent dintr-un crew
3.5 Definirea sarcinii (Task)
Email de test (neprofesional):
Probleme cu acest email:
- Totul cu litere mici
- Abrevieri (wip = work in progress)
- Ton prea casual pentru clienți
- Lipsă de structură profesională
Crearea sarcinii:
Componentele unui Task:
1. description:
- Instrucțiuni detaliate pentru agent
- Poate include exemple
- Folosiți f-strings pentru date dinamice
2. expected_output:
- Descrie formatul răspunsului dorit
- Poate specifica JSON, tabel, text, etc.
- Ajută agentul să structureze răspunsul
3. agent:
- Care agent va executa sarcina
- Puteți avea multiple task-uri pentru același agent
3.6 Crearea și executarea Crew-ului
Cod:
Ce se întâmplă când rulați:
- Crew-ul pornește: inițializează agenții
- Agentul primește sarcina: citește instrucțiunile
- Procesare: LLM-ul analizează email-ul
- Generare: creează versiunea profesională
- Output: afișează rezultatul final
Exemplu de output:
Bună ziua echipă,
Vă scriu pentru a vă informa că actualizarea proiectului este finalizată și pregătită pentru revizuire.
În prezent, lucrez la completarea dashboard-ului, care este în curs de realizare (work in progress). Estimez că va fi finalizat în curând.
Vă rog să nu ezitați să mă contactați dacă aveți întrebări sau aveți nevoie de clarificări suplimentare.
Cu stimă,
[Numele dvs.]
Observații:
- Tonul este profesional
- „wip” a fost expandat la „work in progress”
- Structură clară cu paragafe
- Salut și încheiere formale
Capitolul 4: Adăugarea Instrumentelor Personalizate (Custom Tools)
4.1 Problema: Jargon specific companiei
Scenariul: Lucrați la o companie numită „Atlique Technologies”. Echipa folosește abrevieri specifice:
- TAS = Technical Architecture Stack
- PRX = Project Phoenix
- DBX = Database Extension
- DAC = Data Analysis Component
Email problematic:
Problema:
- LLM-ul public nu cunoaște aceste abrevieri private
- Este antrenat pe date de pe internet, nu pe datele companiei dvs.
- Trebuie să-i furnizăm un „dicționar” personalizat
4.2 Crearea unui instrument personalizat
Pasul 3: Definirea instrumentului personalizat
Celula 3: Instrument pentru replacerea jargonului
class ReplaceJargonTool(BaseTool):
„””Instrument care înlocuiește jargonul specific companiei”””
name: str = "Instrument Expansiune Jargon"
description: str = """
Înlocuiește jargonul și abrevierile specifice companiei
cu explicații complete. Folosește acest instrument când
întâlnești abrevieri nerecunoscute în email-uri.
"""
def _run(self, email_body: str) -> str:
"""
Funcția principală care procesează email-ul
Args:
email_body: Textul email-ului de procesat
Returns:
Text cu sugestii de înlocuire pentru jargon
"""
# Dicționar cu jargonul companiei
jargon_dict = {
"tas": "Technical Architecture Stack (TAS)",
"prx": "Project Phoenix (PRX)",
"dbx": "Database Extension (DBX)",
"dac": "Data Analysis Component (DAC)",
"eta": "Estimated Time of Arrival (ETA)"
}
# Procesare: găsește și sugerează înlocuiri
suggestions = []
email_lower = email_body.lower()
for abbrev, full_form in jargon_dict.items():
if abbrev in email_lower:
suggestions.append(
f"Consideră înlocuirea '{abbrev.upper()}' cu '{full_form}'"
)
# Returnează sugestiile
if suggestions:
return "Sugestii de expansiune:\n" + "\n".join(suggestions)
else:
return "Nu s-a găsit jargon de înlocuit."
Anatomia unui instrument personalizat:
1. Moștenire de la BaseTool:
- Toate instrumentele trebuie să moștenească
BaseTool
- Acesta oferă funcționalitatea de bază
2. Atribute obligatorii:
name:
- Numele instrumentului (vizibil pentru agent)
- Trebuie să fie descriptiv
description:
- Explică ce face instrumentul
- Foarte important: LLM-ul decide când să folosească instrumentul bazat pe această descriere
- Cu cât este mai clară, cu atât mai bine
3. Funcția _run():
- Obligatorie – funcția principală executată
- Primește parametri (aici:
email_body
) - Returnează rezultatul (str)
4. Type hints:
- Specifică tipul input-ului (str)
- Specifică tipul output-ului (→ str)
- Ajută la validare și debugging
4.3 Testarea instrumentului
De ce testăm separat?
- Verificăm că instrumentul funcționează corect
- Debugging mai ușor
- Nu pierdem timp executând tot crew-ul pentru debugging
4.4 Integrarea instrumentului în agent
Cod:
Celula 5: Agent cu instrument
email_assistant = Agent(
role=”Asistent de comunicare profesională corporativă”,
goal=”Să îmbunătățească email-urile folosind terminologia corectă a companiei”,
backstory=”””
Ești un expert în comunicare care lucrează la Atlique Technologies.
Cunoști toate abrevierile și jargonul intern al companiei.
Specialitatea ta este să transformi email-uri casual în comunicări
profesionale, expansionând corect toate abrevierile interne.
„””,
verbose=True,
llm=llm,
tools=[jargon_tool] # ADĂUGĂM INSTRUMENTUL AICI
)
Celula 6: Definire task
email_task = Task(
description=f”””
Ia următorul email și rescrie-l profesional.
Expansionează TOATE abrevierile și jargonul folosind
instrumentul disponibil.
Email original:
{company_email}
""",
expected_output="""
Un email profesional cu:
- Toate abrevierile expandate corect
- Ton formal și profesional
- Structură clară
""",
agent=email_assistant
)
Celula 7: Creare și executare crew
crew = Crew(
agents=[email_assistant],
tasks=[email_task],
verbose=True
)
result = crew.kickoff()
print(„\n=== EMAIL FINAL ===”)
print(result)
Ce se întâmplă în execuție:
1. Agentul primește sarcina
- Citește email-ul
- Identifică că are abrevieri
2. Agentul decide să folosească instrumentul
- Nu folosește instrumentul automat!
- Analizează dacă are nevoie de el
- Decide: „Am nevoie de help pentru aceste abrevieri”
3. Apel instrument (Agent Tool Execution)
Agent Tool Execution:
Tool: Instrument Expansiune Jargon
Input: "looping in priya. tas and prx..."
Output: "Sugestii de expansiune: TAS = Technical Architecture Stack..."
4. Procesare rezultat
- Agentul primește sugestiile
- NU le copiază direct!
- Le folosește pentru a genera un email coerent
5. Output final:
Bună ziua,
Vă includ pe Priya în această discuție.
Actualizările privind Technical Architecture Stack (TAS) și
Project Phoenix (PRX) sunt disponibile în Data Analysis Component (DAC).
Estimated Time of Arrival (ETA) pentru Database Extension (DBX)
este săptămâna viitoare.
Vă rog să-mi comunicați opiniile dumneavoastră.
Cu stimă,
[Numele dvs.]
Observații importante:
Inteligența agentului:
- Nu folosește instrumentul pentru fiecare email
- Îl folosește doar când e necesar
- Demonstrează „judecată” în utilizarea resurselor
Fluxul de date:
Email → Agent → "Am nevoie de help?"
→ DA → Apel instrument
→ Primește sugestii
→ Integrează în răspuns final
Best practices:
- Un instrument = o responsabilitate clară
- Descriere detaliată (pentru ca agentul să știe când să-l folosească)
- Testare independentă înainte de integrare
- Gestionare erori în funcția
_run()
Capitolul 5: Sistem Multi-Agent – Crew pentru Blog
5.1 Conceptul de Crew
Scenariul: Crearea unui articol de blog profesional
Procesul tradițional în companii:
- Cercetător (Researcher)
- Caută informații pe internet
- Intervievează experți
- Studiază surse private
- Creează un document de cercetare brut
- Scriitor creativ (Creative Writer)
- Primește documentul de cercetare
- Transformă informațiile tehnice în conținut captivant
- Scrie articolul final pentru publicare
Soluția CrewAI: Două agenți specializați care colaborează
5.2 Crearea notebook-ului
File → New → Jupyter Notebook
Denumire: research_crew.ipynb
5.3 Setup inițial
5.4 Definirea agenților
Agent 1: Specialist în cercetare
Observație: Folosim {topic}
ca placeholder – va fi înlocuit dinamic
Agent 2: Scriitor creativ (Copywriter)
5.5 Definirea sarcinilor (Tasks)
Task 1: Cercetare
Task 1: Cercetare (continuare)
Task 2: Scriere creativă
Concept cheie: Context
context=[research_task]
înseamnă că writing_task așteaptă să se finalizeze research_task- Writing_task va primi output-ul de la research_task ca input
- Aceasta este colaborarea între agenți!
5.6 Crearea și executarea Crew-ului
Fluxul de execuție:
1. Crew pornește
↓
2. Research Agent începe
- Primește topic: "viitorul vehiculelor electrice"
- Caută informații (din knowledge base)
- Generează listă cu 5 fapte
↓
3. Writer Agent primește lista de fapte
- Citește informațiile
- Creează un articol captivant
- Output: articol gata de publicare
↓
4. Crew finalizează
Exemplu de output:
=== RESEARCH AGENT - FINAL ANSWER ===
Fapte despre viitorul vehiculelor electrice:
1. Vânzările de VE au crescut cu 35% în 2024
2. Autonomia medie a atins 400 km pe încărcare
3. China conduce piața cu 60% din producție
4. Baterii solid-state promit 50% mai multă autonomie
5. Prețurile VE au scăzut cu 20% în ultimii 3 ani
=== WRITER AGENT - FINAL ANSWER ===
Titlu: Revoluția Electrică: Viitorul Transportului Este Aici
Vehiculele electrice nu mai sunt science fiction. Cu o creștere
spectaculoasă de 35% a vânzărilor în 2024 și o autonomie medie
care a atins 400 km, VE-urile devin din ce în ce mai accesibile.
China domină piața cu 60% din producția globală, în timp ce
bateriile solid-state promit să revoluționeze încă o dată industria.
Cel mai bun lucru? Prețurile au scăzut cu 20% în ultimii trei ani.
Viitorul transportului sustenabil nu este doar posibil – este deja aici.
5.7 Problema: Date învechite
Observație importantă:
- LLM-ul are un „knowledge cutoff” (ex: Ianuarie 2025)
- Datele din exemplu sunt din 2022-2023
- Pentru informații actuale, avem nevoie de acces la internet
Soluția: Instrumentul SerperDev Tool
Capitolul 6: Acces la Internet prin Serper Tool
6.1 Ce este SerperDev?
SerperDev este o platformă care oferă:
- Acces la Google Search prin API
- Rezultate în timp real
- Formatare structurată a rezultatelor
- Plan gratuit disponibil
6.2 Obținerea cheii API Serper
Pași:
- Accesați: https://serper.dev
- Sign In cu contul Google
- Dashboard → API Keys
- Create New API Key
- Copiați cheia (ex:
abc123def456...
)
Plan gratuit:
- 2,500 căutări/lună gratuite
- Suficient pentru învățare și testing
6.3 Configurarea în proiect
Pasul 1: Adăugați în .env
env
GEMINI_API_KEY=voastra-cheie-gemini
SERPER_API_KEY=voastra-cheie-serper
Pasul 2: Creați nou notebook
File → New → Jupyter Notebook
Denumire: research_crew_with_internet.ipynb
6.4 Importarea și configurarea Serper Tool
Ce este SerperDevTool?
- Instrument pre-construit de CrewAI
- Conectare automată la API Serper
- Citește
SERPER_API_KEY
din environment automat - Returnează rezultate formatate pentru LLM
6.5 Agent cu acces la internet
Celula 3: Research agent cu internet
research_agent = Agent(
role=”Specialist în cercetare cu acces la internet”,
goal=”Găsește informații recente și actuale despre {topic}”,
backstory=”””
Ești un cercetător investigativ de elită cu acces la resurse
internet în timp real. Specialitatea ta este să găsești cele
mai recente articole, studii și știri despre orice subiect.
Știi cum să verifici sursele și să distingi între informații
credibile și necredibile. Ai lucrat pentru Reuters și AP News,
unde acuratețea și actualitatea informațiilor erau esențiale.
„””,
verbose=True,
llm=llm,
tools=[serper_tool], # ACCES LA INTERNET!
allow_delegation=False # Nu delega la alți agenți
)
# Celula 4: Writer agent (fără modificări)
writer_agent = Agent(
role=”Scriitor creativ de blog-uri”,
goal=”Scrie un blog captivant despre {topic}”,
backstory=”””
Ești un scriitor premiat specializat în transformarea
informațiilor tehnice în conținut accesibil și captivant.
„””,
verbose=True,
llm=llm
)
Parametru nou: allow_delegation
True
= agentul poate delega task-uri altor agențiFalse
= agentul lucrează independent- Pentru research simplu:
False
e suficient
6.6 Task-uri actualizate
6.7 Executare și analiza output-ului
Ce se întâmplă în execuție – Analiza detaliată:
1. Agent Tool Execution – Prima căutare
Agent Tool Execution:
Tool: SerperDevTool
Input: "viitorul vehiculelor electrice 2025"
Tool Output:
[
{
"title": "Tesla announces new battery tech",
"url": "https://techcrunch.com/2025/06/...",
"date": "June 2025",
"snippet": "Tesla has unveiled solid-state batteries..."
},
{
"title": "EV Sales Surge in 2025",
"url": "https://reuters.com/...",
"date": "May 2025",
...
}
]
2. Agent poate face multiple căutări
Agent Tool Execution (Call #2):
Tool: SerperDevTool
Input: "statistici vânzări vehicule electrice 2025"
Tool Output: [mai multe articole...]
3. Research Agent – Final Answer
=== RESEARCH SPECIALIST - FINAL ANSWER ===
Fapte recente despre viitorul vehiculelor electrice:
1. În iunie 2025, Tesla a anunțat tehnologia bateriilor solid-state
care promite o autonomie de 600 km (TechCrunch, 15 iunie 2025)
2. Vânzările de VE în Q1 2025 au crescut cu 48% față de Q1 2024
(Reuters, 10 mai 2025)
3. Uniunea Europeană a aprobat interzicerea vânzării de mașini
cu combustie internă începând din 2035 (BBC News, 3 aprilie 2025)
4. Prețul mediu al unui VE în 2025 este 32,000 USD, în scădere
cu 15% față de 2024 (Bloomberg, 20 martie 2025)
5. China a depășit 20 milioane de VE înmatriculate (CNBC, 5 iulie 2025)
4. Writer Agent procesează informațiile
=== CREATIVE WRITER - AGENT STARTED ===
Analyzing research data...
Creating engaging narrative...
Structuring article...
=== FINAL ANSWER ===
Titlu: 2025: Anul în Care Vehiculele Electrice Devin Mainstream
Viitorul electric al transportului nu mai este o promisiune îndepărtată –
este realitatea prezentului. Cu o creștere spectaculoasă de 48% a
vânzărilor în primul trimestru al anului și prețuri medii în scădere
la 32,000 USD, VE-urile devin accesibile pentru tot mai mulți consumatori.
Tesla revoluționează industria cu noile baterii solid-state care promit
600 km autonomie, în timp ce China celebrează o piatră de hotar istorică:
20 milioane de VE înmatriculate. Decizia UE de a interzice mașinile cu
combustie din 2035 consolidează direcția clară: viitorul este electric,
și acest viitor a sosit deja.
Diferențele față de versiunea fără internet:
6.8 Fluxul complet de date
User Input: "viitorul vehiculelor electrice"
↓
Research Agent primește topic
↓
Agent decide: "Am nevoie de informații actuale"
↓
Apelează SerperDevTool
↓
SerperDevTool → Google Search API
↓
Primește 10-20 rezultate
↓
Agent analizează și filtrează
↓
Poate face căutări suplimentare (refinare)
↓
Extrage 5 fapte relevante
↓
Trimite către Writer Agent
↓
Writer Agent creează articolul
↓
Output final către utilizator
Capitolul 7: Organizarea Codului cu Fișiere YAML
7.1 Problema: Cod dezorganizat
Situația actuală:
Probleme:
- Cod dificil de citit – prompt-urile lungi ocupă mult spațiu
- Greu de modificat – trebuie să cauți în cod pentru a schimba prompt-uri
- Risc de bug-uri – modificarea prompt-urilor poate introduce erori
- Colaborare dificilă – prompt engineers și developeri lucrează în același fișier
Soluția: Separarea configurației de cod folosind YAML
7.2 Ce este YAML?
YAML (YAML Ain’t Markup Language) este un format de fișier pentru configurare:
- Ușor de citit pentru oameni
- Structură bazată pe indentare
- Perfect pentru configurări
Exemplu simplu:
7.3 Structura proiectului cu YAML
Crearea structurii de foldere:
Crearea folderelor în PyCharm:
- Click dreapta pe proiect
- New → Directory
- Denumire:
config
- În
config
: New → File →agents.yaml
- În
config
: New → File →tasks.yaml
7.4 Configurarea agenților în agents.yaml
Fișier: config/agents.yaml
Sintaxă YAML – Explicații:
- Combină liniile într-un singur paragraf
- Înlocuiește newline-urile cu spații
- Perfect pentru texte lungi
3. Placeholder-e dinamice:
{topic}
va fi înlocuit la runtime- Permite reutilizarea configurației pentru diverse topic-uri
7.5 Configurarea task-urilor în tasks.yaml
Fișier: config/tasks.yaml
Observații importante:
1. Prompt engineering detaliat:
- Instrucțiuni clare și specifice
- Exemple concrete de format dorit
- Restricții clare (ex: „NU inventa informații”)
2. Structură consistentă:
3. Separarea responsabilităților:
- YAML = configurație și prompt-uri
- Python = logică și orchestrare
7.6 Codul Python simplificat
Fișier: crew.py
Explicații detaliate:
1. Decoratorul @crew_base:
- Transformă clasa într-o clasă specializată CrewAI
- Oferă acces automat la configurațiile YAML
- Gestionează lifecycle-ul crew-ului
2. Variabile de clasă pentru configurare:
- Specifică unde sunt fișierele de configurare
- CrewAI le citește și parsează automat
3. Decoratorul @agent:
- Marchează metoda ca fiind un agent
self.agents_config['research_agent']
accesează configurația din YAML- Magie Python: Deși pare dictionar, este gestionat special de CrewAI
4. Acces la configurație YAML:
5. self.agents și self.tasks:
- CrewAI colectează automat toți agenții marcați cu @agent
- Colectează automat toate task-urile marcate cu @task
- Le pune în ordine în
self.agents
șiself.tasks
6. Executarea:
- Creează instanța crew-ului
.crew()
returnează obiectul Crew configurat.kickoff()
pornește execuția
7.7 Rularea proiectului
Opțiunea 1: Din PyCharm
- Click dreapta pe
crew.py
- Run ‘crew’
Opțiunea 2: Din terminal
7.8 Avantajele abordării YAML
Comparație:
Când să folosiți YAML:
- ✅ Proiecte medii și mari
- ✅ Echipe multiple (dev + prompt engineering)
- ✅ Prompt-uri complexe și lungi
- ✅ Când vreți să experimentați mult cu prompt-uri
Când să NU folosiți YAML:
- ❌ Prototipare rapidă
- ❌ Proiecte foarte mici (1-2 agenți)
- ❌ Învățare inițială (mai bine înțelegeți conceptele direct în cod)
Capitolul 8: Caracteristicile unui Agent/Instrument Eficient
8.1 Ce face un instrument (tool) eficient?
1. Caching inteligent
De ce este important?
- Reduce apeluri API costisitoare
- Îmbunătățește viteza dramatically
- Economisește bani (multe API-uri taxează per request)
2. Fault Tolerance (Toleranță la erori)
Elemente esențiale:
- Retry mechanism: Încearcă din nou automat
- Exponential backoff: Așteaptă 1s, 2s, 4s între reîncercări
- Fallback options: API-uri alternative
Versatilitate (Flexibilitate în input)
De ce este important?
- LLM-urile pot da input-uri în formate neașteptate
- Tool-ul trebuie să fie robust
- Previne crash-uri și erori
Rezumat caracteristici tool eficient:
- Caching pentru performanță
- Fault tolerance pentru fiabilitate
- Versatilitate pentru robustețe
8.2 Ce face un agent eficient?
1. Role Play (Asumarea rolului)
Impact:
- Cu cât contextul este mai detaliat, cu atât output-ul este mai bun
- LLM-ul „intră în rol” bazat pe backstory
- Calitatea răspunsurilor crește dramatic
2. Tools (Instrumente)
Un agent fără instrumente = un chirurg fără bisturiu
3. Memory (Memorie)
Două tipuri de memorie:
Short-term memory (memorie pe termen scurt):
Long-term memory (memorie pe termen lung):
Guardrails (Limite de siguranță)
Conceptul de guardrails:
Collaboration (Colaborare)
Rezumat caracteristici agent eficient:
- Role Play detaliat
- Tools potrivite pentru sarcină
- Memory pentru context
- Guardrails pentru siguranță
- Collaboration pentru eficiență
Capitolul 9: Proiect Final – Sistem Marketing Complet
9.1 Problema de business
Compania: AutoSheet IQ Produs: Instrument de automatizare Excel cu AI Piața țintă: Întreprinderi mici și mijlocii (IMM-uri) Buget marketing: 50,000 RON
Echipa de marketing necesară:
- Reena – Head of Marketing
- Cercetare de piață
- Strategie marketing
- Calendar de conținut
- Tony – Content Writer (Social Media)
- Postări LinkedIn, Twitter, Facebook
- Script-uri pentru Reels/Shorts
- Copiere email campaigns
- Nancy – Content Writer (Blog)
- Articole SEO
- Cercetare conținut blog
- Ghiduri și tutoriale
- Varun – SEO Specialist
- Optimizare keyword
- Analiză concurență
- Strategie SEO
Obiectiv: Creați un crew AI care înlocuiește această echipă!
9.2 Setup proiect
Structura folderelor:
Creare în PyCharm:
9.3 Configurarea agenților (agents.yaml)
9.4 Configurarea task-urilor (tasks.yaml)
9.5 Codul Python (crew.py)
„””
Marketing Crew pentru AutoSheet IQ
Un sistem multi-agent pentru crearea de conținut marketing complet
„””
import os
from datetime import datetime
from dotenv import load_dotenv
from crewai import Agent, Task, Crew, LLM, Process
from crewai_tools import (
SerperDevTool,
ScrapeWebsiteTool,
FileReadTool,
FileWriterTool,
DirectoryReadTool
)
Încărcare environment variables
load_dotenv()
Verificare directoare
os.makedirs(„resources/drafts”, exist_ok=True)
class MarketingCrew:
„””Crew pentru marketing complet”””
def __init__(self):
"""Inițializare crew cu configurații"""
self.llm = LLM(
model="gemini/gemini-1.5-flash",
temperature=0.7
)
# Instrumente comune
self.serper_tool = SerperDevTool()
self.scrape_tool = ScrapeWebsiteTool()
self.file_read_tool = FileReadTool()
self.file_writer_tool = FileWriterTool()
self.dir_read_tool = DirectoryReadTool(
directory="./resources/drafts"
)
def create_agents(self):
"""Creează toți agenții"""
# Agent 1: Head of Marketing
self.marketing_head = Agent(
role="Head of Marketing",
goal="Să conducă strategia marketing pentru {product_name}",
backstory="""
Ești un profesionist de marketing cu 15 ani experiență în SaaS.
Ai condus lansări de succes pentru 20+ startup-uri. Expertiza
ta include marketing digital, growth hacking, și brand building.
""",
verbose=True,
llm=self.llm,
tools=[
self.serper_tool,
self.scrape_tool,
self.file_writer_tool
],
allow_delegation=True, # Poate delega task-uri
max_rpm=10 # Max 10 requests/minut
)
# Agent 2: Social Media Content Creator
self.social_content_creator = Agent(
role="Social Media Content Creator",
goal="Să creeze conținut viral pentru {product_name}",
backstory="""
Ești un creator de conținut cu experiență în postări virale.
Ai generat 50M+ impressions și ai crescut engagement-ul cu 300%.
Cunoști perfect algoritmii platformelor sociale.
""",
verbose=True,
llm=self.llm,
tools=[self.file_writer_tool, self.dir_read_tool],
max_rpm=10
)
# Agent 3: Blog Content Writer
self.blog_writer = Agent(
role="Blog Content Writer & SEO Expert",
goal="Să scrie articole optimizate SEO pentru {product_name}",
backstory="""
Ești un scriitor de conținut cu expertiza în SEO. Ai scris 500+
articole care se poziționează pe primele locuri în Google.
Înțelegi perfect cum să integrezi keyword-uri natural.
""",
verbose=True,
llm=self.llm,
tools=[
self.serper_tool,
self.file_writer_tool,
self.file_read_tool
],
max_rpm=10
)
# Agent 4: SEO Specialist
self.seo_specialist = Agent(
role="SEO Specialist",
goal="Să optimizeze conținutul pentru motoarele de căutare",
backstory="""
Ești un expert SEO cu 10 ani experiență. Ai ajutat 50+ companii
să ajungă pe prima pagină. Cunoști perfect Ahrefs, SEMrush și
Google Search Console. Specialitatea ta sunt long-tail keywords.
""",
verbose=True,
llm=self.llm,
tools=[self.serper_tool, self.file_writer_tool],
max_rpm=10
)
def create_tasks(self):
"""Creează toate task-urile"""
# Task 1: Cercetare de piață
self.market_research_task = Task(
description="""
Realizează cercetare de piață pentru {product_name}.
Include: competitori, nevoile {target_audience}, tendințe,
oportunități și recomandări strategice.
Data actuală: {current_date}
""",
expected_output="""
Raport complet (500-700 cuvinte) cu:
- Executive Summary
- Analiza Competitorilor
- Profilul Audience
- Tendințe
- Recomandări
""",
agent=self.marketing_head,
output_file="resources/drafts/market_research.md"
)
# Task 2: Strategie marketing
self.strategy_task = Task(
description="""
Dezvoltă strategie marketing pentru {product_name}.
Buget: {budget}
Include: poziționare, mesaj, canale, alocare buget, KPI-uri.
""",
expected_output="""
Document strategie (600-800 cuvinte) cu toate elementele.
""",
agent=self.marketing_head,
context=[self.market_research_task],
output_file="resources/drafts/marketing_strategy.md"
)
# Task 3: Calendar conținut
self.content_calendar_task = Task(
description="""
Creează calendar conținut pentru 30 zile.
Include: LinkedIn (3/săpt), Twitter (5/săpt),
Facebook (2/săpt), Instagram (2/săpt).
Data start: {current_date}
""",
expected_output="Calendar detaliat în format tabel Markdown",
agent=self.marketing_head,
context=[self.strategy_task],
output_file="resources/drafts/content_calendar.md"
)
# Task 4: Postări social media
self.social_posts_task = Task(
description="""
Creează draft-uri pentru:
- 5 postări LinkedIn (200-300 cuvinte)
- 10 postări Twitter (280 caractere)
- 5 postări Facebook (150-200 cuvinte)
- 5 postări Instagram (cu 10 hashtag-uri)
Fiecare cu CTA clar pentru {product_name}.
Target: {target_audience}
""",
expected_output="Fișiere separate pentru fiecare platformă",
agent=self.social_content_creator,
context=[self.content_calendar_task]
)
# Task 5: Script-uri Reels/Shorts
self.reels_task = Task(
description="""
Creează 5 script-uri pentru video 30-60 secunde despre {product_name}.
Fiecare cu: hook, scene breakdown, text on-screen, voiceover, CTA.
""",
expected_output="Script-uri complete cu toate detaliile",
agent=self.social_content_creator,
output_file="resources/drafts/reels_shorts_scripts.md"
)
# Task 6: Cercetare blog
self.blog_research_task = Task(
description="""
Identifică 5 topic-uri blog pentru {product_name}.
Pentru fiecare: titlu SEO, keywords, outline, lungime.
Prioritizează competiție scăzută, volume decent.
""",
expected_output="Document cercetare cu toate detaliile",
agent=self.blog_writer,
output_file="resources/drafts/blog_research.md"
)
# Task 7: Articole blog
self.blog_articles_task = Task(
description="""
Scrie 2 articole blog (1500-2000 cuvinte) pentru {product_name}.
Optimizate SEO, structură clară, exemple, FAQ, CTA.
Target: {target_audience}
""",
expected_output="Două articole complete în fișiere separate",
agent=self.blog_writer,
context=[self.blog_research_task]
)
# Task 8: Optimizare SEO
self.seo_task = Task(
description="""
Research keyword-uri pentru {product_name}:
- 20-30 seed keywords
- 50+ long-tail keywords
- Analiză competitori
- Keyword mapping
Data: {current_date}
""",
expected_output="Document comprehensiv cu keywords și metrici",
agent=self.seo_specialist,
output_file="resources/drafts/seo_keywords.md"
)
def create_crew(self):
"""Creează crew-ul final"""
return Crew(
agents=[
self.marketing_head,
self.social_content_creator,
self.blog_writer,
self.seo_specialist
],
tasks=[
self.market_research_task,
self.strategy_task,
self.content_calendar_task,
self.social_posts_task,
self.reels_task,
self.blog_research_task,
self.blog_articles_task,
self.seo_task
],
process=Process.sequential, # Execuție secvențială
verbose=True,
memory=True, # Activează memoria
planning=True, # Agent de planificare
planning_llm=self.llm
)
def run(self, product_name, product_description, target_audience, budget):
"""Execută crew-ul"""
# Creează agenții și task-urile
self.create_agents()
self.create_tasks()
# Creează crew-ul
crew = self.create_crew()
# Input-uri
inputs = {
"product_name": product_name,
"product_description": product_description,
"target_audience": target_audience,
"budget": budget,
"current_date": datetime.now().strftime("%Y-%m-%d")
}
# Execută
print("\n" + "="*60)
print(" MARKETING CREW - START")
print("="*60 + "\n")
result = crew.kickoff(inputs=inputs)
print("\n" + "="*60)
print(” MARKETING CREW – COMPLETE”)
print(„=”*60 + „\n”)
return result
def main():
„””Funcția principală”””
# Configurare produs
product_name = "AutoSheet IQ"
product_description = """
Instrument de automatizare Excel alimentat de AI care ajută
întreprinderile mici și mijlocii să automatizeze taskuri
repetitive în Excel, să genereze rapoarte automat și să
analizeze date folosind comenzi în limbaj natural.
"""
target_audience = "Întreprinderi mici și mijlocii (IMM-uri)"
budget = "50,000 RON"
# Creează și rulează crew-ul
marketing_crew = MarketingCrew()
result = marketing_crew.run(
product_name=product_name,
product_description=product_description,
target_audience=target_audience,
budget=budget
)
print("\n=== REZULTAT FINAL ===")
print(result)
print("\n=== FIȘIERE GENERATE ===")
print("Verificați folderul: resources/drafts/")
if name == „main„:
main()
9.6 Rularea proiectului
Pregătire:
Execuție:
Avertisment important:
- Acest crew va rula 15-30 minute
- Va face MULTE apeluri API
- Va consuma multe token-uri
- Asigurați-vă că aveți:
- Plan plătit Gemini (recomandat) SAU
- Limite suficient de mari pe planul gratuit
- Răbdare!
9.7 Analiza execuției pas cu pas
Faza 1: Planning Agent (dacă planning=True)
Faza 2: Market Research
Faza 3: Marketing Strategy
Faza 4-8: Task-uri rămase
- Content Calendar → content_calendar.md
- Social Media Posts → linkedin_posts.md, twitter_posts.md, etc.
- Reels Scripts → reels_shorts_scripts.md
- Blog Research → blog_research.md
- Blog Articles → blog_article_1.md, blog_article_2.md
- SEO Keywords → seo_keywords.md
9.8 Exemplu de output generat
Fișier: resources/drafts/market_research.md
Raport de Cercetare de Piață – AutoSheet IQ
Data: 2025-10-03
Executive Summary
AutoSheet IQ intră pe o piață în creștere rapidă, evaluată la
15 miliarde USD în 2025. Piața automatizării Excel pentru IMM-uri
prezintă oportunități semnificative, cu o rată de creștere anuală
de 23%. Competitorii principali sunt Microsoft Power Automate și
Zapier, însă există un gap semnificativ pentru soluții specializate
pe Excel și accesibile IMM-urilor.
Analiza Competitorilor
1. Microsoft Power Automate
- Avantaje: Integrare nativă cu Excel, ecosistem Microsoft
- Dezavantaje: Complex, prea scump pentru IMM-uri (40-50 USD/user/lună)
- Poziționare: Enterprise-focused
2. Zapier
- Avantaje: Ușor de folosit, multe integrări
- Dezavantaje: Limitat pentru Excel, focus pe web apps
- Prețuri: 20-50 USD/lună
3. Airtable
- Avantaje: Interface modern, flexibil
- Dezavantaje: Nu este Excel, necesită migrare completă
- Prețuri: 10-20 USD/user/lună
4. Excel Macros/VBA (DIY)
- Avantaje: Gratuit, control complet
- Dezavantaje: Necesită programare, dificil de întreținut
5. Google Sheets + Apps Script
- Avantaje: Gratuit, cloud-based
- Dezavantaje: Nu este Excel, compatibilitate limitată
Profilul Target Audience
IMM-uri din România și Europa de Est:
- 10-250 angajați
- Departamente: Finance, HR, Operațiuni
- Buget tech limitat: 500-5000 EUR/an
- Pain points:
- Pierd 10-20 ore/săptămână pe taskuri repetitive în Excel
- Erori manuale costisitoare (5-10% din intrări)
- Lipsa expertiză tehnică pentru automatizare
- Rezistență la schimbarea platformelor
Personas principale:
- CFO/Șef Financiar (45-60 ani)
- Vrea rapoarte automate, reducere erori
- Budget-conscious
- Rezistent la schimbare
- HR Manager (30-45 ani)
- Multe spreadsheet-uri cu date angajați
- Calculări complexe salarizare
- Vrea eficiență
- Operations Manager (35-50 ani)
- Gestionează inventar, comenzi, livrări
- Multe date, multe calcule
- Vrea vizibilitate real-time
Tendințe și Oportunități
Tendințe Pozitive:
- AI democratization: 78% dintre IMM-uri vor investi în AI în 2025
- Remote work: Creșterea nevoii de colaborare cloud
- Digital transformation: Presiune să digitalizeze procesele
- No-code/Low-code boom: Preferință pentru soluții fără programare
Oportunități Specifice:
- Gap de preț: Competitorii sunt prea scumpi pentru IMM-uri
- Excel dominance: 750M utilizatori Excel global, 95% IMM-uri îl folosesc
- AI natural language: Reducere barieră tehnică
- Localizare: Lipsa soluții în română
Amenințări și Challenge-uri
- Brand awareness: Competitori cu bugete marketing mari
- Trust: Siguranța datelor este critică
- Switching costs: Rezistență la adopție
- Microsoft ecosystem: Risc de feature crushing
- Educație: Necunoaștere beneficii automatizare
Recomandări Strategice
1. Poziționare
„Excel Automation Made Simple for Romanian SMEs”
- Focus pe simplicitate vs. competitori complicați
- Preț accesibil: 15-25 EUR/user/lună (sub competitori)
- Suport în română
2. Go-to-Market
Faza 1 (Luna 1-2): Content marketing & SEO
- 15,000 RON: Articole blog, SEO optimization
- Target: „automatizare Excel”, „macro Excel fără programare”
Faza 2 (Luna 2-3): Social proof & testimonials
- 10,000 RON: Case studies, demo videos
- Parteneriate cu contabili, consultanți
Faza 3 (Luna 3+): Paid advertising
- 20,000 RON: LinkedIn Ads, Google Ads
- Target: CFO, HR managers din IMM-uri
Reserved: 5,000 RON pentru oportunități
3. KPI-uri Cheie
- Luna 1: 5,000 vizitatori website, 200 sign-ups trial
- Luna 2: 50 clienți plătitori
- Luna 3: 150 clienți plătitori, 15,000 EUR MRR
Raport generat de Marketing Crew AI
Fișier: resources/drafts/linkedin_posts.md
LinkedIn Posts – AutoSheet IQ
Post 1: Problem-Solution
Timp pierdut în Excel? Nu ești singur. 📊
Conform unui studiu recent, IMM-urile pierd în medie 15 ore pe săptămână
cu taskuri repetitive în Excel. Asta înseamnă aproape 2 zile întregi!
Ce faci în acele 15 ore?
- Copiezi date dintr-un sheet în altul
- Formatezi tabele manual
- Calculezi aceleași formule din nou și din nou
- Verifici erori (care apar mereu)
Există o soluție mai bună. ✨
AutoSheet IQ folosește AI pentru a automatiza toate aceste taskuri.
Spui pur și simplu ce vrei în limba română, iar AI-ul face munca pentru tine.
Exemplu:
„Crează un raport lunar cu vânzările pe regiuni și trimite-l pe email
către echipă în fiecare ultima zi din lună.”
Gata. 5 secunde. 15 ore economissite.
Ce ai face cu 2 zile în plus pe săptămână? 👇
👉 Încearcă gratuit 14 zile: [link]
Excel #Automatizare #Productivitate #IMM #BusinessTips
Post 2: Customer Success Story
De la 20 ore/săptămână la 2 ore: Povestea Mariei 🎯
Maria este CFO la o companie de distribuție cu 50 de angajați.
În fiecare săptămână, petrecea 20 de ore creând rapoarte financiare
în Excel pentru management.
Procesul ei:
- Descarcă date din 5 sisteme diferite
- Copiază manual în master spreadsheet
- Verifică erori (întotdeauna găsește câteva)
- Creează grafice
- Formatează tot pentru prezentare
- Trimite pe email
Vineri seara = Excel hell. 😫
După ce a adoptat AutoSheet IQ:
- AI-ul colectează datele automat din toate sistemele
- Verifică inconsistențele automat
- Generează rapoartele în 2 minute
- Le trimite automat către stakeholderi
Rezultat: 20 ore → 2 ore pe săptămână
Maria acum petrece timpul pe analiză strategică, nu pe copy-paste.
„AutoSheet IQ mi-a dat înapoi weekendul. Și am timp să fiu CFO,
nu doar Excel operator.” – Maria D., CFO
Tu încă faci rapoarte manual? 🤔
👉 Vezi demo: [link]
CustomerSuccess #CFO #Finance #Automation #WorkSmarter
Post 3: Feature Highlight
AI care înțelege limba română. Nu cod. Nu formule complicate. 🇷🇴
Știi cum funcționează majoritatea tool-urilor de automatizare?
Trebuie să înveți un limbaj special, să configurezi integrări complexe,
să scrii formule lungi…
AutoSheet IQ e diferit.
Vorbești cu el în română. El face munca.
Exemple reale:
🗣️ „Găsește toate duplicatele în coloana A și evidențiază-le cu roșu”
✅ Done.
🗣️ „Calculează media vânzărilor pe trimestru și creează un grafic”
✅ Done.
🗣️ „Trimite acest tabel către echipa de vânzări în fiecare luni la 9 AM”
✅ Done.
Fără formule. Fără macro-uri. Fără programare.
Doar tu, Excel-ul tău, și un asistent AI care te înțelege perfect.
Este ca și cum ai avea un expert Excel dedicat 24/7. 💡
Și cel mai tare? Învață din modul tău de lucru. Cu cât îl folosești mai
mult, cu atât devine mai bun la ceea ce TU faci specific.
Curios cum funcționează?
👉 Video demo (2 min): [link]
AI #Excel #RomanianTech #Innovation #Productivity
Post 4: Industry Insight
De ce 73% dintre IMM-uri eșuează în primul an de digital transformation? 📉
Am analizat 200+ cazuri de implementare a soluțiilor digitale în IMM-uri.
Top 3 motive de eșec:
1. Complexitate prea mare (45%)
„Am achiziționat un sistem ERP premium. După 6 luni, nimeni nu știa
să-l folosească. Am revenit la Excel.”
2. Costuri ascunse (28%)
„Software-ul era 500 EUR/lună. Apoi licențe. Apoi training. Apoi
consultanță. Am ajuns la 3000 EUR/lună.”
3. Rezistență la schimbare (27%)
„Echipa nu vrea să învețe un sistem nou. Preferă Excel-ul lor cunoscut.”
Lecția: Digitalizarea nu înseamnă abandon Excel. 💡
Excel-ul funcționează. Echipa îl știe. Datele sunt deja acolo.
Soluția: Automatizează Excel-ul, nu-l înlocui.
AutoSheet IQ nu te forțează să schimbi nimic. Lucrezi în același Excel.
Doar că acum AI-ul face munca grea pentru tine.
- Fără training complex ✅
- Fără migrare date ✅
- Fără rezistență din partea echipei ✅
Digital transformation nu trebuie să fie dureroasă.
Ce părere aveți? Care e experiența voastră cu digitalizarea? 👇
DigitalTransformation #SMB #ChangeManagement #BusinessStrategy
Post 5: Call to Action
Provocare: Automatizează prima ta sarcină în 5 minute. 🚀
Am făcut AutoSheet IQ atât de simplu încât orice poate automatiza
ceva în primele 5 minute.
Iată provocarea:
1️⃣ Gândește-te la o sarcină repetitivă pe care o faci în Excel
(ex: filtrezi date, copiezi formule, creezi rapoarte)
2️⃣ Încearcă trial gratuit 14 zile (fără card)
3️⃣ Spune AI-ului ce vrei să automatizezi
4️⃣ Cronometră – cât durează?
Pariez că durează sub 5 minute. ⏱️
Cei care au acceptat provocarea până acum:
- Ion – automatizat raport săptămânal: 3 minute
- Ana – curățat bază de date: 2 minute
- Mihai – creat dashboard: 4 minute
Tu accepți provocarea?
👉 Start 14-day free trial: [link]
Comentează mai jos cu ce ai automatizat și în cât timp!
Cel mai impresionant use-case primește un call 1-on-1 cu echipa
noastră pentru a optimiza și mai mult workflow-ul. 🎁
Challenge #Automation #Excel #Productivity
Toate postările includ imagine relevantă și sunt optimizate pentru algoritmul LinkedIn (200-300 cuvinte, question prompts, CTA clar)
9.9 Parametri avansați explicați
1. max_rpm (Maximum Requests Per Minute)
Scop:
- Previne epuizarea limitelor API
- Evită costuri uriașe
- Throttling inteligent
2. allow_delegation
Când este True:
- Agentul poate cere ajutor de la alți agenți
- Useful pentru „manager” agents
- Crează ierarhii
3. Process.sequential vs Process.hierarchical
memory=True
Beneficii:
- Context între task-uri
- Nu repetă întrebări
- Învață din interacțiuni
5. planning=True
Ce face:
- Analizează toate task-urile
- Identifică dependențe
- Optimizează ordinea
- Estimează timpul
9.10 Troubleshooting common issues
Problemă 1: Rate limit exceeded
Problemă 2: Agent nu folosește tool-ul
Problemă 3: Output incomplet
Problemă 4: Execuție prea lentă
Capitolul 10: Funcționalități Avansate și Next Steps
10.1 Memory în detaliu
Tip 1: Short-term Memory
Tip 2: Long-term Memory cu configurare
Ce se salvează:
- Conversații anterioare
- Decizii luate
- Pattern-uri de lucru
- Preferințe utilizator
10.2 Human-in-the-Loop
Când agentul cere aprobare:
10.3 CrewAI Studio (UI Visual)
Ce este:
- Interface no-code pentru CrewAI
- Drag-and-drop agenți și task-uri
- Vizualizare flow
- Testing integrat
Cum se accesează:
- Website: https://www.crewai.com/studio
- Necesită cont CrewAI
10.4 Model Context Protocol (MCP)
Ce este MCP:
- Protocol pentru partajarea contextului între sisteme AI
- Permite interoperabilitate între tool-uri
- Standard emergent în AI
Suport CrewAI pentru MCP:
10.5 Best Practices – Rezumat
1. Design agenți:
- Role specifice și clare
- Backstory detaliată (100-200 cuvinte)
- Tools minime necesare
- Un agent = o specialitate
2. Design task-uri:
- Description clară cu exemple
- Expected output detaliat
- Context dependencies bine definite
- Output files pentru persistență
3. Prompt engineering:
- Folosiți YAML pentru organizare
- Testați prompt-uri individual
- Iterați bazat pe output
- Documentați ce funcționează
4. Performanță:
- max_rpm pentru control costuri
- Caching pentru tool-uri
- Memory pentru eficiență
- Sequential process pentru simplitate
5. Production:
- Error handling robust
- Logging detaliat
- Monitoring API usage
- Backup plans pentru failures
10.6 Resurse pentru învățare continuă
Documentație oficială:
- https://docs.crewai.com
- Tutoriale pas cu pas
- API reference
- Best practices
GitHub:
- https://github.com/joaomdmoura/crewAI
- Exemple de cod
- Issues și soluții
- Community contributions
Comunitate:
- Discord oficial CrewAI
- Reddit r/CrewAI
- Twitter/X: #CrewAI
Alte framework-uri de explorat:
- LangGraph – Pentru flow-uri complexe
- AutoGen (Microsoft) – Multi-agent conversations
- Google ADK – Integrare GCP
10.7 Provocări practice pentru exersare
Nivel 1 – Începător:
- Creați un agent care rescrie email-uri
- Adăugați un custom tool pentru verificare gramatică
- Implementați un crew cu 2 agenți (writer + editor)
Nivel 2 – Intermediar:
- Creați un research crew cu acces la internet
- Implementați memory pentru context între sesiuni
- Configurați tot în YAML
Nivel 3 – Avansat:
- Creați un crew complet pentru un alt domeniu (ex: HR recruitment)
- Implementați custom tools cu caching și retry logic
- Adăugați human-in-the-loop pentru decizii critice
- Optimizați pentru costuri (max_rpm, selective tool usage)
Concluzie
Ce ați învățat:
- ✅ Fundamentele Agentic AI și CrewAI
- ✅ Setup mediu de lucru (PyCharm, UV, API keys)
- ✅ Crearea agenților simpli și complecși
- ✅ Lucrul cu tools (pre-built și custom)
- ✅ Sisteme multi-agent colaborative
- ✅ Organizarea codului cu YAML
- ✅ Best practices pentru production
- ✅ Proiect complet end-to-end
Next steps:
- Practică: Implementați propriile crew-uri
- Experimentare: Testați diferite LLM-uri (GPT-4, Claude, etc.)
- Comunitate: Alăturați-vă Discord-ului CrewAI
- Production: Lansați un produs real folosind CrewAI
- Învățare continuă: Explorați LangGraph, AutoGen
Sfaturi finale:
- Start small: Nu construiți un sistem cu 10 agenți din prima zi
- Iterați: Testați, obțineți feedback, îmbunătățiți
- Monitorizați: Urmăriți costurile API
- Documentați: Notați ce funcționează și ce nu
- Colaborați: Învățați din comunitate
Mulțumiri: Felicitări pentru finalizarea acestui curs comprehensiv! Acum aveți toate instrumentele pentru a construi sisteme AI agentic puternice cu CrewAI.
Succes în călătoria dvs. cu AI! 🚀
Resurse din acest curs:
- Cod complet: Disponibil pe GitHub (vezi linkurile din tutorialul video)
- Fișiere de configurare: Toate exemplele YAML
- Best practices: Documentate pe parcurs
- Troubleshooting: Soluții pentru probleme comune
Contact pentru întrebări:
- Verificați secțiunea de comentarii video
- Discord CrewAI: https://discord.gg/crewai
- GitHub Issues pentru probleme tehnice
Curs creat de Adrian Iacob, Sr. Consultant AISucces.ro în Septembrie 2025, bazat pe tutorialul video CrewAI