A Harness for AGI

everlier1 pts0 comments

A Harness for AGI: How We Make Harness Decisions at Viktor | Viktor Research<br>Book a DemoGet Started for Free

Start free

Back to ResearchCopy for AI

When I started building the previous version of Viktor last year, I wanted to find the answer to one question: what will an AGI harness look like?<br>Some quick context. Viktor is an AI coworker: it lives in Slack and Microsoft Teams, works inside a company's tools, and does its work by writing and running code in a persistent workspace it shares with the whole company. The *harness* is everything we build around the model to make that possible: the tools it can call, how it is prompted, when it wakes up, what it remembers, and what it is allowed to do.<br>We are promised a utopian future where AI does all the work and everything is abundant. But if models just keep getting more and more powerful, is that alone enough to actually do most human work? We don't think so. A model that could do the work of a great analyst is still trapped if it can only respond when someone types at it, forgets everything between conversations, and has to express every action through a handful of rigid tools. ChatGPT's harness doesn't unlock most of the value sitting in the underlying models. The same is true of today's coding harnesses like Claude Code and Codex.<br>That gap, between what models can do and what the software around them lets them do, is in our view one of the largest unclaimed opportunities in AI right now. And it changes what you should optimize for: a harness designed around the weaknesses of today's models will be obsolete in months, while a harness designed for the models that are coming gets stronger with every release.<br>So instead of asking what today's models need, we asked a different question. What kind of harness does a model like Fable 10 or GPT-11 want to live and act in? What primitives does it need to do anything in the world?<br>Early thoughts (from back then)<br>A single, isolated thread is too constraining an abstraction. The model needs a way to interact with other threads, share information, and build up its own useful tools that it can reuse in any session. → A shared filesystem where it can save scripts and data for reuse across sessions.<br>Proactivity today means either a cron firing at fixed times or an event-based trigger. Humans run a loop: pull new work, check on the status of ongoing work. AIs need the same loop to actually do human work. → A heartbeat, plus additional crons for fine-grained status checks.<br>Real-world work isn't always a task you work on until it's done. Sometimes you check in every few days, or repeat something on a cycle. → The ability to create crons, and to wait anywhere from minutes to weeks.<br>The harness shouldn't limit how fast or efficiently something can be done. Everything the agent can do should exist as code primitives, as configurable as possible, so a smart model can optimize how it works, and even write plain software (no LLMs involved) to solve problems. → Make everything available as code and expose most arguments to the model.<br>It needs to be always on , jumping into action when needed. → It has to run in the cloud, not as local software.<br>The core principle<br>That's the core goal: a harness that lets an AGI-level model (imagine Fable 10) automate all work. From it comes the single question behind every harness decision:<br>Will this harness change still be useful for Fable 10?<br>If yes, let's add it. If no, let's not.<br>Decisions that follow directly from this principle<br>Code-first, minimal harness<br>Every tool is available as code, with lots of arguments surfaced to the model.<br>Keep the harness itself minimal.<br>System prompt sections explain how the harness works and the key filesystem structure.<br>Progressive disclosure: capabilities live in skill files, including the new tools the agent creates itself. Fable 10 doesn't want every tool and workflow description crammed into the main agent prompt.<br>Autonomy and scheduling<br>Fully configurable crons, including conditional crons, where a script runs first to decide whether the model should run at all.<br>Wait functions.<br>An event-trigger system the agent can fully configure itself.<br>Scale and delegation<br>Subagents: any large batch of items needs a fan-out pattern.<br>Orchestrator/advisor patterns: even Fable 10 might want to outsource simple implementation or search work to cheaper models.<br>Capabilities<br>A ton of useful tools: structured LLM output, image generation, transcription, speech, web search, browser.<br>Utility functions to convert between file types and turn any file into a readable Markdown document.<br>Utility readers, like fetching the latest messages across all Slack channels.<br>A way to quickly generate UI apps for the user.<br>Tools for interacting with its own settings.<br>Working with people<br>An approval system.<br>A way to interact with a company and proactively propose work it can take over.<br>Self-improvement<br>Useful error messages from all of our systems.<br>A catalogue of best practices, useful tools, and...

harness work model tools models code

Related Articles