---
theme: seriph
title: "Lesson 13 — When Should the Agent Decide What to Retrieve?"
info: "English video course for AI Agents in Depth"
author: Bojie Li
transition: slide-left
mdc: true
lineNumbers: false
monaco: false
aspectRatio: 16/9
canvasWidth: 980
layout: cover
class: cover
---
Build · Chapter 3 · Memory and Knowledge
# When Should the Agent Decide What to Retrieve?
Agentic RAG, contextual retrieval, and two-tier memory
Lesson 13 of 42 · 19 minutes · Agentic RAG; Contextual Retrieval; Deep Knowledge Extraction
---
# Why this problem matters
Search decision
The Agent decides whether retrieval is needed.
Query reformulation
New evidence changes the next search.
Stopping
The Agent judges whether evidence is sufficient.
---
# Three ideas to keep in view
Agentic RAG
Retrieval becomes a tool inside ReAct
Contextual retrieval
Restore document context before indexing each chunk
Two-tier memory
Resident overview + retrieved detail
---
# The book's visual model
Agentic RAG architecture
---
# Retrieve once vs. Agentic retrieval
Retrieve once
- Fixed query
- Fixed top-k
- One chance to find evidence
Agentic retrieval
- Iterative queries
- Evidence-aware decisions
- Explicit stopping
Autonomy adds flexibility and a new metacognition failure mode.
---
# Retrieval becomes an action
~~~python
while not evidence_sufficient(context):
query = agent.formulate_search(context)
passages = search(query)
context.add(passages)
return agent.answer_with_citations(context)
~~~
---
# Test the claim
3-82 min
Compare fixed and Agentic RAG offline
Observe: Query count, evidence coverage, answer quality, and cost
3-102 min
Compare plain and contextual chunks
Observe: Failures repaired by adding document-level context
3-112 min
Compare two-tier user memory
Observe: Resident overview plus on-demand conversation detail
Demo budget: 6 minutes · one contiguous terminal block
---
class: course-terminal
---
Live demo
# Switching to the terminal
~~~bash
$ uv run python chapter3/agentic-rag/compare_offline.py
$ uv run python chapter3/contextual-retrieval/compare_retrieval.py --per-query
$ uv run python chapter3/contextual-retrieval-for-user-memory/contextual_compare.py
~~~
Run the command(s), narrate decisions, and point to the observation—not just the output.
---
# What the evidence supports
Finding 1
Iterative retrieval helps when later queries depend on earlier evidence.
Finding 2
Contextual prefixes repair semantic loss introduced by chunking.
Finding 3
Overview and detail require different storage and access strategies.
---
# Boundary → design rule
An Agent cannot retrieve what it does not realize it is missing.
Use Agentic retrieval for genuinely multi-step evidence gathering; keep simple questions on a simple path.
---
# Continue the experiment
---
layout: center
class: text-center
---
Pause and apply
# Your turn
What independent signal can tell an Agent that its evidence is insufficient?
---
layout: center
class: text-center
---
Chapter 3 complete · Next · Lesson 14
Turn knowledge into actions through carefully designed tools.
→