I read Context Engineering.
This book focuses on how to design the context you feed to an LLM. It goes past tweaking prompt wording and covers how you select and structure the information you hand to the model, along with how you combine it with retrieval and memory.
The quality of an LLM's output depends far more on what you pass, in what order, and how much, than on the model itself. The book lifts this design from ad-hoc tricks to reproducible engineering.
The content connects directly to the problems you hit when you build RAG systems and agents, so I found it useful as a guide for implementation.