AI Engineer World's Fair 2026
Develop at Idea Velocity
Read the talk
Develop at Idea Velocity
Short requests become useful engineering work when agents remember intent, delegate implementation, and return evidence—while people manage testing, reliability, and cost.
From a talk by Jeffrey Lee-Chan
Before you start: Basic familiarity with Git branches, pull requests, automated tests, and coding agents will help you follow the workflow.
From a brief request to verified work
How do you get an agent ready to accept useful work—and keep an experimental change from breaking it? Jeffrey Lee-Chan opens with two workshop tracks: installing OpenClaw for newcomers and trying a second instance as a staging environment. The second track is experimental: he has not finished getting the instances working together and invites participants to help debug it. The planned rhythm alternates setup, Q&A, advanced topics, and short discussions.
Once the system is running, the everyday interaction is much smaller than a detailed coding prompt. Jeffrey estimates that his setup works roughly 70% of the time, an informal estimate without a defined task set or success criterion. A brief Slack request can refer to the skeptic agent, his custom code review tool, because OpenClaw remembers earlier requests. Asking it to fix that agent does not require explaining the project again. Persistent context makes a short instruction meaningful.
Implementation then fans out to multiple agents using Git worktrees, which give parallel workers separate working directories. For two independent tasks, the basic Git setup can look like this:
bash
git worktree add -b fix/skeptic-agent ../skeptic-agent-work HEAD
git worktree add -b fix/review-timeout ../review-timeout-work HEAD
git worktree list
Each worker can operate in its assigned directory without sharing another worker’s checked-out files. The workflow slide places these worktrees between context and memory on one side and CI, review, and proof on the other. Jeffrey briefly mentions CI integration, then shows that the loop still needs debugging: a timeout can prompt the simple instruction to give the operation longer.
Other interventions are managerial: ask what the priorities are, inspect what is underway, and tell an agent that reports completion to run the test. Those responses are not elaborate prompts. Their routine nature suggests Jeffrey’s next automation target: another agent could supply some of the reminders he currently provides himself. The aim is to remove repeated supervision while retaining the checks that make completion credible.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Communication, managers, and coding workers
OpenClaw matters here as a way of organizing interaction, beyond any particular repository. The first requirement is frictionless communication: reaching the AI should not require opening a remote desktop or sitting down at a particular computer. Jeffrey points to Claude Cowork as another product addressing a similar interaction problem. When sending a request is easy, work can begin at the moment the idea occurs.
The next question is how much direct control to retain. Jeffrey describes a personally permissive approach, with OpenClaw orchestrator managers supervising workers. When he wants closer control, he uses cmux, a terminal suited to parallel AI development. Beneath that management layer, his fork of Agent Orchestrator runs the workers. Those workers run Claude Code, which can launch agents and subagents of its own.
The stack therefore separates several responsibilities:
| Layer | Responsibility |
|---|---|
| OpenClaw | Conversational entry point and remembered context |
| Managers or cmux sessions | Supervision and direction |
| Agent Orchestrator workers | Parallel coding sessions |
| Claude Code agents and subagents | Implementation and delegated subtasks |
Jeffrey actively changes the orchestration layers above Claude Code. Once execution reaches Claude Code and its internal delegation, he is primarily using an existing system rather than building that part of the stack himself.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Separate intent from implementation, then demand evidence
An attendee asks why OpenClaw is necessary instead of using Claude directly. Jeffrey’s answer is specialization of context. The manager should make decisions from the specification, goals, and history of the request. A coding agent needs a different body of information: CLAUDE.md, skills, and MCP integrations tell it how to perform the work.
Jeffrey illustrates the distinction by imagining implementation material already occupying 25% of a coding agent’s context; this is a hypothetical, not a measurement. The manager’s attention should instead go toward connecting his Slack messages from the preceding two weeks into a reasonable specification. Separating the contexts gives one agent room to decide what the work means while another concentrates on how to implement it.
Testing then needs to cover both behavior and presentation. Player actions can be exercised without a browser through MCP, commonly carrying JSON, or through HTTP. The transport is secondary to the coverage: can the test perform everything a player can do? CSS or JavaScript checks can cover additional behavior, with browser and visual tests handling what remains visible only through the interface. The useful diagnostic question is which failures actually required a human to resolve them.
That boundary changes as agents improve. Jeffrey reports revisiting it over monthly or quarterly intervals: browser tasks that were troublesome six to twelve months earlier now work more reliably for him. Finding a popup and entering a password is his concrete example of a formerly difficult interaction. He also promises links in place of the slash-command references so participants can follow the workflow.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Reactive stories and multi-model answers
The first product demonstration is an AI role-playing game, represented in Jeffrey’s project directory as WorldAI/WorldArchitect.AI. A player starts with a default campaign, chooses options, and gets an avatar. The game builds a custom world that responds to freeform speech and actions with further story.
The distinguishing mechanism is a D&D rules system. A story played directly in Gemini Chat or ChatGPT can let the player win too easily; this game uses dice rolls to determine whether an attempted action succeeds. The player still has freedom to propose an action, but the narrative must account for a rule-governed outcome. That makes failure part of the game rather than something the conversational model can simply smooth away.
The second demonstration, Consensus ML, automates a research habit. Jeffrey would ask several models the same question, copy their answers, and paste them into one model for synthesis. The website performs that collection-and-synthesis workflow for him. Workshop planning is the example query. He generally prefers these synthesized answers to asking one model alone; the demonstration presents his working preference rather than a measured quality comparison.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Manage the work without inheriting the worker’s conclusion
Back in the terminal, the instructions remain short: get the status, then add to the latest pull request. cmux’s vertical tabs help Jeffrey keep track of sessions that would be easier to lose in a horizontal strip. Completion notifications turn monitoring into a queue of items needing attention: he can work elsewhere until a session asks him to look.
He uses these terminal sessions more as managers than as coders. His concern with working directly alongside a coding agent is that it tends to present its own changes as successful. A manager with different context can make a different decision about the same work.
PR 294 supplies the concrete example. The manager recommends closing it because another pull request should supersede it. Jeffrey contrasts that recommendation with what he expects from a worker immersed in the original PR: advocacy for merging its own changes. The observed outcome is the manager’s recommendation, not a demonstrated closure. Different context can support a different judgment about whether work should ship.
One session is still compacting its context, so Jeffrey moves on rather than waiting. Notifications will bring him back when it needs attention. He reports that cmux has improved his efficiency, with the benefit coming from organizing parallel sessions and reducing the need to watch each one continuously.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Make delegated and remote work visible
Jeffrey invites Austin, introduced as one of cmux’s creators, to describe recent additions, noting that his own endorsement is unpaid. Austin describes a Claude Code Teams integration that automatically opens terminals so users can see delegated agents working. In the current documentation, those team members are called teammates and appear in native cmux splits; they are distinct from the generic subagents discussed earlier in the stack.
Austin also describes native cmux SSH for remote work, including connections involving Tailscale. Running OpenClaw on remote Mac Minis is one example. The contribution ends with an invitation to send bugs, feedback, and feature requests. A brief setup exchange follows: downloading an app is suggested as a convenient way for an attendee to regain access and finish setup.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Isolation and staging solve different problems
Aaron, an attendee who already has OpenClaw installed but describes himself as nontechnical, asks about sandbox token usage. Jeffrey initially answers in terms of isolation: he does not expect sandboxing itself to increase token usage and recommends keeping it if it works. He says his own unsandboxed use has had no incident so far, while adding that he would sandbox an external bot. That personal experience does not establish that unsandboxed execution is safe.
Aaron then explains the actual failure: testing or changing a model can take his OpenClaw instance down, leaving him to recover it. Jeffrey recognizes that they mean different things by sandbox. Ordinary sandboxing means Docker or another isolated execution environment; Aaron wants the separate staging instance from the workshop instructions.
| Mechanism | What it separates | Problem addressed |
|---|---|---|
| Isolation sandbox | Execution from the surrounding system | Exposure to agent actions |
| Staging instance | Experimental changes from the production instance | Disruption while testing changes |
A second instance is therefore not just another name for an isolation boundary. It provides somewhere else to test before changing the instance relied on for everyday work.
Sending the same work to both OpenClaw instances could double token usage. Jeffrey proposes a more selective sequence:
- Develop the change locally.
- Run integration tests against the staging instance.
- Once the checks pass, merge the code.
- Deploy the merged change to the production instance.
This adds test work without requiring every production task to run twice. Usage would still increase, with greater reliability as the intended benefit.
The proposed workflow is not yet a completed demonstration. Jeffrey has written instructions and started setting it up, but the two instances are competing with each other and need debugging. He offers it as an experiment especially suited to advanced participants, while welcoming others who want to try. The unresolved coordination matters: merely starting a second agent does not establish a reliable staging process.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The operating limit is also the budget
The final question asks whether Jeffrey uses a default orchestrator model or chooses models by task. He mostly uses GPT-5.3-Codex, which he calls Codex 5.3. Jeffrey reports that GPT-5.4 used more tokens in his workflow. This is his experience, without matched task measurements or specified settings. Even with his preferred model, he runs through his available allowance quickly enough to consider changing his approach.
When the allowance gets low, he switches to MiniMax. He finds it less capable but sufficient to get work done, and describes the choice as driven more by money than preference. The practical constraint on greater autonomy is therefore not only whether agents can complete the work, but whether their ongoing use fits the available budget.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
Framework for supervising parallel coding agents with isolated worktrees and PR, review, and CI feedback loops.
A native macOS terminal with vertical workspace tabs, agent notifications, and programmable controls.
Instructions for displaying Claude Code teammates in native cmux splits with metadata and notifications.
OpenAI's launch account of GPT-5.4 capabilities, evaluation conditions, pricing, and Codex usage rules.
Further reading
A prototype connecting conversational requests, persistent context, parallel workers, and engineering evidence.
- WorldAI and Consensus ML project overviewDocumentation
An overview of Jeffrey's AI storytelling, multi-model consultation, and development automation projects.
A companion interview with Jeffrey about engineering management, AI tooling, and development bottlenecks.
Updates since the talk
Current guidance on isolating tool execution, workspace access, and sandbox security limits.
Read the complete timestamped transcript
- 0:01
Workshop setup. So, um, [clears throat] there are some people who kind of have, like, never installed OpenClaw, and I wanna kinda get them set up. And then the other people, like, wanna try an experimental thing, which I haven't even fully gotten working, but I think for more advanced people, that'll be cool, um, to get, like, a sort of staging
- 0:19
environment and run two OpenClaws. So I think if I'm not, you know, too busy helping new people set up, then I'll try to help people, like, finish debugging the last part, or maybe someone else will get it.
- 0:32
Then I think, uh, ten minutes Q&A, ten minutes some more advanced topics, and then just more Q&A. And, uh, probably after every five minutes or so, we can do a bit of few minutes of discussion.
- 0:44
So I'll just set some timers to make sure I don't go off track.
- 0:49
All right. Let me start. All right, can everyone see this presentation?
- 1:07
Yes. All right, cool. Yep. So this kind of describes, like, my setup. Um, I'll just keep it really high level for this part where when everything works, you know, maybe, like, seventy percent of the time, you describe your task, and then what's nice is OpenClaw will have, like, context of memory about what you're talking about.
- 1:31
So for example, like, let's say I'm like, "All right, fix this thing."
- 1:35
It's a very brief Slack message, but OpenClaw can remember, like, what I've a-asked it to do before. So for example, I'm working on this thing I'm calling a skeptic agent, and it's a custom code review thing.
- 1:47
But if I'm like, "All right, fix the skeptic agent," or whatever, right, it kind of knows what that is, which is nice. You don't have to re-explain a lot.
- 1:55
Um, I use multiple agents with worktrees. That's very key for parallelization. Uh, CI co-
- 2:06
integration. But you can kind of see, you can talk to it and be pretty brief, and then, you know, usually get reasonable outcomes, but sometimes you'll have to debug it.
- 2:16
So then it's like, all right, there's some timeout thing. I'm like, "Give it a longer timeout," right?
- 2:24
And then I asked it here, like, like, uh, you know, what are the priorities and what we're working on, and I'm reading it here. And then I might have just said, like...
- 2:35
I just made code for it, right? So another interesting thing about this is you can kind of see from, like, um, [clears throat] the types of responses I give, they're not that, like, um, special.
- 2:48
As in I h- I actually think an agent could replace me. So that's kind of what I'm working on right now to, like, get things even more autonomous, you know.
- 2:57
And you, and you'll see this with LLMs, like you're working with them, and they'll be like, "Hey, I've got this thing ready." And I'm like, "Okay, well, run the test," right?
- 3:06
Uh, all right, so I'll show the next slide now. Oops.
- 3:17
Okay. We'll go into some concepts right now, like what is OpenClaw? So I think what's cool about OpenClaw is it's not just about a particular repo or the code, but more of the concept.
- 3:28
So, you know, I've got this cool super diagram, but first concept is frictionless communication. So I know we have other things like Claude Cowork or whatever, but I think they still have a similar concept where it's like, can you, like, easily talk to your AI versus, like, you've got to, um, remote desktop into your computer, or you
- 3:50
have to go sit down. So that kind of enables a certain really higher level of velocity. Um, then I think the central axis is very important. So, you know, there, there's a spectrum.
- 4:02
Like, I kind of go, like, a little more cowboy, and I give it ac-
- 4:11
OpenClaw has these agent orchestrator managers that manage your workers for you. Uh, or sometimes when I want more personal control, I use tmux terminals. So tmux is like a terminal program, but it's pretty good for parallelization and, um, AI development.
- 4:27
Then I use the open source framework that I forked, agent orchestrator, to do the workers. And then once it gets to here, this part is, like, not really controlled by me as much anymore.
- 4:37
Um, so I'm calling them managed agents, but basically, like, you have a worker that runs Claude Code, and Claude Code itself can run agents, so those can have sub-agents.
- 4:49
So once you get to this Claude Code part, right, this part is not exactly my stack, just stuff I use, but this part of the stack I'm changing a lot more.
- 4:59
Um, I'll, I'll pause here to see if anyone has any questions or thoughts.
- 5:06
Um, can you hear me? So I, I have a question. So- Go ahead, yeah. The, the, the real question is, you know, why, why use OpenClaw versus directly use Claude?
- 5:17
So yeah, that's, that's definitely a good question. Um, [clears throat]
- 5:21
the reason I use OpenClaw is specialization. So when OpenClaw makes a decision, I want that context to be more about, like, the spec or the goals or, like, the history of what I want in the task rather than the code.
- 5:37
And you can just imagine this, right? As soon as you open up Claude, it reads Claude MDs, it reads skills, it reads, um,
- 5:45
MCPs. A lot of those things are sort of independent of, like, the actual task. That's more about how to do the task. Um, so imagine, like, twenty-five percent of your context already taken up by implementation versus, like, when you think about OpenClaw, you're like, "Okay-" I wanna think about exactly what I wanna do and how it relates
- 6:04
to all the other Slacks Jeffrey has sent me in the last two weeks, and put it all together and give me, like, a reasonable spec.
- 6:16
Does every single thing a player does, but it does it without a browser, right? So you could use MCP, which usually is JSON or whatever, or HTTP. Doesn't really matter, actually.
- 6:26
And then the final thing is the browser test. So some things, like, are visual. I mean, maybe you could even have CSS tests or JS tests, right? And that kind of goes here.
- 6:35
But then the final thing is visual. So I would recommend you, like, try, um, similar approaches to this and be like, "Okay," like, which problems truly needed that human or not.
- 6:45
Um, and I think what's kind of cool is, like, every quarter or maybe even every month, like, it improves. So before, like, I had to really manually test a lot because, like, you know, this worked fine, right?
- 6:58
But these things didn't work that well with agents, like, last year, like, like a year ago, even six months ago. But now, like, um, agents are pretty good at, like, nailing down a lot of browser tests for me, versus, like, when I started, my agent would have a lot of problems, you know, finding a pop-up and entering
- 7:14
a password. Now, no problem. Um, that was a little long, but does that kind of address the theme of your question? Yeah, I think this is good. Good. Thank you.
- 7:23
Okay. Keep going. Just, just remind me for all these slash commands. I'll put, um, links here instead. All right, cool. Anyone have any other questions related to some of that stuff?
- 7:37
All right. If not, I will go here.
- 7:43
All right, so here's, uh, two websites that I've built. [clears throat]
- 7:53
Yeah, while that loads, I'll show this one.
- 7:56
So this is, like, a AI RPG. Um, what's cool about this is you can... I've got a default campaign, for example. Um, [clears throat] you pick some options. You got a avatar.
- 8:09
And, uh, what's cool about this is it builds a custom world for you that reacts to you, so you can, like, kind of say whatever you want, do whatever you want, you'll get a story back.
- 8:19
Um, the main difference between playing this versus, like, um, you know, you could just always go into Gemini Chat or, or ChatGPT or whatever is that, um, I have, like, a D&D system.
- 8:30
So if you play your own, like, games or novels, like, you kind of just win too much versus, like, with this you'll actually do, like, dice rolls and be like, you know, did the person actually, um...
- 8:42
Did you actually succeed in your action or not?
- 8:45
All right, so while this is going, I'll also, um, show this thing. Yeah, so this is funny. Um, this website is, like, a multi-AI analysis website. Um, so what I found was, like, whenever I was doing research or, or whatever, I would go to multiple models and I would be like, "What's the answer?"
- 9:03
Then I copy and paste them all. I put them into one model. Um, so pretty simple concept, but this does it for you. So usually I like these answers better than, like, asking one model, and I'm like, "Okay, how do I do this workshop?"
- 9:22
So I can be like, okay, get the status.
- 9:31
Add on to the latest PR now. And, um, what I like about this is it has that sort of vertical tab type of thing, 'cause when you go horizontal, it's really easy to lose track of your tabs.
- 9:43
Um, but we've got notifications too. So when this thing is finished or this is finished and I need to look, it'll give me a notification, and I can just focus on clearing the notifications.
- 9:54
So here, um, the way I'm using these terminals, usually it's more like a manager rather than a coder. Um, and it's kind of interesting, but it gives you a certain benefit where I feel, I feel like the worker's not biased anymore.
- 10:08
So when I ha- when I code with these directly, um, I usually feel like there's a bias where it wants to say things are really working or whatever, right?
- 10:16
Versus, like, you know... Um, and I'll show this. One sec.
- 10:24
If this had been working in PR 294 by itself, I think it would've been like, "This PR is amazing," like, "We gotta merge it," right? But then this one was like, no, like, there's another PR that should supersede it, and probably we should just close this PR, right?
- 10:37
So that's kind of the benefit you get, where the manager has a different context, um, than the workers.
- 10:45
Uh, let's see. All right, so this is compacting whatever. So it'll take some time to complete. Don't wanna wait for it, but when it completes, you see these notifications, and I think my efficiency has improved a lot with tmux.
- 10:59
Um, I think... Is Austin or someone from tmux here?
- 11:05
Yeah, I'm here. What's up?
- 11:06
Cool. Yeah, so Austin is, uh, [clears throat] one of the guys behind tmux. Um, you know, big fan of it and I'm not, I'm not paid to say this or anything, but- [laughs] ...
- 11:17
big fan of tmux. Uh, I've been using it a lot. I know you can spend a minute if you wanna talk about anything cool about tmux.
- 11:24
Yeah. So yeah, one of the creators of tmux. Uh, really happy to have Jeff as one of our power users, um, and also, like, kind of endorsing it for free.
- 11:32
Um- [laughs] ... but yeah, lots of, uh, yeah, lots of things that we're shipping. We shipped a Cloud Code Teams integration, so if anyone is using Cloud Code Teams and wants to actually see what the celebrations are doing, we'll automatically spawn terminals for that.
- 11:46
Uh, we also shipped, uh, tmux SSH. So if you do any SSH work, um, you can use our native tmux SSH to, you know, do your tail scale, et cetera, um, to other computers.
- 11:57
You can even use it to run your own OpenClaw, um, in your Mac Minis. Um, but yeah, just, uh, one of the creators-
- 12:05
Please feel free to email me if you have anything that you think is a bug or any feedback, feature requests. Um, I'm always available, and yeah, I just love seeing people using tmux and always wanna take as much feedback as I can to, like, get them as, get them-
- 12:27
Okay, so just download that.
- 12:34
Yeah. They actually have an app too, so the app might be nice.
- 12:37
Yeah. Okay. And then use that to help me get back in and set-
- 12:43
Yeah
- 12:43
... set up.
- 12:44
Yeah.
- 12:45
Okay. Okay, cool. Thanks.
- 12:47
All right. Does using the sandbox... It should not. Where would you, um... Have you had, have you run into any troubles, Aaron, about sandbox token usage?
- 12:57
Uh, no. I'm just, I'm not technical at all.
- 13:01
Oh, yeah, yeah.
- 13:01
I haven't OpenClaw installed, so I'm just-
- 13:03
Okay
- 13:04
... very newbie questions. [laughs]
- 13:06
No, no.
- 13:06
But I appreciate you-
- 13:07
No, no bad questions
- 13:08
... pretty much, anyway.
- 13:08
It's all good. Um, yeah. Uh, no, the sandbox wouldn't do that. Um, I think if, if everything's working well for you, you know, keep using the sandbox. For me, I just, you know, don't use the sandbox and so, so far nothing bad has happened.
- 13:21
But I think if I had-
- 13:22
Yeah
- 13:22
... an external bot, then I would use the sandbox too.
- 13:27
You changing the mo- testing a new model, like it'll go down, then I have to figure out how to get it back up again. So I think I want to set up the sandbox because-
- 13:35
Oh, sorry, sorry. Um, okay, wait. There's two kinds of things. Okay.
- 13:39
The sandbox that most people talk about means, like, they run it in Docker or they, like, have it running in-
- 13:45
Oh
- 13:45
... an isolated part of their system.
- 13:46
Mm-hmm.
- 13:47
But the other one was the one where I made the staging instructions, where I was like, "Oh."
- 13:51
Yeah.
- 13:51
Okay. So-
- 13:52
That's what I'm looking for
- 13:53
... that, that could double your token usage if you send the same work to both of them. If you have two-
- 13:58
Got it
- 13:58
... right. Um, but I think the way I would use it is not like that. Like, I think I would do local development, and then I would run integration tests on the, um, sandbox or staging one, right?
- 14:09
So I have two of them, and then once, like, everything's good, then I would merge the code and deploy to the production one. Um-
- 14:16
I see
- 14:16
... so it wouldn't double your usage, but it would definitely increase it, but then the benefit is you might have some more reliability. So-
- 14:22
Yeah. Got it
- 14:23
... I, I made some instructions and I was kind of in the middle of setting it up, but then, you know, it's like competing with the other one, so I gotta debug it.
- 14:30
Yeah.
- 14:30
But I think, you know, it's, it's worth trying out though, so I add that for more advanced people to give it a, uh, give it a try.
- 14:37
Cool. Thanks. Well-
- 14:38
Or even if you're not as advanced, if you want it, you know, you can try. [laughs]
- 14:41
Yeah, I'm definitely gonna play around. But what, uh, what model do you use? Like, do you have a, something that, like a default orchestrator model and then you, like-
- 14:51
Yeah, so-
- 14:51
... say for this, use that
- 14:52
... I mostly use Codex 53. Um, I found, I found, uh, GPT-54 to just use more tokens. Um, and even 53, like, like I, I just get destroyed all the time, right?
- 15:06
So I might have to adjust that.
- 15:08
Yeah.
- 15:08
Um, so basically I use this until, like, this is getting low, and then I just switch to Minimax, which is not as good, but it kind of gets the job done.
- 15:17
Yeah.
- 15:17
And then this is more about money than, like, preference, but
- 15:22
some, some work I can still kind of just do, um, here, so I don't always have to-