Udemy
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
AI FDE: The Forward Deployed Engineer & Agentic AI Architect
Role Play
Hot & New
Rating: 4.8 out of 5(348 ratings)
4,805 students

AI FDE: The Forward Deployed Engineer & Agentic AI Architect

The complete roadmap to FDE and AI Architect with Agent Harness Engineering, LangGraph, ADLC, MCP, AWS AgentCore, Evals
Created byEd Donner
Last updated 10/2026
English
ArabicGerman

What you'll learn

  • Identify the skills of an AI Architect and Forward Deployed Engineer (FDE) with the roadmap to get there
  • Accelerate delivery with Claude Code and the Agentic Development Lifecycle (ADLC) while staying accountable
  • Apply Harness Engineering to build agents with LangChain, Deep Agents and the Claude Agent SDK
  • Choose between frontier, open-source and local LLMs on intelligence, speed, token cost and privacy
  • Use evals and observability in Langfuse to drive agent architecture decisions and measure business outcomes
  • Give agents long-term memory with Agentic RAG over MCP using vector datastores
  • Deliver production-grade agent workflows in LangGraph with durable state, crash recovery and human in the loop
  • Scale and optimize with agent swarms, LLM as a judge and recursive self-improvement
  • Lead AI initiatives with your clients from discovery and metrics to governance, responsible AI and handover
  • Secure agents against prompt injection and the lethal trifecta with guardrails, policies and AI gateways
  • Create a data and integration architecture for agents with an enterprise context layer and MCP gateway
  • Deploy LangGraph agents to production with AWS Bedrock AgentCore Runtime, Gateway, Policy and Memory

Course content

