AGENT AI: Curs Complet pentru Începători: Ghid Pas cu Pas

Shares
Ce este un Agent AI

– 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.

Tutorial Agent AI

Table of Contents

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:

  1. Accesează API-ul Expedia (instrumentul său)
  2. Caută zboruri disponibile
  3. Compară prețurile (5 opțiuni găsite)
  4. Decide autonom care este cel mai ieftin
  5. Rezervă zborul (acțiune autonomă)
  6. 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:

  1. Accesa API-ul meteorologic (AccuWeather, Weather.com)
  2. Găsi 7 zile consecutive cu vreme însorită în mai
  3. Accesa API-ul Expedia pentru zboruri
  4. Compara avioanele pentru acele date
  5. Găsi un zbor în bugetul specificat
  6. 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:

  1. Agent de rezervare zboruri – rezervă biletul
  2. 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:

image

*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:

  1. Accesați website-ul PyCharm
  2. Descărcați versiunea Community (gratuită permanent)
  3. Bonusul include 1 lună PyCharm Pro
  4. 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
image 1

2.3 Obținerea cheii API Google Gemini

Pași detaliați:

  1. Căutați în Google: „get Gemini API key”
  2. Accesați: Google AI Studio
  3. Click pe: „Get API key”
  4. 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
  5. 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

image 2

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

  1. Deschideți PyCharm
  2. File → Open
  3. Selectați folderul crewai-tutorial
  4. Click pe „Open in New Window”

Pasul 4: Configurarea interpretului Python

PyCharm trebuie să știe care versiune Python să folosească:

  1. Așteptați finalizarea indexării proiectului
  2. Mergeți la: File → Settings (sau Ctrl+Alt+S)
  3. Căutați: „Python Interpreter”
  4. Verificați că interpretorul selectat este: venv\Scripts\python.exe
  5. 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

  1. Click dreapta pe folderul proiectului în PyCharm
  2. New → File
  3. 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:

  1. Click dreapta pe folderul proiectului
  2. New → Jupyter Notebook
  3. 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:

image 3

Executare:

  • Click pe celulă
  • Apăsați Shift+Enter (sau Ctrl+Enter)

Ce face acest cod?

  • Importă funcția load_dotenv din pachetul python-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:

image 4

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:

image 5

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 intermediari
  • False = 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):

image 6

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:

image 7

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:

image 8

Ce se întâmplă când rulați:

  1. Crew-ul pornește: inițializează agenții
  2. Agentul primește sarcina: citește instrucțiunile
  3. Procesare: LLM-ul analizează email-ul
  4. Generare: creează versiunea profesională
  5. 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:

image 9

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

image 10

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:

image 11
  • 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:

image 12
  • Specifică tipul input-ului (str)
  • Specifică tipul output-ului (→ str)
  • Ajută la validare și debugging

4.3 Testarea instrumentului

image 13

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:

  1. Cercetător (Researcher)
    • Caută informații pe internet
    • Intervievează experți
    • Studiază surse private
    • Creează un document de cercetare brut
  2. 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

image 14

5.4 Definirea agenților

Agent 1: Specialist în cercetare

image 15

Observație: Folosim {topic} ca placeholder – va fi înlocuit dinamic

Agent 2: Scriitor creativ (Copywriter)

image 16

5.5 Definirea sarcinilor (Tasks)

Task 1: Cercetare

image 17

Task 1: Cercetare (continuare)

image 18

Task 2: Scriere creativă

image 19

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

image 20

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:

  1. Accesați: https://serper.dev
  2. Sign In cu contul Google
  3. DashboardAPI Keys
  4. Create New API Key
  5. 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

image 21

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ți
  • False = agentul lucrează independent
  • Pentru research simplu: False e suficient

6.6 Task-uri actualizate

image 22
image 24

6.7 Executare și analiza output-ului

image 25

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:

image 26

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ă:

image 27

Probleme:

  1. Cod dificil de citit – prompt-urile lungi ocupă mult spațiu
  2. Greu de modificat – trebuie să cauți în cod pentru a schimba prompt-uri
  3. Risc de bug-uri – modificarea prompt-urilor poate introduce erori
  4. 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:

image 28

7.3 Structura proiectului cu YAML

Crearea structurii de foldere:

image 29

Crearea folderelor în PyCharm:

  1. Click dreapta pe proiect
  2. New → Directory
  3. Denumire: config
  4. În config: New → File → agents.yaml
  5. În config: New → File → tasks.yaml

7.4 Configurarea agenților în agents.yaml

Fișier: config/agents.yaml

image 30

Sintaxă YAML – Explicații:

image 31
  • Combină liniile într-un singur paragraf
  • Înlocuiește newline-urile cu spații
  • Perfect pentru texte lungi

3. Placeholder-e dinamice:

image 32
  • {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

image 33
image 34
image 35

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ă:

image 36

3. Separarea responsabilităților:

  • YAML = configurație și prompt-uri
  • Python = logică și orchestrare

7.6 Codul Python simplificat

Fișier: crew.py

image 37
image 38
image 39
image 40
image 41

Explicații detaliate:

1. Decoratorul @crew_base:

image 42
  • 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:

image 43
  • Specifică unde sunt fișierele de configurare
  • CrewAI le citește și parsează automat

3. Decoratorul @agent:

image 44
  • 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:

image 45

5. self.agents și self.tasks:

image 46
  • 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 și self.tasks

6. Executarea:

image 47
  • 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

image 48

7.8 Avantajele abordării YAML

Comparație:

image 49

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

image 50

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)

image 51

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)

image 53

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:

  1. Caching pentru performanță
  2. Fault tolerance pentru fiabilitate
  3. Versatilitate pentru robustețe

