A I T A L K S R O A D M A P
MASTER AI ENGINEERING WITH THESE VIDEOS
Focus: learn from seven of the best AI engineering talks, understand every idea in them, and turn each into skill you can show.
Inside
GUIDE How to use this roadmap and the learning order
TALK 1 Error Analysis (Andrew Ng)
TALK 2 Building and Evaluating Agents (Sayash Kapoor)
TALK 3 How We Build Effective Agents (Barry Zhang)
TALK 4 Do Not Build Agents, Build Skills (Zhang and Murag)
TALK 5 12-Factor Agents (Dex Horthy)
TALK 6 No Vibes Allowed (Dex Horthy)
TALK 7 Beating RL With Reflection: GEPA (Lakshya Agrawal)
GUIDE How to be better, capstone, interview bank, tools
Every talk: the big idea, every concept explained, tools with links, a hands-on exercise, mistakes to avoid, resources and interview questions.
This roadmap turns seven well-known AI engineering talks into a structured course. For every talk you get the big idea in plain words, every important concept explained, the tools mentioned or closely related with real links, a hands-on exercise, common mistakes, ways to get better, interview questions with what a strong answer covers, and further resources.
An honest note on sources. This document is built from each talk's title, description and the public material around it (the speakers' own articles, repositories, papers and courses). It is not a transcript. Where a number or a slide detail matters, check it against the video itself. Every link below points to a real, public page.
The seven talks, in the order you shared them:
Talk | Speaker | Event | Theme |
12-Factor Agents: Patterns of reliable LLM applications | Dex Horthy, HumanLayer | AI Engineer World's Fair 2025 | Reliable agent software design |
No Vibes Allowed: Solving Hard Problems in Complex Codebases | Dex Horthy, HumanLayer | AI Engineer Code Summit | Context and harness engineering for coding agents |
How We Build Effective Agents | Barry Zhang, Anthropic | AI Engineer Summit 2025, NYC | When and how to build agents |
Don't Build Agents, Build Skills Instead | Barry Zhang and Mahesh Murag, Anthropic | AI Engineer Code Summit | Agent Skills, MCP and scaffolding |
Building and Evaluating AI Agents | Sayash Kapoor, AI Snake Oil | AI Engineer Summit | Realistic expectations and evaluation |
Carrying Out Error Analysis (C3W2L01) | Andrew Ng, DeepLearning.AI | Deep Learning Specialization, Course 3 | Prioritising what to fix |
Beating RL With Reflection: GEPA and Optimize Anything | Lakshya A. Agrawal, GEPA | AI Engineer World's Fair | Automatic prompt and text optimisation |
Your original links, for reference. Match them to the titles above by opening each one:
The recommended learning order
Do not watch these in the order of popularity. Watch them in the order that builds understanding. The talks are not independent: each answers a question the previous one raises.
Step | Talk | Question it answers |
1 | Error analysis (Ng) | How do I decide what to fix first, using evidence instead of guesses? |
2 | Building and evaluating agents (Kapoor) | How do I stay realistic about agents and measure them properly? |
3 | Effective agents (Zhang) | Should I build an agent at all, and what is the simplest design that works? |
4 | Skills (Zhang and Murag) | How do I give a general agent expert knowledge without building a new agent each time? |
5 | 12-factor agents (Horthy) | How do I turn an agent demo into dependable production software? |
6 | No vibes allowed (Horthy) | How do I make coding agents work on large, messy, real codebases? |
7 | GEPA (Agrawal) | How do I improve prompts and agents automatically once I can measure them? |
The one idea behind all seven talks
If you remember only one sentence from this whole roadmap, make it this: an AI system is only as good as the context it sees, the loop it runs in, and the measurements you use to improve it. Context engineering decides what the model sees. Agent design decides the loop. Evals and error analysis decide how you improve. Skills and 12-factor patterns make the result maintainable. GEPA automates part of the improvement.
A 7 week study plan
Week | Focus | Output |
1 | Ng error analysis plus Kapoor on evaluation | A labelled error spreadsheet for any LLM feature you own |
2 | Zhang effective agents | A written "should this be an agent" checklist for one real task |
3 | Zhang and Murag skills | Two working Agent Skills |
4 | Horthy 12-factor agents | One small agent rebuilt with 12-factor rules |
5 | Horthy no vibes allowed | A research, plan, implement workflow on a real repo |
6 | GEPA | An optimised prompt with a before and after score |
7 | Capstone | One system that uses all of the above, with a short write-up |
T A L K 1 ──── 1 / 7
Focus: Learn to find out which mistakes are worth fixing before you spend a week fixing the wrong one.
SPEAKER Andrew Ng, DeepLearning.AI | EVENT Structuring Machine Learning Projects (Course 3 of the Deep Learning Specialization), lecture on error analysis | CORE IDEA Look at the errors, count them by category, fix the biggest category first |
Every AI team has the same temptation: the system gets something wrong, someone has a theory, and a week later a fix ships that barely moves the metric. Error analysis is the discipline that stops this. It is a manual, unglamorous process of looking at real failures and counting them by cause so that you can see where the biggest win is.
It is arguably the most transferable skill in this entire roadmap. It was taught for classical machine learning, yet it is exactly what modern LLM practitioners now call "looking at your data" and "reading your traces". Hamel Husain, Shreya Shankar and others teaching LLM evals describe the same loop: sample outputs, label what went wrong, group failures, fix the biggest group.
Idea 1: Do not fix what you have not measured. Suppose your cat classifier has 10 percent error and you think dogs mislabelled as cats are a problem. Before building a dog-specific fix, take 100 mistakes and count how many are actually dogs. If only 5 of the 100 are dogs, the most you could ever gain from a perfect dog fix is removing 5 percent of your errors, taking 10 percent error down to 9.5 percent. That number is called the ceiling for that fix. If 50 of the 100 are dogs, the ceiling is far higher and the fix is worth a week.
Idea 2: Use a spreadsheet, not a model. Take a sample of mistakes (Ng suggests starting with around 100 misclassified examples). Make one row per example and one column per candidate cause, such as "blurry image", "dog mistaken for cat", "great cat variety", "mislabelled in the dataset". Tick the boxes. Add a free-text comment column so new categories can appear as you read. At the bottom, total each column. The percentages tell you where to spend time.
Idea 3: Evaluate several ideas in parallel. One pass through the same spreadsheet lets you compare many ideas at once. This is faster than trying each idea as a separate experiment.
Idea 4: Categories are discovered, not decided up front. You begin with a few guesses, and as you read examples new categories appear. Add columns as you go. This is the same idea as "open coding" in qualitative research, and it is why people who skip reading the data miss the real failure modes.
Idea 5: Incorrectly labelled data is an error category too. If your ground truth is wrong, your metric is lying. Count how many mistakes are really labelling mistakes. Deep learning models are fairly robust to random label noise in the training set, but label errors in your dev or test set directly corrupt your measurement, so fix those first when they form a significant share of errors.
Idea 6: Look at examples the model got right as well. Fixing errors can break things that already work. Sampling some correct cases shows whether a fix could introduce new problems.
Idea 7: Look at the data by hand, always. Ng stresses that a few hours of looking at examples is among the highest-return activities in a project. Automation comes after understanding.
Term | Plain meaning |
Error analysis | Manually reviewing failures and grouping them by cause to decide what to work on |
Ceiling analysis | Estimating the maximum improvement a fix could deliver, by assuming that component is perfect |
Dev set | The set of examples you use to tune and compare your system during development |
Test set | A held-back set used once at the end to estimate real performance |
Bias and variance | Two main sources of error: the model is too simple (bias) or too sensitive to its training data (variance) |
Label noise | Wrong or inconsistent ground-truth labels |
Open coding | Reading data without fixed categories and letting categories emerge from what you see |
Failure mode | A distinct, repeatable way a system goes wrong |
Trace | The full record of one run of an LLM system: prompt, tool calls, outputs |
Axial coding | The second pass: grouping raw notes into a small set of named failure categories |
Replace "image" with "trace". An LLM application's equivalent loop looks like this:
Tool | What it does | Best for | Link |
Google Sheets or Excel | Error spreadsheet with counts per category | Your first error analysis, zero setup | |
Langfuse | Open source tracing, annotation queues and datasets | Reading and labelling real LLM traces | |
Braintrust | Evals, datasets and logging in one place | Turning failure modes into repeatable evals | |
Arize Phoenix | Open source tracing and evaluation | Local trace exploration and clustering | |
promptfoo | Command line test runner for prompts | Cheap regression tests in CI | |
Pandas | Python data analysis | Counting and slicing labelled errors |
DO Take any LLM feature you own (or a simple chatbot you build). Collect 50 failures, label them in a spreadsheet, group into failure modes, and fix only the top one. Report the before and after. |
Acceptance criteria: a spreadsheet with at least 50 rows, at least 5 named failure modes with counts, one fix shipped, and a measured before and after.
T A L K 2 ──── 2 / 7
Focus: Stay realistic about what agents can do, and learn how to measure whether yours actually works.
SPEAKER Sayash Kapoor, AI Snake Oil | EVENT AI Engineer Summit | CORE IDEA Agents fail in the real world mostly because we evaluate them badly, not only because models are weak |
Agents are the most hyped idea in AI, and the gap between demos and daily reliability is large. Sayash Kapoor is a Princeton researcher and co-author, with Arvind Narayanan, of the book AI Snake Oil and the newsletter of the same name. His talk, as its slide title "Stop Over-hyping Agents" suggests, argues for sober thinking about what agents can do and for better evaluation.
For an engineer, this talk is a protection against two expensive mistakes: building something the technology cannot yet do reliably, and shipping something you cannot measure.
Idea 1: A demo is not a product. A system that works in a controlled demo may fail on a large share of real tasks. Products such as the Rabbit R1 and the Humane AI Pin, which the talk uses as examples of over-hyped agent-style devices, showed how large the gap can be between launch claims and real use.
Idea 2: Capability is not reliability. A model that can solve a task once may fail it one time in five. For real work, users need the thing to succeed nearly every time. Each extra step in an agent loop multiplies the chance of an error, so long tasks compound failure. For example, 10 steps at 95 percent success each succeed together only about 60 percent of the time.
Idea 3: Evaluating agents is harder than evaluating models. A model benchmark gives one input and checks one output. An agent takes many steps, uses tools, changes state in an environment and may take different routes to the same answer. You need to judge outcomes, trajectories and cost together.
Idea 4: Always report cost with accuracy. Kapoor's research group (AI Snake Oil and the Princeton HAL project) showed that agent accuracy can often be bought by running more attempts. A fair comparison plots accuracy against dollar cost, because a slightly more accurate agent that costs 20 times more is often not better. Their paper "AI Agents That Matter" makes this argument with data.
Idea 5: Reasoning models change the picture but do not remove the problem. Models trained to think step by step make agents more capable, yet they do not fix hallucination, tool misuse or evaluation gaps.
Idea 6: Benchmarks leak and saturate. If a test set ends up in training data, scores climb without real capability gains. Holdout sets, fresh tasks and checking for contamination matter.
Idea 7: Build an evaluation pipeline for your own task. Public benchmarks tell you little about your use case. Collect your own examples, define success criteria, and use human review plus LLM judges that you have validated. Tools in the EvalGen line of research help you align an LLM judge with your own preferences by letting you grade a few outputs and then checking the judge against them.
Idea 8: Think in terms of consequences. Mistakes in a low-stakes assistant are fine. Mistakes in agents that spend money, send emails or change production data are not. Decide the cost of an error before choosing how autonomous the agent can be.
Term | Plain meaning |
Agent | A system where a model decides which actions to take, in a loop, using tools, to reach a goal |
Reliability | How consistently a system gets the right result across repeated runs |
Compounding error | Small per-step error rates multiplying across many steps |
Benchmark | A fixed set of tasks used to compare systems |
Contamination | When benchmark data leaks into training data and inflates scores |
Pareto frontier | The set of options where you cannot improve one measure without hurting another, such as accuracy versus cost |
LLM-as-judge | Using a model to grade another model's output against criteria |
EvalGen | A research approach that aligns LLM-based evaluators with human grading preferences |
Trajectory | The full sequence of actions an agent took |
Pass@k vs pass^k | Pass@k asks whether any of k tries succeed; pass^k asks whether all k succeed, which is the reliability question |
Human in the loop | A person approves or corrects the agent at key points |
Tool | What it does | Best for | Link |
Inspect (UK AISI) | Open source framework for running model and agent evals | Serious, reproducible evals | |
HAL, Holistic Agent Leaderboard | Princeton leaderboard comparing agents on accuracy and cost | Seeing cost-aware agent evaluation | |
SWE-bench | Benchmark of real GitHub issues for coding agents | Judging coding agents | |
tau-bench | Benchmark for tool-using agents with simulated users | Reliability across repeated runs | |
Braintrust | Experiments, datasets, scoring | Tracking eval results over time | |
Langfuse | Tracing and eval scores | Debugging agent trajectories | |
promptfoo | Config-driven eval runner | CI regression checks |
DO Build a 30 task evaluation set for one agent. Score it with code checks where possible and a validated LLM judge elsewhere. Run each task 5 times and report accuracy, reliability (all 5 pass) and cost per task. |
Acceptance criteria: reliability and cost reported next to accuracy, a judge with measured agreement against your own labels, and a clear "do not use for" list.
T A L K 3 ──── 3 / 7
Focus: Learn when an agent is the right tool and how to design the simplest one that works.
SPEAKER Barry Zhang, Anthropic | EVENT AI Engineer Summit 2025, New York | CORE IDEA Do not build agents for everything. Keep it simple, think like your agent |
Barry Zhang works on agents at Anthropic and co-wrote, with Erik Schluntz, the widely read article "Building Effective Agents". The talk compresses its message into three ideas: do not build an agent for everything, keep the design simple for as long as you can, and think like your agent. It is the clearest single guide to agent design from the people who build the underlying models.
Idea 1: The evolution from simple to complex. Teams moved from single LLM calls, to workflows (several calls chained in code), to agents (the model decides the steps). More autonomy gives more capability, and also more cost, latency and risk. Start at the left and move right only if you must.
Idea 2: Workflows versus agents. Anthropic's article defines a workflow as an LLM and tools orchestrated through predefined code paths, and an agent as a system where the LLM directs its own process and tool use. Common workflow patterns are prompt chaining, routing, parallelisation, orchestrator-workers and evaluator-optimiser.
Idea 3: The checklist for "should I build an agent". As presented in the talk, four questions:
Coding is the example where agents shine: the problem is open ended, the value is high, models are good at it, and the output can be verified with tests.
Idea 4: Keep it simple. An agent is a model using tools in a loop. Three components define it: the environment the agent operates in, the tools that let it act and receive feedback, and the system prompt that sets goals and rules. Build and iterate on these three before adding clever machinery. Complexity can be added later, after you have a baseline that works.
Idea 5: Think like your agent. An agent only sees what is in its context window: your prompt, tool descriptions and results. It does not know what you know. Zhang suggests imagining yourself in the model's seat with only a screenshot and a vague tool, and noticing how little information you have. Then ask the model itself: is this instruction ambiguous, are these tool descriptions clear, what would help you decide.
Idea 6: Open questions the talk raises. Making agents budget aware (limits on tokens, time and money), self-evolving tools, and multi-agent collaboration. These are active research areas, so treat them as experiments, not defaults.
Idea 7: Tools deserve as much design effort as prompts. Anthropic's engineering team later published guidance on writing tools for agents. Clear names, narrow responsibilities, helpful error messages and token-efficient outputs make agents far more reliable.
Term | Plain meaning |
Agent | A model that chooses its own actions in a loop until the goal is met |
Workflow | Fixed code path that calls the model at defined steps |
Prompt chaining | Splitting a task into sequential model calls, with checks between them |
Routing | Classifying an input and sending it to a specialised prompt or model |
Parallelisation | Running several model calls at once, either on parts of a task or as a vote |
Orchestrator-workers | A lead model splits a task and delegates to worker models |
Evaluator-optimiser | One model generates, another critiques, repeat |
Tool | A function the model can call, described by name, purpose and parameters |
Environment | Everything the agent can read and change |
Context window | The text the model can see at once |
Agent-computer interface (ACI) | The design of tools and their descriptions from the agent's point of view |
Guardrail | A rule or check that limits what an agent may do |
Tool | What it does | Best for | Link |
Claude Agent SDK | Anthropic's SDK for building agents | Production agents with tools and context handling | |
Anthropic API tool use | Native tool calling | The core agent loop | |
Model Context Protocol | Open standard for connecting tools and data to models | Reusable tool servers | |
LangGraph | Graph-based agent and workflow framework | Stateful, controllable flows | |
Pydantic AI | Typed agent framework for Python | Structured outputs and validation | |
OpenAI Agents SDK | Lightweight agent framework | Handoffs and guardrails | |
Claude Code | Agentic coding tool | Seeing a good agent loop in practice |
DO Write the smallest possible agent (under 100 lines, no framework): a loop that calls a model with 3 tools, executes the tool calls, appends results and stops when the model answers. Then write the same task as a fixed workflow and compare cost, speed and success. |
Acceptance criteria: a working agent loop, a documented checklist decision, a step and cost limit, and a measured comparison against the workflow version.
T A L K 4 ──── 4 / 7
Focus: Give one general agent expert knowledge by writing skills (folders of instructions and scripts) instead of building a new agent for every domain.
SPEAKER Barry Zhang and Mahesh Murag, Anthropic | EVENT AI Engineer Code Summit | CORE IDEA Agent Skills turn expertise into portable folders that any capable agent can load on demand |
The talk argues that the thing worth building is no longer a custom agent per domain. Agents have converged on a similar core: a model with a bash tool and a filesystem, running a loop. What differs between a finance agent and a legal agent is the knowledge they carry. Agent Skills package that knowledge as folders.
Seen this way, the work of an AI engineer shifts from building scaffolding to capturing procedural expertise, which is exactly what experts and domain teams are good at.
Idea 1: Scaffolding is converging. Whether you look at coding agents or general agents, they tend to have the same parts: a loop, a filesystem, a shell, a few tools, and a way to load context. A general agent with a computer can do a surprising range of work, so rebuilding that harness per use case is wasteful.
Idea 2: Intelligence is not the same as expertise. A brilliant generalist given a complicated tax form will still do it poorly without domain procedures. Skills carry the procedures, templates and gotchas that make output reliable.
Idea 3: What a skill is. A skill is a directory containing a `SKILL.md` file with a name, a description and instructions, plus optional scripts, reference files and assets. The agent sees only the short name and description at startup. When a task matches, it reads the full instructions, and it opens extra files only when needed.
Idea 4: Progressive disclosure. This is the key design idea. Instead of stuffing every instruction into the context window, the agent loads information in layers: metadata first, then the main instructions, then supporting files, then script outputs. Context stays small and relevant, so you can install many skills without penalty.
Idea 5: Skills can contain code. A skill can bundle scripts the agent runs (for example a PDF form filler or a data validator). Running a script is deterministic and cheaper than having the model write the same code each time. This is the answer to "the model keeps rewriting the same helper".
Idea 6: Skills and MCP are complementary. MCP (Model Context Protocol) gives the agent connections to external systems such as databases, issue trackers and APIs. Skills teach the agent what to do with those connections. MCP is the plumbing and the tools; skills are the know-how.
Idea 7: Anyone can write one. Because a skill is a folder of text and scripts, domain experts can contribute without writing agent code. Skills can be versioned in git, shared with a team and improved over time. The talk imagines a growing ecosystem of shared skills and agents that learn new ones continuously.
Idea 8: Security needs care. Skills can run code, so treat them like software you install. Read them, use trusted sources and sandbox execution.
Term | Plain meaning |
Agent Skill | A folder with SKILL.md and optional scripts, references and assets that teaches an agent a procedure |
SKILL.md | The main file, with a frontmatter name and description plus instructions in Markdown |
Progressive disclosure | Loading information in stages so context stays small |
MCP | An open protocol for connecting models to tools and data sources |
MCP server | A program that exposes tools, resources and prompts over MCP |
Scaffolding or harness | The code around the model: loop, tools, memory and context handling |
Bash tool | A tool that lets the agent run shell commands |
Context window | The limited text budget the model reads at once |
Deterministic script | Code that gives the same result every time, unlike model generation |
Sandbox | An isolated environment where untrusted code can run safely |
A minimal skill folder:
The description is the most important line. It is what the agent matches against the user's request, so write it as "Use when the user asks for X, Y or Z" and mention the file types or keywords involved.
Tool | What it does | Best for | Link |
Claude (apps and API) | Supports Agent Skills | Using skills without building anything | |
Claude Code | Loads skills from folders | Developer workflows | |
Anthropic skills repository | Open examples of skills | Learning by reading real skills | |
Agent Skills documentation | Format, best practices | Writing your own | |
MCP | Standard for tool and data connections | Connecting skills to real systems | |
MCP servers repository | Reference MCP servers | Examples to copy | |
Git and GitHub | Version control | Sharing and reviewing skills |
DO Write two skills for work you actually do: one procedural (for example "write a weekly report in our format") and one with a bundled script (for example "validate a CSV against our rules"). Test each on five prompts and measure how often the agent picks and follows it correctly. |
Acceptance criteria: description triggers on at least 4 of 5 test prompts, no instruction exceeds what is needed, scripts are deterministic and tested.
T A L K 5 ──── 5 / 7
Focus: Turn agent demos into reliable software by applying twelve engineering principles.
SPEAKER Dex Horthy, HumanLayer | EVENT AI Engineer World's Fair 2025 | CORE IDEA Most production agents are mostly deterministic software with LLM steps carefully placed inside, and you should own your prompts, context and control flow |
Dex Horthy talked to many founders building agents and found that the products that actually reached customers rarely used a big agent framework end to end. They were mostly ordinary software with small, well-controlled LLM steps. He captured the patterns in the open source repository 12-factor-agents, named after the classic "Twelve-Factor App" methodology for web services.
The talk is a design guide for reliability. It also introduced the phrase "context engineering" to a wide audience, meaning that you carefully shape what goes into the model's context window.
The repository lists twelve factors. The summaries below are in plain words. Check the repository for the exact wording.
Factor 1: Natural language to tool calls. The most reliable thing LLMs do in an agent is turn a human request into a structured call, such as a JSON object naming a function and its arguments. Your code then executes it.
Factor 2: Own your prompts. Do not hide prompts inside a framework. Write them as code you can read, test, version and tune. Prompts are your product's logic.
Factor 3: Own your context window. You decide exactly what the model sees. You do not have to use a standard message format. You can pack events, errors and state in your own compact format to improve results and save tokens. This is context engineering.
Factor 4: Tools are just structured outputs. A "tool call" is simply the model emitting structured data. What you do with it is ordinary code, which means you can validate it, branch on it and test it.
Factor 5: Unify execution state and business state. Avoid keeping a separate hidden agent state. Make the history of events the single source of truth so that you can pause, resume and inspect everything.
Factor 6: Launch, pause and resume with simple APIs. Agents should be startable, pausable and resumable from outside, for example through webhooks, so they can wait for slow tools or human answers without holding a process open.
Factor 7: Contact humans with tool calls. Make "ask a human" one more structured tool call, such as requesting clarification or approval. This turns human-in-the-loop from an afterthought into a normal step. HumanLayer's related ideas about agent-to-human communication are in its open source SDK.
Factor 8: Own your control flow. Decide in code what happens after each model output: loop, break, retry, wait for approval or call a different step. Do not surrender the loop to a framework you cannot change.
Factor 9: Compact errors into the context window. When a tool fails, summarise the error and feed it back so the model can recover. Cap retries and clear old errors so they do not clutter the context.
Factor 10: Small, focused agents. Agents that handle 3 to 20 steps with a narrow scope stay on track. Large open ended agents lose focus as context grows. Embed small agents inside a deterministic workflow.
Factor 11: Trigger from anywhere and meet users where they are. Let agents start from email, Slack, cron jobs or events, not only a chat box.
Factor 12: Make your agent a stateless reducer. Think of the agent as a function that takes the current event history and returns the next step, without hidden memory. Stateless functions are easy to test, replay and scale.
Term | Plain meaning |
12-factor app | A classic methodology for building maintainable web services, which inspired the agent version |
Context engineering | Deliberately designing what information goes into the model's context |
Structured output | A model response in a strict format such as JSON matching a schema |
Control flow | The order in which steps run, branches and loops |
Stateless reducer | A function from (current state, new event) to next state, with no hidden memory |
Event log | An append-only list of everything that happened in a run |
Human in the loop | A person approving, correcting or answering at defined points |
Webhook | An HTTP call that tells your system an event happened |
Idempotency | Running an operation twice has the same effect as once, which makes retries safe |
Agent-to-human (A2H) | A protocol or pattern in which the agent contacts a human in a structured way |
Tool | What it does | Best for | Link |
12-factor-agents repository | The full text of the twelve factors with examples | Primary reference | |
HumanLayer | SDK for human approval and contact in agent workflows | Human in the loop | |
BAML | Language for typed LLM functions | Own your prompts with testing | |
Pydantic and Instructor | Schemas and validated structured outputs | Reliable tool call parsing | |
Temporal | Durable workflow engine | Pause, resume and retries | |
Inngest | Event-driven durable functions | Webhooks and triggers | |
LangGraph | Graph framework with checkpoints | Explicit control flow and persistence | |
Langfuse | Tracing | Inspecting runs and prompts |
DO Build a small email-triage agent as a stateless reducer: events in a list, one function that returns the next step as a typed object, your own prompt file, a human approval step for sending replies, and a resume endpoint. No agent framework. |
Acceptance criteria: no framework controls the loop, every run is replayable from its event log, humans approve irreversible actions, and the agent has a retry cap.
T A L K 6 ──── 6 / 7
Focus: Make coding agents solve hard problems in large, messy codebases through research, planning and context discipline.
SPEAKER Dex Horthy, HumanLayer | EVENT AI Engineer Code Summit | CORE IDEA Harness engineering is a subset of context engineering, and a disciplined research, plan, implement loop beats vibe coding on real codebases |
"Vibe coding" works for prototypes. In large existing codebases it often produces slop, rework and code that other engineers reject. The talk, as its description and slides indicate, draws on observations from many engineering teams and a widely discussed Stanford study of AI coding productivity. The headline finding people took from it: AI tools raise output on greenfield, simple tasks, while on complex work in mature codebases the gains shrink and rework can eat them.
Horthy's answer is not "wait for better models". It is a workflow that gets more from today's models by managing context carefully.
Idea 1: Why complex codebases break agents. The model's quality drops as the context fills up with irrelevant text, failed attempts and noise. Horthy sometimes calls the zone where quality degrades the "dumb zone". The aim is to keep the working context small, relevant and accurate.
Idea 2: Context engineering and harness engineering. Context engineering is deciding what goes into the context. Harness engineering, which the talk describes as a subset of it, is configuring the surrounding tooling (the agent's commands, rules files, subagents, hooks and how they pass information) so that the right context shows up at the right time.
Idea 3: The "amount of lies" chart. A slide in the talk ranks information sources in a codebase by how often they mislead: function names are usually closest to the truth, comments are less trustworthy, and documentation is most likely to be out of date. The practical lesson: do not have an agent depend on stale docs. Instead let it read the actual code on demand and generate fresh, compact understanding.
Idea 4: Research, plan, implement. Break work into three phases with separate contexts:
Idea 5: Intentional compaction. Rather than letting the context grow until it is automatically summarised, you deliberately compress. Save the findings to a file and start a new session that reads only that file. You decide what matters.
Idea 6: Use subagents for context control. A subagent does a messy search in its own context and returns only a short answer. The parent context never sees the noise. The goal is not role-playing personas but isolating context.
Idea 7: Review the plan, not only the code. The leverage point shifts. One bad line of research can produce thousands of bad lines of code. Human attention is best spent on research and plan documents, which also keeps teammates aligned (mental alignment).
Idea 8: Do not outsource the thinking. The agent amplifies your understanding; it does not replace it. If you do not understand the problem, a plan from the agent will not rescue you. Match effort to difficulty: a one-line fix needs no plan, a cross-cutting change needs full research and planning.
Term | Plain meaning |
Vibe coding | Prompting an agent loosely and accepting what comes out without careful review |
Context engineering | Choosing and shaping the information in the model's context |
Harness engineering | Configuring the agent's tools, rules, hooks and subagents so the right context is supplied |
Context compaction | Condensing the working context into a short summary or file |
Dumb zone | Informal name for the fuller-context range where model quality drops |
Subagent | A helper agent that runs in its own context and returns a short result |
Research document | A file describing how the relevant code works, with references |
Implementation plan | A reviewable file listing exact steps, files and tests |
Mental alignment | Everyone on the team understanding what is changing and why |
Slop | Low quality, unreviewed generated code |
Rules file | A file such as CLAUDE.md or AGENTS.md that gives the agent persistent instructions |
Tool | What it does | Best for | Link |
Claude Code | Terminal coding agent with subagents, hooks and commands | Putting the workflow into practice | |
Advanced context engineering repository | HumanLayer's write-up of the workflow | Reading the method in detail | github.com/humanlayer/advanced-context-engineering-for-coding-agents |
HumanLayer | Tools for agent workflows and human review | Team setups | |
Cursor | AI code editor | Agent mode with rules | |
AGENTS.md | Open convention for agent instructions | Persistent repository guidance | |
ripgrep and ctags | Fast search and symbol indexing | Letting agents find code without reading everything | |
Git worktrees | Parallel working copies | Running several agents safely |
DO Pick a real open source repository you did not write. Use the three phases to fix one genuine issue: produce a research file, a plan file and a pull request. Time yourself and compare with how long the same fix takes by prompting directly. |
Acceptance criteria: three saved documents, tests passing, a diff a maintainer can review and a note on where the agent went wrong and how you corrected it.
T A L K 7 ──── 7 / 7
Focus: Improve prompts and agents automatically by letting a model reflect on full traces, instead of training with reinforcement learning.
SPEAKER Lakshya A. Agrawal, GEPA | EVENT AI Engineer World's Fair | CORE IDEA Reading why something failed in plain language is far more sample efficient than a single numeric reward |
Once you can measure quality (talks 1 and 2) you can try to improve it automatically. GEPA (Genetic-Pareto reflective prompt evolution) is a method from researchers at UC Berkeley (including the Sky Computing Lab) and collaborators, with Lakshya Agrawal as lead author. Its paper reports that reflective prompt evolution can outperform reinforcement learning methods such as GRPO while using far fewer rollouts. The talk title, "Beating RL With Reflection", states the claim, and the talk extends it to "optimize anything" that can be represented as text.
This matters because reinforcement learning on a model is expensive and needs lots of examples, while prompt optimisation needs no weight updates and can work with a few dozen examples.
Idea 1: RL gives one number, language gives understanding. In reinforcement learning with a method like GRPO, the system runs many attempts (rollouts), gets a scalar reward for each and nudges the model toward higher reward. A single number says that an attempt was bad, not why. A model reading the full trace can see the exact mistake and write a fix in words.
Idea 2: Reflective prompt evolution. GEPA runs the system on a few examples and collects the traces: inputs, reasoning, tool calls, outputs and scores. A reflection model reads them, diagnoses problems in natural language and proposes a revised prompt. The new candidate is tested, and good ones are kept.
Idea 3: Pareto frontier. Instead of always keeping the single highest average candidate, GEPA keeps candidates that are the best on at least one example or objective. This preserves diversity: a prompt that solves hard cases the others miss stays in the pool and can be combined or improved. It avoids getting stuck in a local optimum.
Idea 4: Merge and mutate. New candidates come from mutation (reflection driven edits) and from merging lessons from different candidates, similar to genetic algorithms.
Idea 5: Sample efficiency. Because each rollout gives rich textual feedback, GEPA reportedly needs far fewer rollouts than RL to reach comparable or better scores. Check the paper for the exact multiples on each benchmark.
Idea 6: Rich feedback, not only scores. You can improve results by giving the optimiser more than a number. Return textual feedback from your metric: which test failed, which rubric item was missed, what the compiler said. The better the feedback, the better the reflection.
Idea 7: Optimize anything. The talk's second half generalises beyond prompts: any artifact that is text and can be scored can be evolved, for example code, configuration, agent instructions or even structured designs. The example mentioned in the talk of a thumbnail style prompt improving from 32 percent to 89 percent on a judged score illustrates how an LLM-as-judge metric plus reflection can raise quality quickly. Treat headline numbers as examples from the talk and verify on your own tasks.
Idea 8: Overfitting and judge risk. Optimising against a judge can exploit its quirks. Keep a held-out validation set and inspect final prompts by eye.
Term | Plain meaning |
GEPA | Genetic-Pareto: reflective prompt evolution that uses natural language feedback |
Reinforcement learning (RL) | Training by trial and reward |
GRPO | Group Relative Policy Optimization, a popular RL method for training language models |
Rollout | One full attempt by the system on one task |
Reflection | A model reads traces and explains what went wrong and how to fix it |
Pareto frontier | Candidates not beaten on every example by any other candidate |
Mutation | Producing a new candidate by editing an existing one |
Scalar reward | A single number scoring an attempt |
Textual feedback | Written information about why an attempt scored as it did |
LLM-as-judge | A model scoring outputs according to a rubric |
Held-out set | Examples not used during optimisation, kept for honest final testing |
DSPy | A framework for programming (not prompting) LLM systems, with built-in optimisers |
Tool | What it does | Best for | Link |
GEPA library | Open source implementation of GEPA | Optimising prompts and text artifacts | |
GEPA paper | Method and experiments | Understanding the claims | |
DSPy | Declarative LLM programs with optimisers including GEPA | Optimising whole pipelines | |
MLflow | Experiment tracking, with prompt optimisation features | Tracking candidate prompts | |
Langfuse | Datasets and traces | Feeding real traces to the optimiser | |
Braintrust | Evals and datasets | Scoring candidates | |
promptfoo | Prompt test runner | Verifying the final prompt |
DO Take one task with a measurable score (for example classifying support tickets or extracting fields). Hold out 30 examples. Optimise the prompt on 30 training examples with GEPA via DSPy or the gepa package, and report held-out score before and after, with the final prompt. |
Acceptance criteria: a held-out improvement over baseline, a readable final prompt without leaked answers, and a recorded budget.
Watching talks does not make you better. Changing how you work does. The seven talks reduce to a handful of habits.
Habit | Where it comes from | How to practise |
Read your data and traces every week | Ng, Kapoor | A standing 30 minute slot, a failure-mode spreadsheet |
Measure before you change | Ng, Kapoor, Agrawal | Write the eval before the fix |
Choose the simplest design | Zhang | Try the workflow before the agent |
Own your context | Horthy (both talks) | Print what the model sees and cut half of it |
Capture expertise as skills | Zhang and Murag | Turn every repeated task into a skill |
Make it replayable | Horthy | Event logs and stateless steps |
Automate improvement only after measurement | Agrawal | Optimise against a trusted metric with a held-out set |
Be honest about limits | Kapoor | Publish a "do not use for" list with every system |
A ladder from beginner to senior
Fifteen things to do in the next 30 days
Combine everything into a single project you can show in interviews.
What to build. An agent that does one valuable job end to end, for example triaging inbound support emails, reviewing pull requests, or answering questions about internal documents.
Layer | What you do | Talk it comes from |
Decide | Document why this is an agent and not a workflow | Zhang |
Design | Stateless reducer, typed steps, own prompts, human approval | Horthy, 12-factor |
Knowledge | Two or three skills holding domain procedure | Zhang and Murag |
Build process | Research, plan, implement with saved documents | Horthy, no vibes |
Measure | 30 to 50 tasks, repeated runs, cost, validated judge | Kapoor |
Diagnose | Failure-mode spreadsheet with counts | Ng |
Improve | GEPA or DSPy optimisation with held-out score | Agrawal |
Deliverables. A repository with a README that has an architecture diagram, an eval report with accuracy, reliability and cost, a failure-mode table with before and after counts, and a "do not use for" list.
Acceptance criteria. Replayable runs, a measured improvement after optimisation, human approval on risky actions, and a write-up under one page.
Tool | What it does | Best for | Link |
Claude Code | Agentic coding with skills, subagents and hooks | Day to day agent work | |
Claude Agent SDK | Build agents with the same loop | Production agents | |
MCP | Standard tool and data connections | Integrations | |
LangGraph | Stateful agent graphs | Controlled flows | |
Pydantic AI | Typed agents | Validated outputs | |
BAML | Typed prompt functions | Owning prompts | |
Instructor | Structured outputs | Parsing tool calls | |
Temporal | Durable execution | Pause and resume | |
Langfuse | Tracing and datasets | Reading traces | |
Arize Phoenix | Open source tracing and evals | Local analysis | |
Braintrust | Evals platform | Experiments | |
promptfoo | Prompt tests | CI | |
Inspect | Eval framework | Agent evals | |
DSPy | Programming and optimising LLM systems | Prompt optimisation | |
GEPA | Reflective optimiser | Evolving prompts | |
HumanLayer | Human approval in agent flows | Human in the loop |
A I T A L K S R O A D M A P