1"use strict";(self.webpackChunkvictordibia_com=self.webpackChunkvictordibia_com||[]).push([[7828],{47484:function(e,t,a){a.r(t),a.d(t,{default:function(){return R}});var n=a(91031),i=a(2248),o=a(16215),s=a(22979),r=JSON.parse('{"KQ":[{"slug":"agent-concepts","name":"Agent Concepts","description":"Coverage of agent-specific concepts: tools, structured output, orchestration, observability, memory, planning, reasoning","howEvaluated":"Review TOC and chapters for agent-specific topics vs general GenAI/LLM fundamentals"},{"slug":"multi-agent-patterns","name":"Multi-Agent Patterns","description":"Coverage of multi-agent coordination, communication, team structures, handoffs, and orchestration patterns","howEvaluated":"Check for patterns like supervisor, swarm, handoffs, conversation-driven orchestration, workflow patterns"},{"slug":"hands-on-implementation","name":"Hands-on Implementation","description":"Emphasis on practical implementation with runnable code examples and complete applications","howEvaluated":"Count Python + Notebook files, review for end-to-end applications vs isolated snippets"},{"slug":"ux-principles","name":"UX Principles","description":"Coverage of user experience for AI applications: streaming, feedback, human-in-the-loop, error handling, interfaces","howEvaluated":"Review for UX-focused chapters or sections in TOC"}],"b7":[{"id":"designing-multiagent-systems","title":"Designing Multi-Agent Systems","shortTitle":"Designing MAS","author":"Victor Dibia","year":2025,"coverImage":"/images/bookcover.webp","description":"15 chapters across 4 parts teaching multi-agent systems from first principles. Part I covers theory (patterns, UX principles). Part II guides the reader through building a full featured but hackable multi-agent framework called - PicoAgents - from scratch. Spefically, you build an agent class (add model clients, tool calling, middleware, observability with opentelemetry, human input and approvals, agents as tool), extend it to build a computer use agent, builld multi-agent workflows, orchestration, and learn to integrate these into a web application. Part III covers evaluation, optimization, protocols (MCP/A2A), and ethics. Part IV provides full case studies (you build a multiagent workflow for structured data analysis and a software engineering agent). The GitHub repo also contains examples of the same concepts implemented using the Microsoft Agent Framework (successor to AutoGen and Semantic Kernel), Goole ADK, and LangGraph.\\n","amazonUrl":"https://www.amazon.com/dp/B0G2BCQQJY","githubUrl":"https://github.com/victordibia/designing-multiagent-systems","officialUrl":"https://multiagentbook.com","metrics":{"pythonFiles":262,"notebookFiles":14,"totalCodeFiles":276,"source":"GitHub repo analysis (Nov 2025)"},"dimensions":[{"slug":"agent-concepts","name":"Agent Concepts","score":5,"justification":"15 chapters covering agent execution loop, tools, memory, middleware, computer use agents, evaluation trajectories, optimization strategies, and distributed protocols (MCP, A2A).","source":"TOC: 4-part structure with 15 chapters all agent-focused"}
1,{"slug":"multi-agent-patterns","name":"Multi-Agent Patterns","score":5,"justification":"Ch2 provides full taxonomy: deterministic (sequential, conditional, parallel, supervisor) and autonomous (plan-based, handoff, conversation-driven). Ch6-7 implement each pattern from scratch.","source":"TOC: Ch2 taxonomy, Ch6-7 implementation"},{"slug":"hands-on-implementation","name":"Hands-on Implementation","score":5,"justification":"Builds complete PicoAgents library from scratch across Part II (6 chapters). Includes evaluation framework, optimization techniques, and two full case studies (business Q&A, software engineering agent).","source":"GitHub: 262 .py + 14 .ipynb, Part II + Part IV"},{"slug":"ux-principles","name":"UX Principles","score":5,"justification":"Ch3 establishes 4 UX principles (capability discovery, cost-aware delegation, observability, interruptibility). Ch8 provides a guide on building modern agent UIs with FastAPI + SSE backend, Vanilla JS and React frontend with streaming.","source":"TOC: Ch3 UX Principles, Ch8 Web Implementation"}],"topics":["Agent execution loop and middleware","Multi-agent orchestration patterns (6 patterns)","Computer use agents (DOM, visual, hybrid)","Deterministic workflows with checkpointing","Autonomous orchestration and termination","Agent UX and web applications (SSE, React)","Evaluation with trajectories and LLM judges","10 failure modes and optimization strategies","MCP and A2A protocols for distributed agents","Ethics, security, and responsible AI","Case studies: Business Q&A, Software Engineering Agent"],"audience":["System architects and software engineers","Technical leads making architecture decisions","AI engineers transitioning to agents","Product managers understanding capabilities"],"focus":["Part I: Theory foundationâagent definition, 6 orchestration patterns (sequential, conditional, parallel, supervisor, handoff, conversation-driven), 4 UX principles","Part II: Build PicoAgents library from scratchâCh4 covers BaseAgent (async loop, streaming), BaseChatCompletionClient (multi-provider LLMs), structured output (Pydantic), BaseTool/FunctionTool (auto-schema from type hints), CancellationToken, BaseMemory (RAG), MemoryTool (cross-session learning), BaseMiddleware (security/PII/rate-limiting/OpenTelemetry), context engineering (compaction, isolation, filtering), human-in-the-loop (tool approval, stateless clarification), agents-as-tools; Ch5 covers computer use agents; Ch6-7 cover workflows and autonomous orchestration; Ch8 covers web UX with FastAPI/SSE/React","Part III: Production readinessâtrajectory evaluation, 10 failure modes, MCP/A2A protocols, ethics and security","Part IV: Complete case studiesâbusiness Q&A from unstructured data, software engineering agent","276 code files, framework-agnostic patterns, digital version with quarterly updates"],"isAuthorBook":true},{"id":"generative-ai-design-patterns","title":"Generative AI Design Patterns","shortTitle":"GenAI Patterns","author":"Valliappa Lakshmanan & Hannes Hapke","year":2025,"coverImage":"/images/books/genaipatterns.jpg","description":"Covers 32 design patterns for generative AI including content control, RAG, reasoning, reliability, and agents. Uses a structured problem/solution format for each pattern.","amazonUrl":"https://amzn.to/4ixAhvW","githubUrl":"https://github.com/lakshmanok/generative-ai-design-patterns","metrics":{"pythonFiles":64,"notebookFiles":50,"totalCodeFiles":114,"source":"GitHub repo analysis (Nov 2025)"},"dimensions":[{"slug":"agent-concepts","name":"Agent Concepts","score":3,"justification":"Chapter 7 covers Tool Calling, Code Execution, and Multi-agent patterns. Broader focus on 32 GenAI patterns including RAG, reasoning, and reliability.","source":"README: 32 patterns, 3 in Ch7 are agent-specific"}
1,{"slug":"multi-agent-patterns","name":"Multi-Agent Patterns","score":3,"justification":"Pattern #23 covers multi-agent collaboration. Additional supporting patterns include LLM-as-Judge (#17), Reflection (#18), and Long-Term Memory (#28) that enable multi-agent systems.","source":"TOC: Patterns 17, 18, 23, 28"},{"slug":"hands-on-implementation","name":"Hands-on Implementation","score":4,"justification":"Dedicated example folder for each of 32 patterns. Pattern-focused examples rather than complete applications.","source":"GitHub: 64 .py + 50 .ipynb files"},{"slug":"ux-principles","name":"UX Principles","score":1,"justification":"Focus is on backend patterns: content control, retrieval, reasoning, and reliability. Valuable foundation for agent backends.","source":"README TOC review"}],"topics":["Content style control","RAG patterns","Reasoning (CoT, ToT)","Reliability patterns","Tool calling","Constraints and optimization","Guardrails"],"audience":["ML engineers building GenAI applications","Architects designing GenAI systems","Developers familiar with design patterns"],"focus":["Broad coverage of 32 GenAI patterns","Structured problem/solution format","Strong RAG and reliability coverage","Companion to ML Design Patterns book"]},{"id":"building-applications-ai-agents","title":"Building Applications with AI Agents","shortTitle":"Building AI Agents","author":"Michael Albada","year":2025,"coverImage":"/images/books/aiagentsablada.jpeg","description":"A solid introductory resource for folks new to AI agents. Notably covers human-agent collaboration, trust, and governance (Ch10), plus learning from experience with fine-tuning approaches (Ch6). Includes code samples across 3 frameworks (LangGraph, LangChain, AutoGen)âthough these may become outdated given rapid framework evolution.","amazonUrl":"https://amzn.to/48LALtV","githubUrl":"https://github.com/michaelalbada/BuildingApplicationsWithAIAgents","metrics":{"pythonFiles":62,"notebookFiles":0,"totalCodeFiles":62,"source":"GitHub repo analysis (Nov 2025)"},"dimensions":[{"slug":"agent-concepts","name":"Agent Concepts","score":4,"justification":"Covers scenario specs, multi-framework implementations, evaluation harness, observability.","source":"README: multi-framework platform for AI agents"}
1,{"slug":"multi-agent-patterns","name":"Multi-Agent Patterns","score":3,"justification":"Ch7 covers multiagent coordination patterns (democratic, hierarchical, actor-critic), communication protocols, and conflict resolution. Implements across multiple frameworks.","source":"TOC: Ch7 Multiagent Coordination"},{"slug":"hands-on-implementation","name":"Hands-on Implementation","score":4,"justification":"Multiple scenario-based applications: ecommerce, financial services, healthcare, IT helpdesk, legal, SOC, supply chain.","source":"GitHub: src/frameworks/langgraph_agents/ folders"},{"slug":"ux-principles","name":"UX Principles","score":3,"justification":"Ch10 covers human-agent collaboration in depth: roles/autonomy, trust lifecycle, escalation design, oversight, shared memory, governance, and compliance. Production-focused but addresses user-facing concerns.","source":"TOC: Ch10 Human-Agent Collaboration"}],"topics":["Multi-framework development","LangGraph implementation","LangChain implementation","AutoGen implementation","Observability (Loki, OpenTelemetry)","Evaluation harness","Industry scenarios"],"audience":["Developers comparing agent frameworks","Teams building production agents","Engineers setting up observability"],"focus":["Same scenarios implemented across frameworks","Built-in observability setup","Industry-specific examples","Framework-agnostic scenario specs"]},{"id":"reasoning-from-scratch","title":"Build a Reasoning Model (From Scratch)","shortTitle":"Reasoning from Scratch","author":"Sebastian Raschka","year":2026,"coverImage":"/images/books/reasoningscratch.jpg","description":"Starts from a pre-trained base model and adds reasoning to it in code: evaluation and answer grading first, then inference-time scaling (temperature and top-p sampling, self-consistency voting), then self-refinement, then training with reinforcement learning from verifiable rewards and GRPO, then distillation. Mirrors how models like DeepSeek R1 are actually built, at a size that runs locally. Eight chapters and seven appendixes; the appendixes cover the Qwen3 source, larger models, batched throughput and a chat interface.","amazonUrl":"https://amzn.to/4zDo54V","githubUrl":"https://github.com/rasbt/reasoning-from-scratch","officialUrl":"https://www.manning.com/books/build-a-reasoning-model-from-scratch","metrics":{"pythonFiles":93,"notebookFiles":19,"totalCodeFiles":112,"source":"GitHub repo analysis (Aug 2026)"},"dimensions":[{"slug":"agent-concepts","name":"Agent Concepts","score":2,"justification":"Reasoning is covered in depth â inference-time scaling, self-consistency, self-refinement â and Ch3 builds the answer grading that verifiable rewards depend on. Tools, memory and orchestration are out of scope.","source":"TOC: Ch3-Ch5 reasoning and evaluation; no tool or memory chapters"}
1,{"slug":"multi-agent-patterns","name":"Multi-Agent Patterns","score":1,"justification":"Single model throughout. No coordination, handoff or orchestration content.","source":"TOC review: 8 chapters, none multi-agent"},{"slug":"hands-on-implementation","name":"Hands-on Implementation","score":5,"justification":"A working GRPO training loop in reasoning_from_scratch/ch06.py (reward_rlvr, sequence_logprob, compute_grpo_loss, train_rlvr_grpo), with batched and FSDP variants, then Ch7 adds KL, clip ratio and format rewards as separate runnable scripts. CI runs the code on Linux, macOS and Windows.","source":"GitHub: 93 .py + 19 .ipynb, per-chapter modules and test workflows"},{"slug":"ux-principles","name":"UX Principles","score":1,"justification":"One appendix builds a chat interface. Otherwise the subject is model internals.","source":"TOC: Appendix on chat interfaces only"}],"topics":["Inference-time scaling (temperature, top-p, self-consistency)","Self-refinement","Reinforcement learning from verifiable rewards","GRPO and its variants","Distillation","Reasoning evaluation and answer grading"],"audience":["Engineers who want to know how reasoning models are trained","Readers of Build a Large Language Model (From Scratch)","Developers with PyTorch experience"],"focus":["Adds reasoning to a pre-trained base model, step by step","Mirrors DeepSeek R1-style training at a runnable size","Reinforcement learning implemented rather than described","Printed in color; 440 pages"]},{"id":"llms-from-scratch","title":"Build a Large Language Model (From Scratch)","shortTitle":"LLMs from Scratch","author":"Sebastian Raschka","year":2024,"coverImage":"/images/books/llmscratch.webp","description":"Teaches how LLMs work by implementing them from scratch. Covers attention mechanisms, pretraining, and finetuning. Builds a GPT-like model step by step.","amazonUrl":"https://amzn.to/4pDf5qz","githubUrl":"https://github.com/rasbt/LLMs-from-scratch","metrics":{"pythonFiles":122,"notebookFiles":55,"totalCodeFiles":177,"source":"GitHub repo analysis (Nov 2025)"},"dimensions":[{"slug":"agent-concepts","name":"Agent Concepts","score":1,"justification":"Focuses on understanding LLMs at the architecture level - essential foundation for understanding what agents call under the hood.","source":"README TOC: Ch1-7 are model building"}
1,{"slug":"multi-agent-patterns","name":"Multi-Agent Patterns","score":1,"justification":"Focuses on single model training and finetuning. Valuable for teams building custom models for agent systems.","source":"README: no multi-agent topics in TOC"},{"slug":"hands-on-implementation","name":"Hands-on Implementation","score":5,"justification":"Extensive notebooks building GPT from scratch. Every concept implemented in code.","source":"GitHub: 122 .py + 55 .ipynb files"},{"slug":"ux-principles","name":"UX Principles","score":1,"justification":"Focus is on model internals: attention, pretraining, finetuning. Deep understanding helps debug agent behavior.","source":"README TOC review"}],"topics":["LLM architecture","Tokenization","Attention mechanisms","GPT implementation","Pretraining","Finetuning","LoRA"],"audience":["ML engineers learning LLM internals","Researchers building custom models","Developers with PyTorch experience"],"focus":["Deep understanding of LLM internals","From-scratch implementation approach","Includes video course companion","Bonus implementations: Llama 3.2, Qwen3, Gemma 3"]}]}');const l=[{title:"An Illustrated Guide to AI Agents",author:"Maarten Grootendorst & Jay Alammar",note:"8 of 12 chapters were complete as of August 2026; print is scheduled for later in the year.",coverImage:"/images/books/illustratedagents.jpeg",amazonUrl:"https://amzn.to/4wYJ6ED",officialUrl:"https://www.oreilly.com/library/view/an-illustrated-guide/9798341662681/"}],c=e=>{let{href:t,children:a}=e;return i.createElement("a",{className:"ab-buy",href:t,target:"_blank",rel:(n=t,void 0===n&&(n=""),/amzn\.to|[?&]tag=/.test(n)?"sponsored nofollow noopener noreferrer":"noopener noreferrer")},a);var n},m=e=>{let{score:t}=e;return i.createElement("span",{className:"ab-score","aria-label":`${t} out of 5`},[1,2,3,4,5].map((e=>i.createElement("span",{key:e,className:"ab-pip "+(e<=t?"ab-pip-on":"")}))))},d=e=>{let{id:t}=e;const a=r.b7.find((e=>e.id===t));return a?i.createElement("div",{className:"ab-scores not-prose"},a.dimensions.map((e=>i.createElement("div",{className:"ab-row",key:e.slug},i.createElement("div",{className:"ab-row-head"},i.createElement("span",{className:"ab-dim"},e.name),i.createElement(m,{score:e.score})),i.createElement("p",{className:"ab-just"},e.justification),i.createElement("p",{className:"ab-src"},e.source))))):null},u=e=>{let{id:t}=e;const a=r.b7.find((e=>e.id===t));if(!a)return null;const{totalCodeFiles:n,pythonFiles:s,notebookFiles:l,source:m}=a.metrics||{};return i.createElement("div",{className:"ab-card not-prose"},a.coverImage&&i.createElement("img",{className:"ab-cover",src:a.isAuthorBook?"/bookcover.webp":a.coverImage,alt:`Cover of ${a.title}`,loading:"lazy"}),i.createElement("h3",{className:"ab-title"},a.title,a.isAuthorBook&&i.createElement(o.ab,{tone:"accent",className:"ab-mine"},"My book")),i.createElement(o.W8,{items:[a.author,a.year]}),i.createElement("p",{className:"ab-desc"},a.description),n>0&&i.createElement("p",{className:"ab-metrics"},n," code files (",s," .py, ",l," .ipynb) â ",m),i.createElement("div",{className:"ab-links"},a.amazonUrl&&i.createElement(c,{href:a.amazonUrl},"Amazon"),a.githubUrl&&i.createElement("a",{className:"ab-buy",href:a.githubUrl,target:"_blank",rel:"noopener noreferrer"},"Code"),a.officialUrl&&i.createElement("a",{className:"ab-buy",href:a.officialUrl,target:"_blank",rel:"noopener noreferrer"},"Site")))},p=()=>i.createElement("div",{className:"ab-forthcoming not-prose"},l.map((e=>i.createElement("div",{className:"ab-card",key:e.title},e.coverImage&&i.createElement("img",{className:"ab-cover",src:e.coverImage,alt:`Cover of ${e.title}`,loading:"lazy"}),i.createElement("h3",{className:"ab-title"},e.title,i.createElement(o.ab,{className:"ab-mine"},"Early release")),i.createElement(o.W8,{items:[e.author,"Not yet published"]}),i.createElement("p",{className:"ab-desc"},e.note),i.createElement("div",{className:"ab-links"},i.createElement(c,{href:e.amazonUrl},"Pre-order"),i.createElement("a",{className:"ab-buy",href:e.officialUrl,target:"_blank",rel:"noopener noreferrer"},"O'Reilly")))))),h=()=>i.createElement("ul",{className:"ab-dims not-prose"},r.KQ.map((e=>i.createElement("li",{key:e.slug},i.createElement("span",{className:"ab-dim"},e.name),i.createElement("span",{className:"ab-just"}," ",e.description),i.createElement("span",{className:"ab-src"}," Judged by: ",e.howEvaluated))))),g=()=>{const{0:e,1:t}=(0,i.useState)(!1);return i.createElement("div",{className:"ab-scoring not-prose"},i.createElement("button",{type:"button",className:"ab-buy",onClick:()=>t(!0)},"How the scoring works"),i.createElement(s.l,{open:e,onClose:()=>t(!1),title:"How the scoring works"},i.createElement("p",{className:"ab-just"},"Scores come from public evidence: the table of contents, the README, and the number of ",i.createElement("code",null,".py")," and ",i.createElement("code",null,".ipynb")," files in each repository. That measures coverage and how much runnable code ships with a book â not how well it is
1written."),i.createElement(h,null),i.createElement("p",{className:"ab-src"},"The same rubric drives the interactive comparison at multiagentbook.com/labs/ai-agent-books.")))},b=()=>i.createElement("p",{className:"ab-note"},"Some links on this page are affiliate links.");var f=a(13058);function y(e){const t=Object.assign({span:"span",p:"p",h2:"h2",a:"a",ul:"ul",li:"li",strong:"strong",em:"em"},(0,n.R)(),e.components);return i.createElement(i.Fragment,null,i.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<figure class="gatsby-resp-image-figure" style="margin-bottom: 8px; border-radius: 0.125rem">\n <span\n class="gatsby-resp-image-wrapper"\n style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 850px; "\n >\n <a\n class="gatsby-resp-image-link"\n href="/static/1d9d8b3e1d6970686732150b3c830e5c/8aa17/hero.webp"\n style="display: block"\n target="_blank"\n rel="noopener"\n >\n <span\n class="gatsby-resp-image-background-image"\n style="padding-bottom: 55.86854460093896%; position: relative; bottom: 0; left: 0; background-image: url(\'data:image/webp;base64,UklGRqQAAABXRUJQVlA4WAoAAAAQAAAAEwAACgAAQUxQSBQAAAABD/D+/4iIICQgaP6/9iCi/ylxJFZQOCBqAAAAMAMAnQEqFAALAD7RVKNLqCSjIbAIAQAaCWcAAFyuvgJV4AD+8BE6gW9jf+zFRrR18gS4LL3PP6gn2AizixjOyOoCWxaBu4e1esC3/EGFBJkCnur1gtTK0uWqi3UiyujAPBxIImpFajAAAA==\'); background-size: cover; display: block;"\n ></span>\n <img\n class="gatsby-resp-image-image"\n alt="Top 5 AI Agent Books in 2026"\n title=""\n src="/static/1d9d8b3e1d6970686732150b3c830e5c/10237/hero.webp"\n srcset="/static/1d9d8b3e1d6970686732150b3c830e5c/bc663/hero.webp 213w,\n/static/1d9d8b3e1d6970686732150b3c830e5c/8dc4f/hero.webp 425w,\n/static/1d9d8b3e1d6970686732150b3c830e5c/10237/hero.webp 850w,\n/static/1d9d8b3e1d6970686732150b3c830e5c/5e05a/hero.webp 1275w,\n/static/1d9d8b3e1d6970686732150b3c830e5c/8aa17/hero.webp 1376w"\n sizes="(max-width: 850px) 100vw, 850px"\n style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"\n loading="lazy"\n decoding="async"\n />\n </a>\n </span>\n <figcaption class="gatsby-resp-image-figcaption">Top 5 AI Agent Books in 2026</figcaption>\n </figure>'}}),"\n",i.createElement(t.p,null,"AI Agents are now a staple part of how software is built. With tools like Claude Code from Anthropic, Codex from OpenAI, it is now possible to author and review complex software functionality with almost no effort. Arguably, understanding how these agents work, and building the right intuition on how and when to use them is critical for software engineers. In this post, I'll cover 5 books that are helpful to build this intuition."),"\n",i.createElement(t.p,null,"Each book is scored 1â5 on how much it\ncovers agent concepts, multi-agent patterns, hands-on implementation and UX â\nand every score cites what it was read from, so you can check it."),"\n",i.createElement(f.Pq,{title:"Disclosures"},i.createElement(t.p,null,"I wrote one of these books (Designing Multi-Agent Systems), and the dimensions\nare the ones I care about in an agent book.")),"\n",i.createElement(g),"\n",i.createElement(t.h2,{id:"designing-multi-agent-systems",style:{position:"relative"}},i.createElement(t.a,{href:"#designing-multi-agent-systems","aria-label":"designing multi agent systems permalink",className:"anchor before"},i.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>'}})),"Designing Multi-Agent Systems"),"\n",i.createElement(u,{id:"designing-multiagent-systems"}),"\n",i.createElement(t.p,null,"In Designing Multi-Agent Systems, you'll take a first principles approach to learn to design and implement reliable, agentic applications from scratch, understand why their architectures work, and master patterns for collaboration, observability, interruptibility, and trust. These principles remain useful as the ecosystem evolves, giving you the tools to build scalable, robust, and human-centered agentic systems, whether in research or production."),"\n",i.createElement(t.p,null,"Inside, youâll explore:"),"\n",i.createElement(t.ul,null,"\n",i.createElement(t.li,null,"Multi-Agent Fundamentals â Core concepts and design patterns for multi-agent collaboration"),"\n",i.createElement(t.li,null,"Build from Scratch â Step-by-step guid
1ance for implementing agents, tools, as well as deterministic workflows and autonomous orchestration patterns."),"\n",i.createElement(t.li,null,"Evaluation & Reliability â Learn trajectory-based testing, structured outputs, observability, and performance metrics to ensure agents behave predictably."),"\n",i.createElement(t.li,null,"UX and Trust Principles â Apply human-centered design principles like interruptibility, capability discovery, and transparent decision-making to build agents users can rely on."),"\n",i.createElement(t.li,null,"Distributed Agent Protocols â Learn how protocols like MCP and A2A build enable distributed multi-agent systems that operate across networks, regions, and organizations."),"\n"),"\n",i.createElement(d,{id:"designing-multiagent-systems"}),"\n",i.createElement(t.p,null,i.createElement(t.strong,null,"Not for you if")," you want a framework tutorial. The book builds the framework\ninstead, which is slower and only worth it if you want to know why the pieces\nare shaped the way they are."),"\n",i.createElement(t.h2,{id:"generative-ai-design-patterns",style:{position:"relative"}},i.createElement(t.a,{href:"#generative-ai-design-patterns","aria-label":"generative ai design patterns permalink",className:"anchor before"},i.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>'}})),"Generative AI Design Patterns"),"\n",i.createElement(u,{id:"generative-ai-design-patterns"}),"\n",i.createElement(t.p,null,"This one is by ",i.createElement(t.a,{href:"https://www.vlakshman.com"},"Lak")," (Valliappa Lakshmanan), a\nfriend. It is the generative-AI companion to\n",i.createElement(t.a,{href:"https://amzn.to/4yb4Az5"},i.createElement(t.em,null,"Machine Learning Design Patterns")),"."),"\n",i.createElement(t.p,null,"Thirty-two patterns, each a problem and its solution. You read the one you need\nwhen you hit it, not the book front to back. Three are agent-specific. The rest\nâ RAG, reliability, guardrails, evaluation â are what actually breaks in agent\napplications."),"\n",i.createElement(d,{id:"generative-ai-design-patterns"}),"\n",i.createElement(t.p,null,i.createElement(t.strong,null,"Read it if")," you are building generative AI applications broadly and agents\nare one part of that. ",i.createElement(t.strong,null,"Skip it if")," you want depth on orchestration â it\ncovers multi-agent collaboration in a single pattern."),"\n",i.createElement(t.h2,{id:"building-applications-with-ai-agents",style:{position:"relative"}},i.createElement(t.a,{href:"#building-applications-with-ai-agents","aria-label":"building applications with ai agents permalink",className:"anchor before"},i.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>'}})),"Building Applications with AI Agents"),"\n",i.createElement(u,{id:"building-applications-ai-agents"}),"\n",i.createElement(t.p,null,"Michael Albada implements the same scenarios across several frameworks rather\nthan picking one and showing its happy path. That comparison is the value: you\nsee what a framework actually costs you on the same problem, which is the\nquestion you have when choosing one and the question almost no framework's own\ndocumentation answers."),"\n",i.createElement(t.p,null,"Observability is set up from the beginning rather than bolted on in a final\nchapter, which matches how y
1ou would want to start a real project."),"\n",i.createElement(d,{id:"building-applications-ai-agents"}),"\n",i.createElement(t.p,null,i.createElement(t.strong,null,"Read it if")," you are choosing between frameworks and want the same problem\nsolved four ways rather than one framework's happy path."),"\n",i.createElement(t.h2,{id:"build-a-large-language-model-from-scratch",style:{position:"relative"}},i.createElement(t.a,{href:"#build-a-large-language-model-from-scratch","aria-label":"build a large language model from scratch permalink",className:"anchor before"},i.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>'}})),"Build a Large Language Model (From Scratch)"),"\n",i.createElement(u,{id:"llms-from-scratch"}),"\n",i.createElement(t.p,null,"This scores 1 out of 5 on three of four dimensions and is still on the list.\nIt is not an agent book â it is the book about the layer underneath, and the\nsame is true of the one after it."),"\n",i.createElement(t.p,null,"Sebastian Raschka has you build a working LLM in PyTorch a piece at a time:\ntokenisation, attention, the training loop, then fine-tuning. The value is that\nafterwards the model stops being a black box. When an agent loops, truncates\nits context or ignores a tool schema, you are debugging a thing you have built\nrather than guessing at one you have only called."),"\n",i.createElement(d,{id:"llms-from-scratch"}),"\n",i.createElement(t.p,null,i.createElement(t.strong,null,"Read it if")," you keep hitting the limits of treating the model as a black\nbox. ",i.createElement(t.strong,null,"Skip it if")," you want to ship an agent this quarter."),"\n",i.createElement(t.h2,{id:"build-a-reasoning-model-from-scratch",style:{position:"relative"}},i.createElement(t.a,{href:"#build-a-reasoning-model-from-scratch","aria-label":"build a reasoning model from scratch permalink",className:"anchor before"},i.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>'}})),"Build a Reasoning Model (From Scratch)"),"\n",i.createElement(u,{id:"reasoning-from-scratch"}),"\n",i.createElement(t.p,null,"Same author, same caveat: not an agent book. You start from a pre-trained base\nmodel and add reasoning to it in code â evaluation and answer grading first,\nthen inference-time scaling and self-refinement, then reinforcement learning\nwith verifiable rewards and GRPO, then distillation. It mirrors how models like\nDeepSeek R1 are trained, at a size that runs on your own machine."),"\n",i.createElement(d,{id:"reasoning-from-scratch"}),"\n",i.createElement(t.p,null,"Chapter 3 builds answer grading: extraction, normalisation, and symbolic\nequality checking. Chapter 6 then uses that grader as the reward signal for GRPO\ntraining. Scoring an agent trajectory is the same problem, and here you\nimplement both the grader and the training loop that consumes it."),"\n",i.createElement(t.p,null,i.createElement(t.strong,null,"Read it if")," you want to know how reasoning models are made rather than\nwhich one to call. ",i.createElement(t.strong,null,"Skip it if")," you are never going to train one: it assumes\nPyTorch, and none of it necessarily makes an agent application easier to build."),"\n",i.createElement(t.h2,{id:"an-illustrated-guide-to-ai-agents",style:{position:"relative"}}
1,i.createElement(t.a,{href:"#an-illustrated-guide-to-ai-agents","aria-label":"an illustrated guide to ai agents permalink",className:"anchor before"},i.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>'}})),"An Illustrated Guide to AI Agents"),"\n",i.createElement(p),"\n",i.createElement(t.p,null,"This book is not scored as it is still in development. It is included for the\nauthors' focus on illustration and explanation â they also wrote\n",i.createElement(t.a,{href:"https://amzn.to/3V1SNVd"},i.createElement(t.em,null,"Hands-On Large Language Models"))," â and it is built\naround several hundred custom diagrams rather than code listings. Maarten has\nsaid there are more than 300 illustrations for the eight finished chapters\nalone."),"\n",i.createElement(t.p,null,"Jay Alammar's ",i.createElement(t.em,null,"Illustrated Transformer")," is how a lot of people first understood\nattention, and this is that method applied to agents. If you build intuition\nfrom a diagram before you build it from a stack trace, this is the one to\nwatch. I will score it here once it ships and the repository is public."),"\n",i.createElement(t.p,null,"This article included five scored books. I'd say treat this as a starting point rather than a survey. I expect the list will\ngrow.\nThe interactive version, where you can sort by dimension and see every\njustification side by side, is at\n",i.createElement(t.a,{href:"https://multiagentbook.com/labs/ai-agent-books"},"multiagentbook.com/labs/ai-agent-books"),"."),"\n",i.createElement(b))}var v=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,n.R)(),e.components);return t?i.createElement(t,e,i.createElement(y,e)):y(e)},w=a(87677),E=a.n(w),k=a(19956),A=a(57080),C=a(60751),I=a(84849),S=a(28679),M=a(6085),T=a(43978),P=a(80149),L=a(8392);const x={a:e=>{let{href:t,children:a,...n}=e;return function(e){return void 0===e&&(e=""),/amzn\.to|[?&]tag=/.test(e)}(t)?i.createElement("a",Object.assign({href:t,target:"_blank",rel:"sponsored nofollow noopener noreferrer"},n),a):i.createElement("a",Object.assign({href:t},n),a)},ExtLink:I.cN,Link:k.Link,LinkIcon:S.q,Callout:I.bm,CalloutOrange:I.Ry,CalloutInfo:I.f,CalloutQuote:I.Pj,CalloutLink:I.Ly,RelatedArticle:I.in,Highlight:I.f4,Separator:I.wv,Tldr:I.d9},N=e=>{let{data:{mdx:t,ogImage:a,allMdx:s},pageContext:{next:r,previous:l,related:c,id:m},children:d}=e;return i.createElement(A.A,{activePage:"blog"},i.createElement(C.A,{blog:!0,title:t.frontmatter.title,description:t.excerpt,ogImage:a&&a.childImageSharp.fixed.src,datePublished:t.frontmatter.isoDate,keywords:t.frontmatter.tags}),i.createElement("div",{className:"post-page"},i.createElement("div",{className:"post-body"},i.createElement("article",{className:"prose sm:prose md:prose lg:prose min-w-0 max-w-none tracking-normal"},i.createElement("header",{className:"post-head"},i.createElement(o.YK,{to:"/blog",className:"post-back text-sm"},"All posts"),i.createElement(o.W8,{items:[t.frontmatter.date,t.fields.timeToRead.text],className:"post-meta"}),i.createElement("h1",{id:"introduction",className:"post-title"},t.frontmatter.title),t.frontmatter.description&&i.createElement("p",{className:"post-desc"},t.frontmatter.description),t.frontmatter.tags&&i.createElement("div",{className:"ui-pills post-tags"},t.frontmatter.tags.map((e=>i.createElement(k.Link,{key:e,to:`/blogtags/${E()(e)}/`,className:"no-underline"},i.createElement(o.ab,null,e)))))),i.createElement(n.x,{components:x},d),i.createElement(T.c,{previous:l,next:r})),t.tableOfContents&&!0===t.frontmatter.toc&&i.createElement("aside",{className:"post-aside"},i.createElement(P.A,{items:t.tableOfContents.items}))),i.createElement(L.A,{posts:c,id:m,all:s.edges}),i.createElement("div",{className:"ui-section"},i.createElement(M.G,null))))};function R(e){return i.createElement(N,e,i.createElement(v,e))}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.