Episodic, semantic, procedural: Oracle's Spring AI sample splits agent memory into three stores

AlexAtOracleAIDB · reddit · 2026-11-13

An Oracle developer sample (posted by someone on the Oracle AI Database team) splits agent memory into three layers with different storage. Episodic: conversation history in a relational table via Spring AI's JDBC chat memory repository, with MessageChatMemoryAdvisor pulling the last 100 messages per request. Semantic: domain knowledge via RetrievalAugmentationAdvisor running hybrid search — vector similarity for paraphrases plus keyword matching for exact strings like order IDs, merged with Reciprocal Rank Fusion; embeddings come from an ONNX all-MiniLM-L12-v2 model loaded into the database, and the hybrid vector index syncs in the background. Procedural: u/Tool Java methods (order lookup, returns) registered on the ChatClient and invoked by a local Ollama model — though the author notes these are developer-written procedures, not learned ones. Chat history, the retrieval index, and order tables share one instance and connection pool.

Original post →

More from coding & agent

coding & agent channel →