3 sections • 124 lectures • 21h 25m total length
  • Day 1: Instant Gratification with OpenRouter and Free LLMs10:11

    Why I believe this is the most important course I've made: the surge in demand for Forward Deployed Engineers and AI Architects, with an estimated 30,000 openings. Then we skip the housekeeping and go straight to some instant gratification. We set up a free OpenRouter account, enable the free models, create an API key and add it as a secret in Google Colab. Finally, we make a first LLM call with the OpenAI Python client and openrouter/free. Everything today is free.

    Includes:

    • Forward Deployed Engineer (FDE) jobs

    • Google Colab

    • OpenRouter

    • API keys and Colab secrets

    • OpenAI Python client

    • openrouter/free

    • Free LLMs

  • Day 1: An LLM Solves a Maze: Tool Calling and an Agent Loop from Scratch7:50

    Now for the fun part. I built a small maze at maze.edwarddonner.com, and we give an LLM a single tool, read_web_page, so it can find its own way out. We write the tool with a simple guardrail that keeps it inside the maze, describe it to the model in JSON and handle the tool call. Then we put it all in a loop of up to 25 steps. That's an agent harness from first principles: plain API calls to free models on OpenRouter, with no agent framework. Your agent will take a different route from mine, and if it gets lost, just run it again. By the end of the course we'll be running agents at enterprise scale, and they come down to the same things: prompts, if statements and while loops.

    Includes:

    • Agent harness

    • Agent loop

    • Tool calling

    • JSON tool definitions

    • Guardrails

    • OpenRouter free models

    • Agents from first principles

  • Day 1: The 3-Week Roadmap from AI Engineer to AI Architect to AI FDE11:53

    I walk you through the three-week journey. Week 1 is Become an AI Engineer. Week 2 is Become an AI Architect, with evals, agentic RAG, durable state and swarms. Week 3 is Become an AI FDE, ending in the biggest capstone project I've built. I explain how this course fits with my other courses and who it's for, whether you're new to LLMs or already running agents in production. If Week 1 is old hat for you, put me on 2x. Then I introduce myself: my years at JPMorgan, founding untapt, and my 30 seconds of fame on a Times Square billboard. Please say hi. I read and answer every message myself.

    Includes:

    • The roadmap to AI Engineer, AI Architect and Forward Deployed Engineer

    • The three-week course structure

    • Theory, practical and project days

    • How this course fits with AI Builder, AI Coder and the AI Engineer tracks

    • Who this course is for

    • Prerequisites

    • Meet your instructor, Ed Donner

  • Day 1: What Is a Forward Deployed Engineer? From Palantir to OpenAI5:30

    At last, I explain what an FDE is. The term came out of Palantir around 2007, for engineers embedded at clients to get the platform live. OpenAI adopted it for applied AI engineers working with its customers, and in 2026 launched a separate organization to embed FDEs. Today the term has a narrow meaning and a broad one. My take: an FDE is a customer-facing AI engineer, what we used to call an AI solutions architect. I finish with the roadmap: three disciplines to learn and two kinds of experience to build.

    Includes:

    • Forward Deployed Engineer (FDE)

    • Palantir and Shyam Sankar

    • OpenAI's FDE organization

    • Applied AI engineering

    • AI solutions architect

    • AI Engineering, AI Architecture and Forward Deployed Engineering

    • Customer partnership experience

  • Day 1: The Skills, Tools and Experience You Need to Become an AI FDE7:19

    I break each discipline down into its skills, one discipline per week of the course, from model selection and harness engineering to agentic RAG, MCP and the enterprise context layer. I also show the technologies we'll use, including LangChain, Claude Code, LangGraph, Langfuse and AWS Bedrock AgentCore. Then the harder part: getting the experience, with my tips for building a portfolio of real business projects, making the course project your own and posting about it. I finish with my review of 316 job ads from 184 employers for FDE, AI Architect and related roles.

    • Edit: I say that 48% of the job ads needed at least four of the five areas. The slide has it right: 48% required four of the five areas, and another 41% required all five. Together, 89% required at least four.

    Includes:

    • Skills for AI Engineering, AI Architecture and Forward Deployed Engineering

    • The course's technologies: LangChain, LangGraph, Claude Code, Langfuse and AWS Bedrock AgentCore

    • Building a portfolio of real-world AI projects

    • Getting customer-facing experience

    • Sharing your work on GitHub and LinkedIn

    • Job market research: 316 FDE and AI Architect job ads

  • Day 1: Environment Setup on Windows and Mac: VS Code, Git, Node and uv7:46

    Everyone's favorite moment: environment setup. We install four tools: VS Code, Git, Node and uv, the fabulous Python package manager from Astral. Many of you will have them already. I cover Windows first, with winget in the VS Code terminal, then Mac, with nvm or Homebrew for Node. Cursor or another VS Code fork works fine too.

    Includes:

    • VS Code

    • Git

    • Node.js

    • uv from Astral

    • winget on Windows

    • Homebrew and nvm on Mac

    • Cursor

  • Day 1: Clone the UnderCover Repo, Run uv sync and Set Up Your .env File12:38

    Mac and PC now follow the same steps. We add the Python and Jupyter extensions to VS Code, create a projects folder and clone the course repo, UnderCover, from GitHub. I'll reveal what UnderCover is tomorrow. I walk you through the one fiddly step, opening the project folder correctly in VS Code. Then uv sync builds the environment, Python 3.12 included, and we add your OpenRouter API key to a .env file. Don't forget to save it!

    Includes:

    • VS Code Python and Jupyter extensions

    • Terminal basics: pwd, cd and mkdir

    • git clone from GitHub

    • The UnderCover repo

    • uv sync

    • Python 3.12

    • .env file and OPENROUTER_API_KEY

  • Day 1: Run the Maze Agent Locally in VS Code and Plan Your API Costs11:33

    At last, a proper lab on your own machine. We open setup.ipynb in VS Code, select the kernel and run the maze agent from the start of the day, this time from your computer and still on free models through OpenRouter. I cover the common stumbling blocks, like the wrong kernel or a NameError, and which of my other courses can help if this felt like too much. Then the question I get most: what you'll spend on APIs. It's typically around $10, with a free option throughout. I finish with how to reach me, and an invitation to post about what you build on LinkedIn and tag me.

    Includes:

    • Jupyter notebooks in VS Code

    • Python kernel selection

    • OpenRouter and openrouter/free

    • Tool calling

    • Agent loop

    • Troubleshooting a NameError

    • API costs and free alternatives

  • Day 2: Recap of Day 1 and Today's Plan for Frontier LLMs and Agents3:58

    A quick recap before we get going. I take stock of what you can already do after Day 1, from defining an FDE to building an agent from first principles and calling OpenRouter from VS Code. Then today's plan: how an LLM becomes a product like ChatGPT, comparing models on intelligence, speed and cost, the definitions of an agent and a harness, and building an agent with LangChain. If you're new to this, today is a crash course. If you know it already, put me on 2x.

    Includes:

    • Day 1 recap: the FDE role and the roadmap

    • Day 1 recap: the maze agent and your local setup

    • Today's learning outcomes

  • Day 2: From GPT to ChatGPT: 6 Tricks, Tokens, Context Windows and API Costs17:00

    I explain what an LLM is with three layers: the model, the software that runs inference, and the product on top, like ChatGPT or Claude Code. Then the six tricks that turn GPT into ChatGPT: autoregression, chat, reasoning, the illusion of memory, context and tools. We cover tokens, the context window and how API pricing works, including prompt caching. I also explain why I solve for accuracy before cost, and why open-source models still cost money to run.

    Includes:

    • LLMs, inference platforms and AI products

    • Autoregression

    • Chat training and RLHF

    • Reasoning and RLVR

    • The illusion of memory

    • Tokens and the context window

    • Input and output token pricing

    • Prompt caching

    • The cost of running open-source models

  • Day 2: Comparing Frontier LLMs: Artificial Analysis, the Pareto Front and METR17:52

    I take you through Artificial Analysis, the site I use to compare frontier models: the Intelligence Index over time, intelligence against speed and cost, and the Pareto front. I explain the two waves of progress, pre-training and then post-training with reasoning, and why I think these benchmarks will start to plateau. Then METR's measure of how long a software task an AI can complete, in human hours, which I expect to keep climbing. Use benchmarks to choose candidate models, then test them on your own business task, as we do in today's lab.

    Includes:

    • Artificial Analysis Intelligence Index

    • Frontier models: Claude Opus 5.5, GPT-6 Astra and GPT-6 Luna

    • Pre-training and post-training scaling

    • Intelligence, speed and cost

    • The Pareto front

    • Benchmarks and choosing candidate models

    • METR time horizons

  • Day 2: What Is an AI Agent? Tool Calling, the Harness and Agent Frameworks14:00

    I go through three definitions of an AI agent and settle on the one we use for the whole course: an LLM with tools in a loop to achieve a goal. I show how tool calling works behind the scenes, with a ChatGPT prompt you can try yourself. That leads to the harness, the software around the LLM, and a second definition: an agent is an LLM plus a harness. Then agent frameworks: what they do for you, the spectrum from lightweight to batteries included, and why we focus on the LangChain family, the most common in the job ads I reviewed. My advice is that your choice of framework isn't the most important decision on a project.

    Includes:

    • Definitions of an AI agent

    • An LLM with tools in a loop to achieve a goal

    • How tool calling works

    • An agent as an LLM plus a harness

    • Agent frameworks

    • Lightweight and batteries-included frameworks

    • The Claude Agent SDK

  • Day 2: Introducing UnderCover: The Course Project and the Claims Agent Pilot7:47

    Introducing UnderCover, a fictional travel insurer, and the project we build together for the whole course. We play the FDE working with its claims team. I take you through the brief for the pilot: an AI agent that works the claims queue and approves, declines or refers each claim as well as the handlers do, with human approval for any payout over $1,000. We start today by experimenting in notebooks. I show the project roadmap for the three weeks and explain why I picked travel insurance: the same kind of decision against a policy comes up in almost every business. You can follow along, improve on what I build, or apply it to a problem you know.

    Includes:

    • UnderCover, the course project

    • The pilot brief for a claims agent

    • Human approval for payouts over $1,000

    • The three-week project roadmap

    • Experimenting before building

    • Adapting the project to your own business problem

  • Day 2: Lab Prep: Chat Completions, Structured Outputs and LangChain create_agent10:33

    Before we open the lab, I walk you through its four parts and the techniques it uses: the Chat Completions API, structured outputs with a Pydantic class, and LangChain's create_agent with ChatOpenAI and the @tool decorator. I explain how my labs work: the code is already there, and you run each cell with me, then change it and experiment. We add a little credit to OpenRouter, with my advice on keeping your spend under control. There's a free version of the lab if you'd rather not spend anything.

    • Edit: I say the minimum top-up on OpenRouter is $2. OpenRouter's terms give a minimum purchase of $5, so check the amount at checkout.

    Includes:

    • Chat Completions API

    • Structured outputs

    • Pydantic

    • LangChain create_agent

    • OpenRouter credits and auto top-up

  • Day 2: Exploring UnderCover's Claims Data and the Handlers' Decisions15:24

    We open the lab in VS Code, select the kernel and warm up with a quick call to GPT-6 Luna, answering in the style of a pirate. Then UnderCover's data: 25 claims, the handlers' decisions on them, and the policies. We look at one claim and its decision in detail, then explore the whole queue with a table and charts, including how hard each claim is: routine, hard, or manual, which needs the claims manual we don't have yet. Look out for a couple of claims that might seem familiar.

    • Edit: I say there are six claim types. The chart shows seven.

    Includes:

    • Synthetic claims data

    • Labels and ground truth

    • Held-out data

    • Exploring data with pandas

    • Data visualization

    • Routine, hard and manual claims

  • Day 2: Testing GPT-6 Luna, Gemini 3.5 Flash Lite, GPT-6 Sol and Jev on Claims18:26

    Now we put the claims to LLMs. A Pydantic class sets the structured output: a rationale, a decision and a payout, with the rationale first so the model reasons before it decides. We run the 25 claims through GPT-6 Luna at low, medium and high reasoning effort, then Gemini 3.5 Flash Lite, and compare accuracy, cost and speed, including by difficulty. I talk about taking these trade-offs to the business, and why a wrongful decline and a wrongful approval aren't equally bad. Then two optional extras: GPT-6 Sol at high, and Jev from TypeSafe AI, a new kind of model that answers with a decision and a confidence.

    • Edit: I muddle up some comparisons! Gemini 3.5 Flash Lite cost almost 10 times as much as GPT-6 Luna at low, not more than 10 times, and it got 14 routine claims right. Jev cost less than Luna at low in that run: the totals for the whole queue were $0.0042 for Luna at low, $0.0318 for Gemini and $0.0033 for Jev.

    Includes:

    • Reasoning effort: low, medium and high

    • GPT-6 Luna

    • Gemini 3.5 Flash Lite

    • GPT-6 Sol

    • Jev from TypeSafe AI

    • Accuracy, cost and speed trade-offs

    • False positives and false negatives

    • Confidence scores

  • Day 2: Build a Claims Agent with LangChain create_agent and Tools13:52

    Now the same job for an agent. With LangChain's create_agent, we give GPT-6 Luna two tools, get_policy and record_decision, watch it decide one claim, then run it on the whole queue. The agent took longer, cost more and did no better than a single LLM call. I explain why: this task is a fixed workflow, and an agent isn't always the right answer. That changes as we give it more tools and information in the days ahead. Your assignment is to find the cheapest model that gets at least 15 of the 25 claims right with the agent, then share it as a PR to community_contributions and on LinkedIn.

    Includes:

    • LangChain create_agent

    • ChatOpenAI

    • The @tool decorator

    • Agents vs a single LLM call

    • When not to use an agent

    • Community contributions on GitHub

  • Day 2 Quiz: Frontier LLMs and Agents
  • Day 3: Using a Coding Agent like Claude Code to Build an Agent4:07

    Day 3 is a practical day. I start with a quick recap of Day 2: the tricks that turn an LLM into a product like ChatGPT, trading off intelligence, speed and cost, and the LangChain agent we ran on 25 travel insurance claims. Then the plan for today. We'll use a coding agent like Claude Code to build the UnderCover pilot, and that software contains an agent of its own, like the one we coded yesterday.

    Includes:

    • Day 2 recap

    • AI agent definition

    • Using a coding agent to build an agent

    • Today's learning outcomes

  • Day 3: Vibe Coding, the Coding Agent Landscape and the Rise of Claude Code9:38

    I set the scene, starting with Andrej Karpathy's February 2025 post that coined vibe coding, then the rollercoaster of 2025 until things turned a corner with Claude Opus 4.5 in November. Coding agents come in three forms: their own IDE like Cursor, Antigravity or Kiro, an extension like GitHub Copilot in VS Code, or a terminal app. I explain why so many of them went back to a retro terminal interface. I finish with a short history of Claude Code, from Boris Cherny's side project in late 2024 through the features added in 2025, like subagents, hooks and skills.

    • Edit: I say Claude Code's first formal release was in April 2025. Anthropic released it as a limited research preview on February 24, 2025 and made it generally available on May 22, 2025.

    Includes:

    • Vibe coding

    • Andrej Karpathy

    • Coding agents in IDEs, extensions and the terminal

    • Cursor, Antigravity and Kiro

    • GitHub Copilot

    • Codex CLI and Gemini CLI

    • The history of Claude Code

    • Claude Opus 4.5

  • Day 3: Choose and Install a Coding Agent: Claude Code, Codex or OpenCode8:15

    You can use any coding agent on this course. I use Claude Code, and I also show you Codex and OpenCode, with GitHub Copilot, Cursor and Pi as other good options. I explain the difference between a coding agent and its harness. The free route is OpenCode with free models from OpenCode Zen, and it comes with catches: the free models change often, your data may be used for training and you'll need a lot of patience. Then we install Claude Code, picking the terminal version, and start it in VS Code.

    Includes:

    • Claude Code

    • OpenAI Codex

    • OpenCode and OpenCode Zen

    • Pi

    • Coding agents and coding agent harnesses

    • Installing Claude Code

  • Day 3: Be the Boss of Your Coding Agent: AGENTS.md and Permission Modes12:57

    My mantra for coding agents: be the boss. You're accountable for everything that ships, and I explain how to own it without reading every line, the way a good manager asks hard questions and demands evidence. Then AGENTS.md: why LLMs love markdown, how coding agents load AGENTS.md, my tips for writing it, and progressive disclosure to keep it short. Last, Claude Code's permission modes, from manual approval to auto mode and YOLO mode, and why I use auto.

    Includes:

    • Accountability for AI-written code

    • AGENTS.md

    • Markdown for LLMs

    • Progressive disclosure

    • Claude Code permission modes

    • Auto mode and YOLO mode

    • Decision fatigue

    • Allow and deny rules in settings.json

  • Day 3: Claude Code Working Practices, MCP and the Playwright MCP Server9:44

    My tips for working with a coding agent: clear the context regularly, ask for a plan in phases with success criteria, commit to Git often and ask for alternative approaches. I also explain the idea that the repo is the memory, with a running record in markdown files. Then a first look at MCP, the Model Context Protocol: a standard way to give your agent someone else's tools, why it took off, and how it compares with skills. We finish by adding the Playwright MCP server to Claude Code so it can drive a browser and test what it builds.

    • Edit: I fumble MCP and call it "Model Control Protocol". It's the Model Context Protocol, as the slide says.

    • Edit: when you add an MCP server without a scope, the default is local scope, which is private to you and applies only to the current project, not all your projects. Use --scope user for all your projects, and -s project to share it with everyone on the project.

    Includes:

    • Context management with /compact and /clear

    • Plans with phases and success criteria

    • Git commits and /rewind

    • The repo as memory

    • Model Context Protocol (MCP)

    • MCP and skills

    • Adding an MCP server to Claude Code

    • Playwright MCP server

  • Day 3: The Two Meanings of ADLC and a Tour of the UnderCover Project Brief15:55

    The ADLC has two meanings. One is the lifecycle for building agents, which is most of this course. The other, which you'll hear more often, is building code with agents. That's today's topic. I break it into three H's: harness, hardening and humans. Then we tour the UnderCover repo, with its skeleton backend, agent and dashboard and the project brief Claude Code works from: AGENTS.md, SPEC.md from UnderCover's head of claims operations, BRAND.md, TECH_STACK.md, PROCESS.md, STATUS.md and CODE_STANDARDS.md. Your homework is to read them and make them your own, starting with the brand.

    Includes:

    • Agentic Development Lifecycle (ADLC)

    • Harness, Harden, Humans

    • Spec-driven development (SDD)

    • The UnderCover repo

    • SPEC.md, BRAND.md and TECH_STACK.md

    • PROCESS.md, STATUS.md and CODE_STANDARDS.md

  • Day 3: Hardening the Repo: Linters, Type Checks, Tests and a Pre-Commit Hook8:01

    Hardening in practice. The repo has checks that every change must pass: formatting and linting with ruff, Prettier and ESLint, type checks with pyright and strict TypeScript, unit tests with at least 80% coverage, and Playwright end-to-end tests. A lefthook pre-commit hook runs checks on every commit, and I cover how a coding agent could skip it and how to make that unlikely. I also show what the linters check, including cyclomatic complexity. Then we run npm install and npm run check on the starting skeleton.

    • Edit: I say the commit hook runs all the checks except the Playwright tests. lefthook runs the Python or TypeScript checks that apply to the files you're committing. npm run check runs the full suite, Playwright included, so run it before you finish a piece of work.

    Includes:

    • ruff

    • Prettier and ESLint

    • pyright and TypeScript strict mode

    • Unit tests and 80% coverage

    • Playwright end-to-end tests

    • lefthook pre-commit hooks

    • Cyclomatic complexity

    • npm run check

  • Day 3: Claude Code Plans the UnderCover Pilot in Phases with Success Criteria9:49

    Time to build. The pilot has three parts: a backend with an API, a LangChain agent and a dashboard. The agent and dashboard reach the data only through the API. We create a branch, start Claude Code on Opus 5.5 with extra high effort and ask it to plan the pilot. Then we review its plan: six phases, each with success criteria to check off. If you're on free models, I warn you what you're in for and show you how to jump straight to my finished version. Once you're happy with the plan, you ask Claude Code to implement it.

    • Branches: the build starts from main. For my finished pilot, git checkout week1day3-end, then run npm install.

    Includes:

    • Backend, agent and dashboard architecture

    • Git branches

    • Claude Code /model and /effort

    • Reviewing a coding agent's plan

    • Tips for free coding agents

    • The week1day3-end branch

  • Day 3: Testing the Pilot Claude Code Built and Running the Agent on 25 Claims14:14

    Claude Code built the pilot in 32 minutes, with every success criterion checked off. We check its work: the code, npm run check, and STATUS.md, which it kept up to date. Then a tour of the dashboard, with the queue, a claim page showing the agent's trace and a read-only view of the agent's instructions. We reset the database and watch the agent work through all 25 claims, giraffe included. I finish with where humans fit in and how to share your pilot as a pull request and on LinkedIn.

    • Edit: the sharing slide shows git push fork main to publish your build. Your build is on your own branch, so push that branch instead: git push fork week1day3-yourname.

    Includes:

    • Reviewing a coding agent's work

    • STATUS.md

    • The UnderCover dashboard

    • The agent's trace

    • Running the agent on the claims queue

    • Where humans fit in: accountability, evaluations, judgment, taste and the harness

    • Sharing your work with a pull request

  • Day 4: Inference Basics: GPUs, VRAM, Unified Memory and Memory Bandwidth6:56

    Day 4 covers open models, local inference and token cost, and there's a lot of it. Don't try to remember everything. The aim is awareness and intuition, so terms like mixture of experts and quantization make sense when you meet them. After a quick recap of Day 3, we put the pilot aside until tomorrow, and I set the scene with four terms: inference, the GPU, GPU memory (VRAM on a PC, unified memory on a Mac) and memory bandwidth.

    Includes:

    • LLM inference

    • Autoregressive generation

    • GPUs and VRAM

    • Unified memory on Apple silicon

    • Memory bandwidth

  • Day 4: Proprietary, Open-Source and Open-Weight LLMs: Privacy, Cost and Security13:57

    LLMs come in two camps: proprietary and open. I explain why "open-source" is usually loose talk for open-weight, with K2 as a rare example of a fully open-source model, and the third group with commercial restrictions. Then the reasons to use open weights, mostly privacy and the freedom to fine-tune, and the downsides: you still pay for compute, you take on the admin, and a smaller model is riskier in an agent. I also give my view on sending confidential data to the labs: put them through the same security review as any other third party. We finish with the Artificial Analysis chart and a tour of the main proprietary and open-weight labs.

    • Edit: I say that Amazon Bedrock forwards your call to Anthropic. In fact, AWS runs the models in its own accounts, and the model providers have no access to them.

    Includes:

    • Proprietary vs open-weight LLMs

    • Open-source vs open-weight models

    • Open weights with commercial restrictions

    • Data privacy and on-premises models

    • Inference providers like Groq

    • Information security reviews and SOC 2

    • Artificial Analysis

    • The major AI labs and their models

  • Day 4: Dense vs Mixture of Experts (MoE) Models and Active Parameters9:00

    Now it gets technical. A dense model uses every parameter for every token, while a mixture of experts (MoE) model only activates some of its experts. I compare Qwen 3.6 27B with Qwen 3.6 35B-A3B, explain what A3B means, and show why the bigger model scores a little lower but runs about three times faster. Then the router: there's one in every layer, it's learned in training, and it has nothing to do with agents routing between LLMs or with OpenRouter. I finish with how to choose between dense and MoE models.

    Includes:

    • Dense models

    • Mixture of experts (MoE)

    • Active parameters

    • The expert router

    • Qwen 3.6 27B and 35B-A3B

    • Choosing between dense and MoE models

  • Day 4: Quantization, GGUF, Safetensors and How to Read a Model's Name11:24

    Quantization stores a model's weights at lower precision, and I explain it with a dimmer switch: 16 bits gives about 65,000 settings, 8 bits gives 256 and 4 bits just 16. Going down to 8 bits costs very little intelligence, and at 4 bits you start to feel it. We work out how much memory a model needs, and I cover quantization-aware training (QAT). Then the file formats you'll meet: safetensors, GGUF and MLX, and GGUF names like Q4_K_M. Finally, I decode some real model names, from Nemotron 3 Ultra 550B-A55B to Gemma 4 E4B and the :free suffix on OpenRouter.

    Includes:

    • Quantization

    • 8-bit and 4-bit precision

    • Quantization-aware training (QAT)

    • Calculating a model's memory

    • Safetensors, GGUF and MLX

    • GGUF quantization names like Q4_K_M

    • Reading model names

  • Day 4: Ollama, LM Studio, vLLM and Choosing Hardware to Run LLMs Locally12:47

    I cover the software for running LLMs yourself: Ollama and LM Studio on your own computer, the C++ libraries and Apple's mlx-lm underneath, and vLLM for production, all with OpenAI-compatible APIs. I explain distillation and how it differs from quantization, then show the Ollama tags for two of the models we'll use, Gemma 4 E4B and Qwen 3.5 4B. Next, what fits on your machine: I run llmfit on my M1 Max, and explain why memory bandwidth matters for speed. Finally, the options for an inference server, for you or a client, from a Mac Studio, DGX Spark or NVIDIA PC down to renting a GPU on Runpod by the hour.

    Includes:

    • Ollama and LM Studio

    • llama.cpp and mlx-lm

    • vLLM

    • OpenAI-compatible APIs

    • Distillation

    • llmfit

    • Inference hardware: Mac Studio, DGX Spark and NVIDIA GPUs

    • Renting GPUs on Runpod

  • Day 4: Install Ollama and Chat with Qwen 3.5 and Gemma 4 on Your Own Computer10:49

    Hands-on time. We install Ollama and tour the models page on ollama.com, where the tags from the last few videos should start to make sense, and I point out the two red herrings: Ollama Cloud and the launcher menu. In the terminal we use ollama serve, pull and run to chat with Qwen 3.5 4B, which overthinks a simple hello, and Gemma 4 E2B QAT, both running entirely on your own computer. Finally, we check that Ollama is listening on localhost:11434, ready for the lab.

    Includes:

    • Installing Ollama

    • ollama serve, pull, run and list

    • The Ollama model library

    • Qwen 3.5 4B

    • Gemma 4 E2B QAT

    • Checking Ollama on localhost:11434

  • Day 4: OpenRouter Provider Routing, Token Pricing and the Cost per Claim12:44

    OpenRouter doesn't run models itself, and one model can have dozens of providers with different quantization, features and prices. I show how that can change your answers or break structured outputs, and how to pin providers with order, quantizations, allow_fallbacks and require_parameters. We look at going direct to a provider like Cerebras, and what OpenRouter charges for its service. Then token pricing: input, cached input, output and reasoning tokens, with my tips for keeping a coding agent's token spend down. We work out the cost per claim with GLM 5.3 Flash, and how a much shorter prompt helps. I finish with the plan for the lab, including its free and CPU versions.

    • Edit: I say OpenRouter gives you its routing for free when you bring your own key (BYOK). It's free up to a monthly allowance that depends on your plan, and above that OpenRouter charges 5% of what the same usage would normally cost. The current terms are linked in the course resources.

    • Edit: in my tips for coding agents I say "progressive profiling". I meant progressive disclosure: giving the agent detail only when it needs it.

    Includes:

    • OpenRouter provider routing

    • Provider differences: quantization, structured outputs and pricing

    • allow_fallbacks and require_parameters

    • Cerebras

    • OpenRouter fees and BYOK

    • Input, cached input, output and reasoning tokens

    • Cutting a coding agent's token spend with /compact and /clear

    • Cost per claim

  • Day 4: Testing DeepSeek, Kimi K3, GLM, MiMo, Nemotron and Mistral on Claims14:16

    Back in the lab. We take the 20 claims that don't need the claims manual, where approving everything would get 60% of decisions right, and build a much shorter prompt with only the policy sections each claim needs. It's under half the tokens of Day 2's prompt. Then six open-weight models decide the claims through OpenRouter, with provider settings to control who answers: MiMo V2.6 Pro, GLM 5.3 Flash, Kimi K3, DeepSeek V4.1 Flash, Nemotron 3 Ultra and Mistral Medium 3.5. We compare their decisions, payouts, cost and time. DeepSeek V4.1 Flash came out on top in my run. Run it a few times yourself to see how much the results move.

    • Edit: I say TINY = True runs five claims. It runs four, because the claims that need the manual are left out.

    Includes:

    • Baseline accuracy

    • Prompt reduction

    • Structured outputs with Pydantic

    • Input token counts

    • Provider settings: require_parameters and ignore

    • MiMo V2.6 Pro, GLM 5.3 Flash and Kimi K3

    • DeepSeek V4.1 Flash, Nemotron 3 Ultra and Mistral Medium 3.5

    • Decision and payout accuracy

  • Day 4: Ollama vs OpenRouter vs Cerebras: Comparing Accuracy, Cost and Speed18:07

    Now the three local models, through Ollama's Python library: Qwen 3.5 4B, Gemma 4 E2B QAT and Gemma 4 E4B. Then a treat: Qwen 3.8 27B direct on Cerebras at three reasoning levels, with the fastest run finishing all 20 claims in nine seconds. We put the 12 experiments side by side and plot accuracy against cost, against speed and then all three in 3D to find our own Pareto frontier. This is the work an FDE does with a customer: weighing accuracy, cost and latency for their task, sometimes with data that has to stay on their hardware. I finish with your assignments, including connecting the pilot to a local model and, if you're keen, serving it with vLLM on a rented Runpod GPU.

    Includes:

    • Ollama Python library

    • Local models: Qwen 3.5 4B and Gemma 4

    • Qwen 3.8 27B on Cerebras

    • Reasoning effort levels

    • Accuracy, cost and speed trade-offs

    • Pareto frontier

    • Budget and latency requirements

  • Days 3 and 4 Quiz: Coding Agents, Open Models and Token Cost
  • Day 5: Recap of Open-Weight vs Proprietary Models, Distillation and Token Cost6:39

    It's harness engineering day, our first project day and the end of Week 1. First a quick look at what's ahead: harness engineering, the frameworks you can use for it, two labs and a harness of our own for the product. Then a recap of Day 4: proprietary and open-weight models, and why the trade-offs on cost and privacy aren't clear-cut. I add a point I should have made yesterday, that the frontier labs probably make their smaller models from a bigger one using distillation and quantization. We finish on token costs, and why the cost of the whole business task matters more than trimming words from a prompt.

    Includes:

    • Proprietary and open-weight models

    • Cost and privacy trade-offs of open-weight models

    • Distillation and quantization

    • Token cost for a business task

    • The plan for Harness Engineering day

  • Day 5: Harness Engineering, Context Engineering and Recursive Self-Improvement13:53

    I explain harness engineering, starting with how the skill everyone wants moved from prompt engineering in 2024 to context engineering in 2025, and now to harness engineering. I go through Philipp Schmid's seven parts of the context, then what Mitchell Hashimoto, OpenAI and Vivek Trivedy have written about harnesses, and give you my own definition. There are two kinds of harness engineer: someone working with an agent like Claude Code, and someone building agents, which is what this course is about. Then the parts of a harness, from workflow and state to sub-agents, permissions and observability. I finish with self-improvement, and what makes it recursive.

    Includes:

    • Harness Engineering

    • Context Engineering

    • Agent = Model + Harness

    • Harness users and harness builders

    • The parts of an agent harness

    • Self-improvement

    • Recursive self-improvement (RSI)

  • Day 5: Build or Buy an Agent Harness: LangChain, Deep Agents or Claude Agent SDK6:48

    After one more pass at the difference between using a harness and building one, I set out how we'll apply harness engineering to the UnderCover Agent. We'll give it a bigger goal than one claim at a time, tools to read the claims manual, a to-do list, sub-agents and a way to retry when something fails. Then the build or buy question, which is really a spectrum: direct LLM calls, LangChain's create_agent, Deep Agents and the Claude Agent SDK, each giving you more out of the box. In the labs we try the two batteries-included harnesses, and for the product we build our own on create_agent.

    Includes:

    • Build or buy for agent harnesses

    • LangChain create_agent

    • LangChain Deep Agents

    • Claude Agent SDK

    • Model-agnostic frameworks

    • Planning UnderCover's harness

  • Day 5: The Claims Desk Lab: Configure the Claude Agent SDK with a Sub-Agent11:19

    Both labs give a harness the same job. It gets a claims desk, a folder of claims, policies, customers, the policy wording and the claims manual, with the instruction to decide every claim and leave a handover note. We don't write any tools. Lab 1 uses the Claude Agent SDK on Claude Sonnet 5.5, which needs a paid Anthropic API key, so feel free to watch this one and run Lab 2 with me. We build the desk from the five tiny claims, write the prompts for a main agent and a claim-handler sub-agent, and configure the harness in ClaudeAgentOptions. Along the way I own up to an anti-pattern: this job could be a Python loop, and I explain why I give it to an agent anyway.

    Includes:

    • Claude Agent SDK

    • ClaudeAgentOptions

    • Sub-agents with AgentDefinition

    • Claude Sonnet 5.5

    • Anthropic API key

    • Built-in file tools

    • Autonomous agents vs coded workflows

  • Day 5: Run the Claude Agent SDK, Then Deep Agents on DeepSeek V4.1 Flash11:42

    Time to run Lab 1. The main agent creates a task for each claim, hands each one to a sub-agent and writes a handover note at the end. On my run it got all five claims right, and its handover flagged a decline that will probably bring a complaint. Then Lab 2 does the same job with LangChain's Deep Agents on DeepSeek V4.1 Flash through OpenRouter, with a to-do list and a file system backend. It also scored five out of five, for just under 4 cents, and there's a free version too. Your assignment is to try other models and reasoning efforts, and to see what happens without the sub-agent.

    • Edit: in Lab 2, I describe recursion_limit=200 as a limit on agent messages. It limits the number of steps the graph runs, which isn't the same thing.

    Includes:

    • Claude Agent SDK query loop

    • Handover notes

    • LangChain Deep Agents

    • create_deep_agent

    • To-do list middleware

    • DeepSeek V4.1 Flash

    • ChatOpenAI with OpenRouter

    • Scoring against handler decisions

  • Day 5: Choose Your Branch and Plan UnderCover's Harness with Claude Code9:48

    Back to the product for the finale of Week 1. This time we build the harness ourselves on create_agent: a to-do list, a helper sub-agent for each claim, tools to look things up in the claims manual and automatic recovery when something fails. First some Git housekeeping. You can stay on your own version and copy the brief into docs/HARNESS.md, or switch to mine with git checkout week1day5-start. Then we read the brief, written as if by UnderCover's head of claims operations with the IT team, and ask Claude Code to plan it. Twelve minutes later we have a six-phase plan to review.

    • Branches: git checkout week1day5-start to start the build where I start, or git checkout week1day5-end for my finished build. Then run npm install.

    Includes:

    • Intent-driven development

    • A requirements brief for an agent harness

    • git checkout and git stash

    • Planning with Claude Code

    • A harness on LangChain create_agent

    • Reviewing a plan before you build

  • Day 5: Build and Run UnderCover's Agent Harness with a Human Code Review9:28

    Claude Code implements the plan in 44 minutes, and raises a good business question along the way: what should happen when a claim is approved for $0? The dashboard now shows the run's to-do list and a summary for the handlers, and we watch it work five more claims. It all looks great and the tests pass. Then I look at the code, and it's a mess: duplicated API calls, tangled imports and a 50-line run_queue function, with prompts that spell out every step instead of giving the agent a goal. A human is accountable for the code, so I write a review and ask Claude Code to fix the issues and update its process and code standards.

    • Edit: I say the waiting count will go down to five. Working five of the 20 waiting claims leaves 15, as the screen shows a moment later.

    Includes:

    • Implementing a plan with Claude Code

    • A to-do list on the dashboard

    • Human code review

    • Spaghetti code

    • Goal-based agent instructions

    • Asking a coding agent to improve its own process

    • /context and /compact in Claude Code

  • Day 5: Refactor the Harness, Improve the Process and Complete Week 18:37

    An hour and 12 minutes later, Claude Code has agreed with my review, split the agent into api, harness and tools modules and tightened its code standards. Its process now includes a review by a fresh sub-agent that didn't write the code. We run the harness again to check it all still works, and I check light mode and mobile too. Then your end-of-week assignment: build it yourself and take it in your own direction, perhaps with local models or a business problem from your own work, and share it as a PR. That wraps up Week 1. You're officially an AI Engineer, 33% of the way through the course, and next week we become AI Architects.

    Includes:

    • Refactoring with Claude Code

    • Code standards

    • Code review by a fresh sub-agent

    • Light mode and mobile checks

    • The Week 1 assignment

    • Pull requests to community_contributions

    • Week 1 recap

  • Week 1 Summary Sheet0:15