8.2 Ce face un agent eficient?

1. Role Play (Asumarea rolului)

image 54

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

image 55

3. Memory (Memorie)

Două tipuri de memorie:

Short-term memory (memorie pe termen scurt):

image 56

Long-term memory (memorie pe termen lung):

image 57

Guardrails (Limite de siguranță)

image 58

Conceptul de guardrails:

image 59

Collaboration (Colaborare)

image 60

Rezumat caracteristici agent eficient:

  1. Role Play detaliat
  2. Tools potrivite pentru sarcină
  3. Memory pentru context
  4. Guardrails pentru siguranță
  5. 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ă:

  1. Reena – Head of Marketing
    • Cercetare de piață
    • Strategie marketing
    • Calendar de conținut
  2. Tony – Content Writer (Social Media)
    • Postări LinkedIn, Twitter, Facebook
    • Script-uri pentru Reels/Shorts
    • Copiere email campaigns
  3. Nancy – Content Writer (Blog)
    • Articole SEO
    • Cercetare conținut blog
    • Ghiduri și tutoriale
  4. 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:

image 61

Creare în PyCharm:

image 62

9.3 Configurarea agenților (agents.yaml)

image 63
image 64
image 65
image 66

9.4 Configurarea task-urilor (tasks.yaml)

image 67
image 68
image 69
image 70
image 71
image 72
image 73
image 74
image 75
image 76
image 77
image 78

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:

image 79

Execuție:

image 80

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)

image 81
image 82

Faza 2: Market Research

image 83

Faza 3: Marketing Strategy

image 84

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:

  1. CFO/Șef Financiar (45-60 ani)
  • Vrea rapoarte automate, reducere erori
  • Budget-conscious
  • Rezistent la schimbare
  1. HR Manager (30-45 ani)
  • Multe spreadsheet-uri cu date angajați
  • Calculări complexe salarizare
  • Vrea eficiență
  1. 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:

  1. AI democratization: 78% dintre IMM-uri vor investi în AI în 2025
  2. Remote work: Creșterea nevoii de colaborare cloud
  3. Digital transformation: Presiune să digitalizeze procesele
  4. No-code/Low-code boom: Preferință pentru soluții fără programare

Oportunități Specifice:

  1. Gap de preț: Competitorii sunt prea scumpi pentru IMM-uri
  2. Excel dominance: 750M utilizatori Excel global, 95% IMM-uri îl folosesc
  3. AI natural language: Reducere barieră tehnică
  4. Localizare: Lipsa soluții în română

Amenințări și Challenge-uri

  1. Brand awareness: Competitori cu bugete marketing mari
  2. Trust: Siguranța datelor este critică
  3. Switching costs: Rezistență la adopție
  4. Microsoft ecosystem: Risc de feature crushing
  5. 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:

  1. Descarcă date din 5 sisteme diferite
  2. Copiază manual în master spreadsheet
  3. Verifică erori (întotdeauna găsește câteva)
  4. Creează grafice
  5. Formatează tot pentru prezentare
  6. 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)

image 85

Scop:

  • Previne epuizarea limitelor API
  • Evită costuri uriașe
  • Throttling inteligent

2. allow_delegation

image 86

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

image 87

memory=True

image 88

Beneficii:

  • Context între task-uri
  • Nu repetă întrebări
  • Învață din interacțiuni

5. planning=True

image 89

Ce face:

  • Analizează toate task-urile
  • Identifică dependențe
  • Optimizează ordinea
  • Estimează timpul

9.10 Troubleshooting common issues

Problemă 1: Rate limit exceeded

image 90

Problemă 2: Agent nu folosește tool-ul

image 91

Problemă 3: Output incomplet

image 92

Problemă 4: Execuție prea lentă

image 93

Capitolul 10: Funcționalități Avansate și Next Steps

10.1 Memory în detaliu

Tip 1: Short-term Memory

image 94

Tip 2: Long-term Memory cu configurare

image 95

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:

image 96

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ă:

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:

image 97

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ă:

GitHub:

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:

  1. Creați un agent care rescrie email-uri
  2. Adăugați un custom tool pentru verificare gramatică
  3. Implementați un crew cu 2 agenți (writer + editor)

Nivel 2 – Intermediar:

  1. Creați un research crew cu acces la internet
  2. Implementați memory pentru context între sesiuni
  3. Configurați tot în YAML

Nivel 3 – Avansat:

  1. Creați un crew complet pentru un alt domeniu (ex: HR recruitment)
  2. Implementați custom tools cu caching și retry logic
  3. Adăugați human-in-the-loop pentru decizii critice
  4. Optimizați pentru costuri (max_rpm, selective tool usage)

Concluzie

Ce ați învățat:

  1. ✅ Fundamentele Agentic AI și CrewAI
  2. ✅ Setup mediu de lucru (PyCharm, UV, API keys)
  3. ✅ Crearea agenților simpli și complecși
  4. ✅ Lucrul cu tools (pre-built și custom)
  5. ✅ Sisteme multi-agent colaborative
  6. ✅ Organizarea codului cu YAML
  7. ✅ Best practices pentru production
  8. ✅ Proiect complet end-to-end

Next steps:

  1. Practică: Implementați propriile crew-uri
  2. Experimentare: Testați diferite LLM-uri (GPT-4, Claude, etc.)
  3. Comunitate: Alăturați-vă Discord-ului CrewAI
  4. Production: Lansați un produs real folosind CrewAI
  5. Î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:

Curs creat de Adrian Iacob, Sr. Consultant AISucces.ro în Septembrie 2025, bazat pe tutorialul video CrewAI

Comments

About the Author Adrian Iacob

Online Business & Marketing Sr. Consultant, Strategist

follow me on: