A practical fieldbook for forward-deployed engineers building reliable AI systems.
Read the book · Start here · Practice interview questions · Use the production checklist
FDE 101 explains the systems around an LLM: context, retrieval, tools, orchestration, evaluation, security, observability, and delivery. Chapters use short explanations, concrete comparisons, citations, and complete code listings that you can inspect in the repository.
The material is written for software engineers, forward-deployed engineers, and interview candidates who want to move from a working demo to an operable production system.
| Area | Questions the book answers |
|---|---|
| Foundations | What does an LLM receive, what belongs in context, and when should you fine-tune? |
| Production RAG | How should you parse, chunk, retrieve, rerank, cite, abstain, and debug? |
| Agents and MCP | When should a model choose a tool, and where must deterministic controls remain? |
| LangChain | How do messages, models, tools, retrievers, runnables, middleware, and structured output fit together? |
| LangGraph | How do state, reducers, edges, checkpoints, interrupts, retries, streaming, and subgraphs work? |
| Evaluation and LLMOps | How do you measure retrieval and generation separately, gate releases, and reproduce failures? |
| Security | How do authorization, least privilege, approval, and prompt-injection defenses constrain a model? |
| FDE practice | How do you design projects, explain trade-offs, and answer production interview questions? |
- Agent systems without chaos
- LangGraph
- Message history and memory
- Prompt-injection boundaries
- Agent-versus-workflow interview answer
Start in the interview room. Practice defining the concept, giving a small example, naming the trade-off, and explaining how you would verify the result.
- Start with the smallest honest implementation.
- Separate retrieval failures from generation failures.
- Keep permissions, calculations, and consequential actions in deterministic code.
- Add complexity only after an evaluation identifies a specific failure.
- Put citations next to the claims they support.
- Prefer provider-neutral examples unless a vendor API teaches an important contract.
The repository pins pnpm@10.10.0. Use pnpm rather than npm.
pnpm install
pnpm devOpen the local URL printed by Astro. Create and inspect a production build with:
pnpm build
pnpm previewStandalone listings under src/examples/ require Python 3.10 or newer. They are educational examples; the documentation site itself does not require Python.
src/
├── content/docs/ Book chapters, glossary notes, field guides, and interviews
├── examples/ Complete code listings imported into the chapters
├── components/ Small editorial and navigation components
└── styles/ Paper-and-ink typography, responsive layout, and print rules
Code examples are imported into MDX with ?raw, so the code shown in a chapter is the same file that can be checked or executed from src/examples/.
- Add a Markdown or MDX file under
src/content/docs/. - Include a unique
title,description,contentType,topics, andlastVerifiedvalue in its frontmatter. - Put complete examples under
src/examples/and import them into MDX with?raw. - Cite official documentation or primary sources beside the claim they support.
- Run
pnpm buildbefore review.
Every push to main runs the GitHub Pages workflow. The Astro configuration derives the Pages base path from GITHUB_REPOSITORY, builds static HTML, generates the sitemap, and creates Pagefind search data.
For a custom deployment, set SITE_URL to the public origin. Set BASE_PATH only when the site is served from a subpath.
$env:SITE_URL='https://docs.example.com'
pnpm buildPackage installation uses pnpm with the official npm registry configured in .npmrc.