Bird
Raised Fist0
Agentic AIml~8 mins

Long-term memory with vector stores in Agentic AI - Model Metrics & Evaluation

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Metrics & Evaluation - Long-term memory with vector stores
Which metric matters for Long-term memory with vector stores and WHY

When using vector stores for long-term memory, the key metric is Recall. This is because we want to find all relevant past information stored as vectors when a query comes in. Missing important memories means the system forgets useful knowledge.

Another important metric is Precision, which tells us how many retrieved memories are actually relevant. High precision means fewer distractions from unrelated memories.

We also look at F1 score to balance recall and precision, ensuring the memory retrieval is both complete and accurate.

For ranking results, Mean Average Precision (MAP) or Normalized Discounted Cumulative Gain (NDCG) can measure how well the most relevant memories appear at the top.

Confusion matrix for memory retrieval
    Relevant | Irrelevant
    ---------------------------------------
    True Positive (TP) | False Positive (FP)
    ---------------------------------------
    False Negative (FN)| True Negative (TN)
    

Example: Suppose the system retrieves 8 relevant memories (TP), 2 irrelevant ones (FP), misses 3 relevant memories (FN), and correctly ignores 7 irrelevant memories (TN).

Totals: TP=8, FP=2, FN=3, TN=7, Total=20

Precision vs Recall tradeoff with examples

If the system retrieves many memories to avoid missing any (high recall), it may include irrelevant ones (low precision). This can confuse the AI with too much noise.

If it retrieves only very confident memories (high precision), it might miss some useful ones (low recall), causing the AI to forget important facts.

For example, a customer support AI using long-term memory should have high recall to remember all past issues, but also good precision to avoid irrelevant past cases.

What good vs bad metric values look like

Good: Recall and precision both above 0.8 means the system finds most relevant memories and keeps irrelevant ones low.

Bad: Recall below 0.5 means many relevant memories are missed, hurting AI's knowledge. Precision below 0.5 means many irrelevant memories confuse the AI.

F1 score below 0.6 suggests poor balance, needing tuning of vector search parameters or better embeddings.

Common pitfalls in metrics for vector store memory
  • Accuracy paradox: High accuracy can be misleading if most memories are irrelevant and the system just returns few results.
  • Data leakage: If test queries are too similar to stored vectors, metrics look better than real use.
  • Overfitting: Tuning vector search too tightly on test data can reduce generalization to new queries.
  • Ignoring ranking metrics: Only counting retrieved vs missed memories misses how well top results are ordered.
Self-check question

Your long-term memory system has 98% accuracy but only 12% recall on relevant memories. Is it good for production?

Answer: No. The high accuracy is misleading because most memories are irrelevant. The very low recall means the system misses almost all relevant memories, so it forgets important information. This hurts AI performance and user experience.

Key Result
Recall is most important to ensure relevant memories are found; balance with precision to avoid noise.

Practice

(1/5)
1. What is the main purpose of using a vector store in long-term memory for AI agents?
easy
A. To replace all databases with text files
B. To store images and videos directly
C. To slow down data retrieval for security
D. To save information as lists of numbers for quick searching

Solution

  1. Step 1: Understand vector store role

    Vector stores save data as number lists (vectors) to represent information compactly.
  2. Step 2: Identify purpose in AI memory

    This allows fast searching by comparing vector similarity, making recall efficient.
  3. Final Answer:

    To save information as lists of numbers for quick searching -> Option D
  4. Quick Check:

    Vector store = number lists for fast recall [OK]
Hint: Vector stores = numbers for fast search [OK]
Common Mistakes:
  • Thinking vector stores save raw images or videos
  • Confusing vector stores with simple text files
  • Assuming vector stores slow down retrieval
2. Which of the following is the correct way to add a vector to a vector store in Python-like pseudocode?
easy
A. vector_store.insert('doc1', [0.1, 0.2, 0.3])
B. vector_store.push_vector([0.1, 0.2, 0.3], 'doc1')
C. vector_store.add_vector(id='doc1', vector=[0.1, 0.2, 0.3])
D. vector_store.append_vector('doc1', vector=[0.1, 0.2, 0.3])

