A CrewAI LanceDB-re építette át az ügynökmemóriáját

A CrewAI új, kognitív memóriarendszere szelektíven kódolja az információkat, kezeli az ellentmondásokat, és a bizonyosság alapján szabályozza a visszakeresést. A rendszer alapértelmezett vektortárolója mostantól a LanceDB a nyílt forráskódú CrewAI-telepítésekben.
- A CrewAI a korábbi kétkomponensű memóriarendszerét LanceDB-re építette át.
- Az új kognitív memória kezeli az ellentmondásokat és a bizonyosság alapján keres vissza.
- A vektorok, metaadatok és multimodális adatok egyetlen táblában kapnak helyet.
- A LanceDB alapértelmezett vektortároló lett a CrewAI nyílt forráskódú telepítéseiben.
- A CrewAI több mint 2 milliárd ügynökvégrehajtásról és havi 12 millió csomagletöltésről számol be.
Két rendszer helyett egyetlen memóriahátteret választottak
A LanceDB 2026. augusztus 14-én közzétett esettanulmánya szerint a CrewAI korábbi memóriarendszere két komponensből állt. Egy vektortároló kezelte a beágyazásokat, egy külön adatbázis pedig a strukturált memóriaállapotot. Ezen keresztül működött a hosszú és rövid távú memória, az entitásmemória, valamint a beágyazásokra épülő eszközök.
A felépítés idővel működési nehézségeket okozott. A több rendszerből álló megoldás tranzitív függőségeket, kompatibilitási problémákat, kulcskezelési feladatokat és verziókövetési terheket hozott magával. A LanceDB szerint a beállítási és teljesítménybeli gondok a felhasználói visszajelzésekben is megjelentek, többek között a Discordon, a Redditen és a GitHubon.
A CrewAI arra jutott, hogy az ügynökmemória nem merül ki a hasonlóság szerinti keresésben. A memóriának figyelembe kell vennie a hatókört, a frissességet, a fontosságot és az egymásnak ellentmondó információkat is.
A kognitív memória öt műveletre épül
Az új rendszer a CrewAI által kognitív memóriának nevezett megközelítést használja. A memóriát a CrewAI Flow architektúrájára építették, a LanceDB pedig egyetlen táblában kezeli a vektorokat, a strukturált metaadatokat és a multimodális adatokat. A megoldáshoz nincs szükség külön kiszolgálóra, az adatok fájlokként tárolódnak a lemezen.
A rendszer öt fő műveletet kezel: encode, consolidate, recall, extract és forget. Az encode folyamat elemzi a tartalmat, hatókört és kategóriát rendel hozzá, majd 0 és 1 közötti fontossági értéket ad neki. Ha egy új emlék egy 0,85 feletti küszöbön konfliktusba kerül egy korábbival, a consolidate frissíti a régi rekordot, megőrzi annak kontextusát, és eltávolítja az elavult tényt.
A recall működése dinamikus, iteratív visszakeresésre épül. Az eredmények pontszámát a hasonlóság, a frissesség és a fontosság kombinációja adja. Ha a rendszer bizonyossága nem elegendő, mélyebbre keres, mielőtt választ adna.
Az extract a nagyobb ügynökkimeneteket önálló, atomi tényekre bontja. A forget segítségével a memória hatókör vagy életkor alapján törölhető, így egy megszűnt projekt adatai eltávolíthatók anélkül, hogy más memóriák sérülnének.
Egy tábla kezeli a különböző memóriatípusokat
A CrewAI nem külön táblákban tárolja a hosszú távú, a rövid távú és az entitásmemóriát. Minden adat egyetlen LanceDB-táblába kerül, a hatókör szerinti elkülönítést SQL-szerű WHERE-feltételek végzik. A hatókörkulcsokon lévő B-fa indexek lehetővé teszik, hogy a szűrt lekérdezések teljes táblabejárás nélkül fussanak.
A séma típusos oszlopokat használ a hatókör, a fontosság, az időbélyeg és a vektor számára. A visszakeresett memória így strukturált adatként áll az ügynökök rendelkezésére. Az írási műveletek nem blokkolják a hívót, a remember_many() háttérszálaknak adja át a feladatot, az olvasások viszont előbb kiürítik a függőben lévő írásokat.
Több, ugyanahhoz az adatbázishoz kapcsolódó memória példány is futhat párhuzamosan. A műveletek szerializálását és az ütközések automatikus újrapróbálását a rendszer kezeli.
Alapértelmezett háttér a CrewAI nyílt forráskódú kiadásaiban
A LanceDB szerint a CrewAI a korábbi két rendszer helyett egyetlen tárolási függőségre építette át a memóriát. A LanceDB a CrewAI OSS minden olyan telepítésében alapértelmezett vektortároló, ahol a felhasználó engedélyezi a memóriát, az adatok pedig alapértelmezés szerint a ./.crewai/memory könyvtárba kerülnek.
A CrewAI a forrás szerint havonta 12 millió csomagletöltést és több mint 2 milliárd ügynökvégrehajtást kezel. A LanceDB állítása alapján ezzel a könyvtár a széles körben használt ügynökkeretrendszer memóriarétegévé vált. A fejlesztők számára a változás kevesebb függőséget és infrastruktúra-üzemeltetési feladatot jelenthet, miközben a memória kezelése a vektorok és a strukturált adatok közös lekérdezésére épül.


