← Natrag
AI

Idempotentna memorija agenata: ključevi temeljeni na sadržaju u Postgresu

Damir Radulić· 24. srpnja 2026.· 2 min čitanja· 13 pregleda
Idempotentna memorija agenata: ključevi temeljeni na sadržaju u Postgresu
🎧 Poslušaj članak

U svijetu autonomnih agenata, memorija je temeljna komponenta koja omogućuje učenje i prilagodbu. No, često se susrećemo s problemom dupliciranja zapisa kada agent ponovno obrađuje taj događaj ili poruku. Tradicionalni pristup korištenja sekvencijalnih ID-ova (poput SERIAL ili IDENTITY u Postgresu) dovodi do stvaranja novih redaka svaki put, čak i kada je sadržaj identičan. To narušava idempotenciju – svojstvo da višestruki identični zahtjevi proizvedu taj rezultat kao jedan.

Problem sekvencijalnih ključeva

Sekvencijalni ID-ovi su jednostavni za implementaciju i brzi, ali ne pružaju nikakvu garanciju jedinstvenosti na temelju sadržaja. Ako agent dva puta pošalje istu poruku, baza će stvoriti dva različita retka s različitim ID-ovima. To dovodi do redundantnih podataka, povećanja veličine baze i potencijalnih grešaka u logici agenata koji se oslanjaju na jedinstvene zapise.

Rješenje: ključevi temeljeni na sadržaju

Umjesto sekvencijalnih ID-ova, možemo koristiti ključeve koji su izvedeni iz samog sadržaja zapisa. Najčešći pristup je korištenje kriptografske hash funkcije, poput SHA-256, nad normaliziranim payloadom. Normalizacija osigurava da se taj podaci uvijek hashiraju na taj način, bez obzira na formatiranje ili redoslijed polja. Ovaj hash postaje primarni ključ tablice.

Implementacija u Postgresu

Postgres podržava ON CONFLICT DO NOTHING ili ON CONFLICT DO UPDATE za idempotentne upise. Kada je primarni ključ hash sadržaja, pokušaj umetanja istog payloada rezultira ignoriranjem ili ažuriranjem postojećeg retka, bez stvaranja duplikata. Primjer:

  • Kreirajte tablicu s primarnim ključem tipa BYTEA ili VARCHAR koji sadrži SHA-256 hash.
  • Prije umetanja, izračunajte hash nad normaliziranim JSON-om ili protobuf porukom.
  • Koristite INSERT ... ON CONFLICT DO NOTHING za jednostavnu deduplikaciju.

Prednosti

  • Idempotencija: višestruki identični upisi rezultiraju jednim zapisom.
  • Ušteda prostora: nema dupliciranih redaka.
  • Pouzdanost: agenti mogu sigurno ponovno slati poruke bez brige o duplikatima.
  • Jednostavnost: nema potrebe za vanjskim mehanizmima deduplikacije.

Izazovi

Hash kolizije su teoretski moguće, ali SHA-256 ima iznimno nisku vjerojatnost kolizije u praksi. Također, normalizacija payloada može biti složena ako podaci dolaze u različitim formatima. Preporučuje se korištenje kanonskog JSON-a ili sortiranje polja prije hashiranja.

Ključevi temeljeni na sadržaju nisu samo tehnički trik, već temeljni obrazac za izgradnju pouzdanih i skalabilnih sustava agenata. Oni osiguravaju da memorija ostane čista i konzistentna, bez obzira na broj ponovljenih događaja.

memorija agenataključevi temeljeni na sadržajuidempotencijaPostgresdeduplikacija

Zanima vas ovakva AI tehnologija?

RiNET gradi sovereign AI rjesenja za javni sektor i poduzeca - od civic intelligence do automatizacije nabave.

Kontaktirajte nas →
0 komentara

Komentari