Sistemul de Memorie CrewAI (Short-Term, Long-Term, Entity) în CrewAI & Sisteme Multi-Agent

Memorie, Knowledge (RAG) & CLI Nivel: intermediar

Cele patru straturi de memorie ale unei echipe CrewAI (pe termen scurt cu ChromaDB, pe termen lung în SQLite și memorie de entități) activate prin simplul parametru memory=True.

Sintaxă & invocare Python
echipa = Crew(
    agents=[cercetator, redactor],
    tasks=[task_1, task_2],
    memory=True,
    embedder={
        "provider": "ollama",
        "config": {"model": "bge-m3"}
    }
)

Descriere & Utilizare

Prin simpla adăugare a parametrului memory=True la inițializarea unui Crew, activezi un sistem cognitiv complet format din trei componente care lucrează împreună:

1) Short-Term Memory (Memorie pe termen scurt): folosește un vector store local (ChromaDB) cu RAG pentru ca agenții să își poată partaja și regăsi semantic informațiile descoperite în timpul rulării curente. 2) Long-Term Memory (Memorie pe termen lung): salvează în SQLite evaluările și lecțiile învățate din rulările anterioare, astfel încât echipa devine mai bună de la o execuție la alta. 3) Entity Memory (Memorie de entități): extrage și reține automat informații structurate despre persoane, companii, tehnologii și concepte întâlnite.

În mod implicit, sistemul folosește embeddings OpenAI, dar poți configura orice furnizor (Ollama local, Google, Cohere) prin dicționarul embedder.

Cum să o reții ușor

💡 Short-Term Memory este tabla albă din sala de ședințe pe care scriu toți colegii azi, Entity Memory este fișierul cu profilurile clienților, iar Long-Term Memory este jurnalul de experiență al echipei păstrat de la o lună la alta.

Opțiuni și parametri tehnici

  • memory=True: activează simultan Short-Term, Long-Term și Entity Memory pe întreaga echipă.
  • embedder: dicționar de configurare a modelului de vectorizare (ex: {"provider": "openai", "config": {"model": "text-embedding-3-small"}} sau "ollama").
  • CREWAI_STORAGE_DIR: variabilă de mediu prin care controlezi folderul de pe disc unde sunt salvate bazele SQLite și ChromaDB ale memoriei.
  • echipa.reset_memories(command_type="all"): șterge programatic memoria acumulată ("short", "long", "entities" sau "all").

Exemple practice și cazuri de utilizare

  • Memorie 100% locală fără cheie OpenAI: setează memory=True și embedder={"provider": "ollama", "config": {"model": "nomic-embed-text"}}.
  • Setarea directorului de stocare în proiect: os.environ["CREWAI_STORAGE_DIR"] = "./stocare_echipa".
  • Resetarea memoriei din terminal: crewai reset-memories --all.

Sfaturi de configurare & capcane

Dacă folosești Claude (Anthropic) ca LLM principal pentru agenți și activezi memory=True, nu uita să configurezi parametrul embedder (pe Ollama, Voyage sau OpenAI), deoarece Anthropic nu are propriul endpoint nativ de embeddings.

Comenzi și ghiduri înrudite