Part 2: Developing advanced agent capabilities
The agent you built in Part 1 runs beautifully inside a notebook, but hand it a realistic request and the limits show up fast. Its knowledge is frozen to the training data, so without a way to fetch fresh documents, the answers drift out of date. Between turns, nothing is remembered, which rules out any longer conversation. Hard problems throw it off because it jumps in without a plan. Code is something that it can discuss, but not actually run. And tasks demanding several different skills tend to overwhelm a single agent trying to do everything at once. This part closes each of those gaps, one chapter at a time, and ends by showing how to evaluate whether the resulting agent actually works.
Chapter 5 introduces retrieval augmented generation and file tools so the agent can reach for knowledge that lives outside the model's training data. You will implement embeddings, chunking, and vector search from scratch, and give the agent a way to read from local files.
Chapter 6 adds memory in three layers. You will build a way to manage ever-growing conversations, session handling so different users keep their own history, and long-term memory that survives across runs. The same chapter introduces human-in-the-loop approval for sensitive tool calls.