Skip to content

About

Self-study course on designing the systems around AI agents: 17 modules on context engineering, tools and MCP, orchestration, memory, evaluation, guardrails and observability, with Google ADK as the reference stack.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Harness Engineering: Designing the Systems Around AI Agents

A horse-riding harness labelled part by part, side by side with an AI agent harness whose parts are labelled reliability, observability, tool layer, governance and security, instructions, orchestration and evaluation

A self-study course on the systems you build around an LLM to turn it into a dependable product. A frontier model is a capability, not a system. The harness around it is what makes it reliable, governed and observable: how context is assembled, the tool interfaces, control flow, memory, evaluation, guardrails and telemetry. This course treats that harness as the main thing you engineer.

It is written for a working engineer who has tried LLM and agent APIs but hasn't yet built a production agent system. The reference stack is Google ADK at the API level, with models served through LiteLLM (Azure OpenAI, DeepSeek, Claude). Model training, fine-tuning and basic prompt engineering are out of scope.

Start here

If you want to… Go to
See the full plan, outcomes and conventions syllabus.md
Learn from the beginning, in order M1 · What Is a Harness → M17
See every layer combined into one design M17 · End-to-End Harness Design
Understand why agents fail and which layer is at fault M2 · Model Failure Science
Compare ADK with LangGraph, CrewAI, AutoGen and others frameworks/README.md

The course (modules/)

17 modules in 6 parts. Each module opens with a concrete scenario, follows three threads throughout (failure modes, the tradeoff ledger, and ADK at a glance), and ends with a design exercise.

Part # Module Question it answers
Foundations M1 What Is a Harness What exactly is the engineering artifact we're designing?
M2 Model Failure Science What does the model actually get wrong, and why?
M3 Harness Architecture & ADK What are the parts of a harness, and how do we record architecture decisions?
Cognitive layer M4 Context Engineering I: Assembly & Budgets What goes into the context window, in what form, and what does it cost?
M5 Context Engineering II: Retrieval & Grounding How do the right facts get into context, and how do we know they're right?
M6 The Instruction Layer How is the agent's standing policy written, versioned and tested?
M7 Memory & State What does the agent remember, for how long, and how is it kept correct?
Action layer M8 Tool Interfaces How do we give the model a safe, correct, debuggable API to the world?
M9 Tool Platforms: MCP How do tools become a platform that is discovered, versioned and governed?
M10 Orchestration I: Control Flow How much autonomy should this agent have, and how is that encoded?
M11 Orchestration II: Multi-Agent When is one agent not enough, and when do more agents just add failure modes?
Verification layer M12 Evaluation Harnesses How do we know the harness works, and keep knowing it?
M13 Reliability Engineering How does an agent degrade gracefully instead of failing hard?
Governance layer M14 Security & Injection Defense How do we stop the environment from turning the model against us?
M15 Guardrails, Safety & Governance Who decides what the agent may do, and how is that enforced and audited?
Operational layer M16 Observability & LLMOps When a run goes wrong, can you reconstruct exactly what happened?
Synthesis M17 End-to-End Harness Design How do all the layers fit into one coherent, defensible design?

Beyond the modules

  • discussions/: three deep-dives that grew out of questions while writing the course: telling derivable claims from interpretive ones when attributing failures, whether injecting memory into a cached prefix breaks prompt caching, and whether MCP tool definitions sit inside the cached prefix.
  • frameworks/: 17 open-source agent frameworks, each checked for licence and source, and mapped to the modules its components cover (and the ones they don't).
  • ADK-conventions/: practical ADK rules, starting with the right way to update session state.
  • mindmaps/: an interactive revision atlas, currently covering M4. Open mindmaps/index.html in a browser after cloning.
  • Code examples: runnable ADK agents in M1 and an instruction-layer experiment in M6.

Honest caveats

  • All 17 modules are written, but they are a first draft that hasn't had a full review pass yet.
  • There is no lab infrastructure. Exercises are design exercises done on paper, and code appears only where it illustrates a concept.
  • ADK-specific claims were checked against the official ADK docs when written. ADK changes quickly, so check an API against the current docs before relying on it.
  • The PDFs in downloaded-papers/ folders are third-party research papers, kept for reference. Their copyright belongs to their authors and publishers.

Layout

syllabus.md              course blueprint: outcomes, module map, conventions, decisions
modules/01..17/          the course, one README per module, plus supporting notes,
                         code examples and reference papers where a module has them
discussions/             deep-dives on questions raised while writing
frameworks/              open-source agent frameworks mapped to modules
ADK-conventions/         ADK usage rules
mindmaps/                interactive revision atlas (index.html)

About

Self-study course on designing the systems around AI agents: 17 modules on context engineering, tools and MCP, orchestration, memory, evaluation, guardrails and observability, with Google ADK as the reference stack.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages