Back

Agent Harnesses

10 November 2026 · ETH HG D7.1

Introduction

We’ve come a long way in how what AI is capable of doing, and how we are using language models to code, do research and knowledge work, or simply as personal assistants. Back in May we looked at how to use agentic tools like Claude Code, Codex, Cursor, Mistral Vibe, OpenClaw, or anything else.

This event’s mission it is to give you a behind-the-scenes intuition of what happens when doing so, by building a so-called Harness from scratch. Thinking it through properly from the very beginning allows us then to go through and understand many more complex concepts later. We welcomed both people who haven’t seen a single line of code, and computer scientists curious about agentic systems.

Overview

The Harness

When using AI, there are essentially 3 layers to that.

  1. the Interface (what you see)
  2. the harness
  3. the model (produces only text, f.ex. Claude Opus 5.5)
Three layers: the interface you see, the harness around it, and a model that only turns text into text.

The harness uses the LLM to create the user experience of agents we all know. It establishes the agentic loop, tool calls, context management, orchestration capabilities and more. We looked at each of those in detail.

The harness is everything around the model.

Creating a Harness from Scratch

We’re starting with an empty Python file, land on an AI chat, and finish with a system that can change files on our computer and do (pretty much) anything that Claude Code can do. We’re keeping track of the following Pseudo-Code as we are writing Python. The intuition and understanding is what is valuable here.

From one LLM call to an agent: a loop, a tool, and a check before running it.

Memory

Lastly, we added a memory system to our agent, by giving it a file to write memory instructions into, and adding that to the system prompt. We also explored concepts like dreaming, where AI optimizes it’s memory in the background.

The agent tidies up its memory in the background.