Requirements

  • Some experience with Python and LLMs is ideal but not required

Description

The Forward Deployed Engineer is one of the hottest jobs in AI right now, with postings up 1,000% this year, salaries reaching $400,000 and an estimated 30,000 openings across AI Architecture, Agentic Architecture, FDE and related AI roles.


This course is your complete 3 week roadmap to becoming an FDE.


Making this course was a total guilty pleasure for me. I loved every minute of it, and I hope you’ll love it just as much. I’ve taken all the juiciest topics in AI right now and crammed them into 3 satisfying weeks of hands-on labs, content and projects.


I cover everything making the AI headlines:

  • Harness Engineering

  • Local inference, free models, decision models like Jev

  • Agent Teams, Swarms, Fleets

  • Claude Agent SDK and LangChain Deep Agents

  • ADLC - the AI-Native SDLC

  • Recursive self-improvement


I researched over 300 FDE job descriptions to find the skills that are most sought-after by employers:


  • Durable State and Human in the Loop with LangGraph

  • AI Gateways and Enterprise Context Layers

  • Responsible AI including Security and Guardrails

  • Agents in Production on AWS Bedrock AgentCore

  • Delivering measurable results to clients with evals and observability


Over the 3 weeks we develop a commercial product with agent swarms, built with LangGraph, deployed on AgentCore. It’s the most substantive project I’ve ever built on my courses, culminating in a capstone that demonstrates what it means to be 'enterprise grade'.


We use some paid APIs, but there are always free alternatives at every point; there's no need to spend a cent on AI APIs if you'd prefer not to.


The course is open to people at every level; there’s something for everyone. If you’re new to LLMs and coding, then the first week will be quite the crash course. If you’re an experienced AI engineer then please put me on 2X for the first few days.. then it will quickly get very interesting.


There’s something extra that comes with this course… me! I’m always available in the Udemy Q&A. Many people are suspicious that I'm an AI agent because I reply so fast. I assure you: it’s the human me. And I really enjoy answering questions, so you’re doing me a favor by asking them..


If you're considering joining me on this journey, then I have one action for you right now: open your calendar and create a new event 3 weeks from today. The event title is: “Congratulations - I am now a Forward Deployed Engineer”.

I’ll see you in the course. We have a packed 3 weeks ahead.

Who this course is for:

  • Exploring a career as an AI Forward Deployed Engineer, AI Architect or Agentic Architect
  • Looking to apply AI and agents to solve real-world problems in a measurable way
  • Intrigued by harness engineering, agentic RAG, agent swarms, durable state, context layers and agent runtimes