Solution

  1. Step 1: Identify typical vector store method

    Common vector stores use an add_vector method with id and vector parameters.
  2. Step 2: Match correct syntax

    vector_store.add_vector(id='doc1', vector=[0.1, 0.2, 0.3]) matches this pattern: add_vector(id='doc1', vector=[0.1, 0.2, 0.3]). Others use incorrect method names or argument order.
  3. Final Answer:

    vector_store.add_vector(id='doc1', vector=[0.1, 0.2, 0.3]) -> Option C
  4. Quick Check:

    Correct method and argument names = vector_store.add_vector(id='doc1', vector=[0.1, 0.2, 0.3]) [OK]
Hint: Look for method named add_vector with id and vector [OK]
Common Mistakes:
  • Using wrong method names like insert or push_vector
  • Swapping argument order
  • Missing parameter names
3. Given this code snippet, what will be the output?
query_vector = [0.5, 0.5]
results = vector_store.search(query_vector, top_k=2)
print(results)
Assuming the vector store contains vectors close to [0.5, 0.5] for ids 'docA' and 'docB'.
medium
A. [('docA', 0.98), ('docB', 0.95)]
B. [('docC', 0.50), ('docD', 0.45)]
C. []
D. Error: search method not found

Solution

  1. Step 1: Understand search behavior

    The search method returns the top_k closest vectors by similarity score.
  2. Step 2: Match expected results

    Since 'docA' and 'docB' are closest to [0.5, 0.5], they appear with high similarity scores like 0.98 and 0.95.
  3. Final Answer:

    [('docA', 0.98), ('docB', 0.95)] -> Option A
  4. Quick Check:

    Top matches with high similarity = [('docA', 0.98), ('docB', 0.95)] [OK]
Hint: Search returns closest vectors with highest similarity scores [OK]
Common Mistakes:
  • Expecting unrelated documents in results
  • Assuming empty list if vectors exist
  • Thinking search method causes error
4. You run this code but get an error:
vector_store.add_vector([0.1, 0.2, 0.3], id='doc1')
What is the likely cause of the error?
medium
A. The add_vector method requires id first, then vector as keyword arguments
B. The vector argument should be named before id
C. Vectors cannot be lists, must be strings
D. The method add_vector does not exist

Solution

  1. Step 1: Check method signature

    add_vector usually expects id first, then vector as keyword arguments.
  2. Step 2: Identify argument order error

    Passing vector first without naming causes error; correct call is add_vector(id='doc1', vector=[0.1, 0.2, 0.3]).
  3. Final Answer:

    The add_vector method requires id first, then vector as keyword arguments -> Option A
  4. Quick Check:

    Correct argument order = The add_vector method requires id first, then vector as keyword arguments [OK]
Hint: Check argument order and names for add_vector [OK]
Common Mistakes:
  • Passing vector before id without naming
  • Thinking vectors must be strings
  • Assuming method does not exist
5. You want your AI agent to remember past conversations using a vector store. Which approach best ensures it retrieves relevant past info quickly and accurately?
hard
A. Store conversation texts as raw strings and search by keyword matching
B. Convert conversation texts into vectors and search by similarity in the vector store
C. Save conversations in a plain text file and read line by line
D. Use a random vector for each conversation and pick one randomly

Solution

  1. Step 1: Understand vector store advantage

    Vector stores allow searching by similarity, capturing meaning beyond exact words.
  2. Step 2: Compare options for retrieval quality

    Convert conversation texts into vectors and search by similarity in the vector store converts texts to vectors and searches by similarity, enabling fast and accurate recall of related past conversations.
  3. Final Answer:

    Convert conversation texts into vectors and search by similarity in the vector store -> Option B
  4. Quick Check:

    Similarity search in vector store = best for relevant recall [OK]
Hint: Use vector similarity, not keyword or random picks [OK]
Common Mistakes:
  • Relying on keyword matching only
  • Using random vectors losing relevance
  • Reading plain text files linearly