写了 2000 小时 AI 代码后,他把效率问题改写成了调度问题
David Ondrej 的 2026 年 Agentic Engineering 工作台很容易被读成一张工具购物单。沿着它的结构拆开,能看到一套更稳定的系统:统一入口、持续运行、任务隔离、风险分级和反馈测量。
- 多 Agent 工作的上限很快从模型能力转成调度能力:看清谁在运行、谁被阻塞、谁最该得到人的回应。
- 作者的工具栈可以拆成四层:统一入口、状态调度、持续执行环境、工程治理;具体产品可以替换,层与层之间的职责不能缺。
- 订阅价格、模型排名和“云端 Agent 占内部 PR 近 60%”都带强时效性;更耐用的判断是按任务分配算力、按失败代价增加隔离和复核。
- 适合多数人的起点不是同时运行二三十个 Agent,而是一主一辅、一个独立 Worktree、一次异模型复核和可回看的结果指标。
David Ondrej(下文统一称 David)是一名 AI 工具创业者和内容创作者,创办了 Vectal Labs,也长期公开自己的 AI 编程方法。这篇原文是一份个人工作台复盘:他称自己过去三年用 AI 写代码超过 2000 小时,还采访过一批高产的 Agentic Engineering 实践者,随后公开了 2026 年第三季度正在使用的整套配置。
David 的使用规模和多数人不同。他经常同时运行二三十个编程 Agent,让它们在本机、商业云和自建服务器上并行工作。这里的 Agent 指能读取文件、调用工具、运行命令并连续完成任务的编程代理;Harness 则是把模型接到这些工具和执行循环上的软件外壳。后文出现的 bb、Herdr、Corral、Pi 等名字都指软件组件。
原文列了十几种产品,但 David 要解决的核心问题很集中:任务从哪里发出,运行到什么状态,完成后先处理哪一个,怎样避免多个 Agent 互相覆盖,以及高权限操作如何收口。把快速变化的价格、模型排名和个人偏好拿掉,底下是一套小型软件生产系统。
从工具清单里拆出一套四层调度系统
bb 是统一入口。它把 Codex、Claude Code、Pi、Cursor CLI、OpenCode 等编程 Agent 放进同一个界面,并复用用户已有的 provider CLI 登录。cmux 是可以同时摆放多个终端和浏览器的工作区,Ghostty 是承载这些会话的终端应用。三者解决的是“从哪里发起和观察工作”。
Herdr 再往下一层。它把 Agent 所在的终端会话留在后台,标记 working、blocked、idle 等状态。David 自己做的 Corral 则按 P1 到 P4 给完成的 Agent 排队。前者告诉你发生了什么,后者决定你的下一分钟给谁。
本机、商业云 Agent 和自建 VPS 是执行环境。Skills、Worktree、ADR、代码审查、只读生产数据权限和发布锁构成治理层。模型贯穿其中,却没有独占任何一层。
Harness 横跨入口和执行环境。David 把极简、可自由换模型的 Pi 当作基础执行器,用 Cursor CLI 获得多模型和预发送能力;遇到探索性更强、做法还不清楚的任务时,他会考虑能在执行中沉淀 Skill 的 Hermes 或 Prime。具体产品判断带有个人口味,留下来的选择方法是:路径明确的任务需要轻量、可控的执行器,不确定性高的任务才值得使用会探索和自我积累的 Harness。
-
01
统一入口发起与观察
bb · cmux · Ghostty
-
02
状态调度分配注意力
Herdr 看状态 · Corral 排优先级
-
03
执行环境持续与隔离
本机 · 商业云沙箱 · 自建 VPS
-
04
工程治理控制失败半径
Skills · Worktree · ADR · 复核 · 权限 · 发布锁
这张图也解释了为什么“换一个更聪明的模型”经常没有预期中的生产力增幅。模型可能把一个任务从 20 分钟降到 10 分钟;如果人在 15 个完成、阻塞和冲突的会话之间乱跳,节省下来的时间会在调度中被重新吃掉。
Agent 一多,瓶颈就从生成速度转向人的注意力
单 Agent 时代,人盯着一次对话:下任务、看输出、补充信息、确认结果。Agent 并行以后,工作变成一个动态队列。有的在跑测试,有的需要权限,有的已经完成但风险很低,有的刚发现一个会阻塞发布的问题。
Herdr 的状态面板让这些会话不再隐形,但“看见”还不够。假设 P1 Agent 刚完成支付故障修复,P4 Agent 同时提交一处文案调整,按完成时间依次处理会让低价值任务抢走响应窗口。Corral 的优先级就是把人的注意力也当作稀缺资源来调度。
这里出现了一个容易忽略的变化:人从逐步编写者变成异常处理者和决策者。工作量不会自动消失,它从敲代码转移到定义任务、准备环境、判断风险、处理阻塞和验收结果。没有状态、优先级和清楚的完成条件,多开 Agent 只会制造更多未关闭的工作。
David 还强调“预发送”:已经知道下一步会发生什么时,提前排入“实施方案”“换模型复核”“修掉有效问题”等消息。这个办法能减少等待,但只适合路径已经清楚的任务。架构选择仍未确定时,预先排六条消息会把一个早期误判自动放大六次。
原文还补了一条容易被忽视的输入瓶颈:David 用语音转写发送长提示。他给出的“每分钟 250 个词、输入速度提高三到四倍”是个人口径,具体效果取决于说话习惯和修订成本;可迁移的部分是,当一个人要频繁给多个 Agent 分派上下文时,降低输入摩擦确实能缩短调度时间。语音只能加快已经想清楚的指令,不能代替任务定义和验收判断。
云端解决持续运行,自建服务器解决所有权
本机 Agent 的上限很物理。多个会话同时装依赖、编译和跑完整测试,CPU、内存、磁盘和网络会互相争抢;合上电脑或断网还可能打断长任务。云端 Agent 把每个任务放进隔离环境,能够并行、无人值守地运行,也更容易从手机或 Slack 发起。
Cursor 在 2026 年 6 月公开称,内部超过 40% 的 PR 已来自云端 Agent,而且占比仍在增长。David 在 8 月 31 日的文章里把数字写成“接近 60%”,但抓取到的 X Article 只保留了 [image here],没有那张图。趋势有官方材料支撑;60% 这个精确数值目前只能算作者口径,后面的 70%、80%、90% 是预测。
商业云 Agent 同时带来新的依赖:环境配置、密钥、会话历史、定价和数据都绑定在供应商体系里。David 的折中方案是租一台 VPS,在上面运行 Herdr,再通过 SSH 从电脑或手机连接。终端会话留在服务器上,本机断网不会让远端进程停止,也能继续使用不同的 Agent CLI。
原文给了一个很具体的搭建过程。David 在 cmux 左侧打开编程 Agent,右侧留一个空终端,再让 Agent 通过一个能操作其他窗格的 Skill 进入新 VPS,安装 Herdr、Node.js、Python、Git 和 Pi。几轮提示后,两组远程 Agent 已经能在服务器上持续运行,即使他的 MacBook 关机也不会中断。这个案例补足了“自建云环境”怎样落地,也暴露了同一套自动化的风险:Agent 在过程中从本机找到了 OpenRouter 密钥,并在远端取得完整 root 权限。速度和控制权都是真的,密钥隔离、最小权限与可重建环境也因此不能省。
“十分钟搭完”和“几美元获得 80/20”描述的是一次顺利演示,不是长期拥有成本。自建服务器把控制权交回用户,也把系统补丁、密钥轮换、备份、日志、入侵响应和故障恢复一并交回来。个人实验环境可以接受这种交换;连接生产仓库和真实密钥后,运维能力本身就成了产品的一部分。
模型与订阅是可替换算力,不是工作流的中心
David 同时购买多套订阅,追求的是“用更少的钱拿到更多可用 Token”。他会把规划、新项目、疑难 Bug、日常聊天和前端任务交给不同模型,也建议新模型发布后留一天亲自测试,不跟着社交媒体下结论。
方法可以保留,购物单不能照抄。原文列出的套餐价格、用量倍数、模型名称和相对排名都绑定 2026 年第三季度;作者自己也说,两个月后可能完全不同。订阅的隐藏约束还包括高峰限流、并发限制、模型切换和平台政策,仅比较月费会漏掉这些容量边界。
他那句“绝对不要付 API 价格”也只覆盖一种用法:个人高频、交互式地使用现成客户端。需要程序化批处理、稳定配额、逐请求成本归因、服务账户或无人值守生产任务时,API 买的是另一种控制能力。订阅和 API 不是同一种商品,不能只拿每百万 Token 的表面价格判断。
更耐用的做法是建立任务路由:任务需要多强的推理、能容忍多长延迟、失败一次损失多大、是否需要隔离环境、是否值得让另一个模型复核。模型和套餐只是这套路由表里不断更换的供应商。
高吞吐量靠预设和护栏,不能靠全面放权
原文最实用的一条规则很朴素:重复的单步动作做成文本片段,重复的多步流程做成 Skill。这样省下的不是一次输入几十个字,而是每次重新回忆顺序、检查遗漏和解释验收条件的认知成本。
David 的 /total-review 会让两个不同模型审查同一批改动,再去重成一份问题清单;/ask-then-build 在实现前逐项询问重要选择。他同时反对递归审查:要求模型“再找五个问题”,模型往往会努力凑满五个,即使剩下的只是想象出来的 Bug。复核应该由改动规模和失败代价触发,并有明确停止条件。
权限也要服从同一套分级。David 用短别名直接启动权限绕过模式,这在隔离、可重建、没有敏感凭据的环境里确实省步骤。Pi 的官方安全文档明确提醒,它不是沙箱。把这种配置复制到日常主机或生产环境,速度收益没有变化,错误命令的影响面却完全不同。
当前分支 · 定点检查
先定方案 · 一次异模型复核
独立 Worktree · 明确文件边界
只读/最小权限 · 单写者锁 · 可恢复回执
Worktree 解决并行修改互相踩踏;ADR 保存无法从代码反推出的架构理由;生产数据库只读角色让 Agent 能核实现实数据,又不能直接改写;单写者发布锁则把合并、验证、推送、CI、部署和健康检查串成一条受控出口。这些做法共同完成一件事:让 Agent 获得完成任务所需的权限,同时拿不到与任务无关的破坏能力。
测试也适用分级。要求每次小改都补齐单元、集成和端到端测试,会让仓库膨胀;完全禁止测试又会失去回归证据。应该从风险和现有测试策略出发,补能阻止同类失败再次发生的最小证据,而不是按测试文件数量衡量认真程度。
普通人可以从一主一辅的工作台开始
David 同时运行二三十个 Agent 的配置服务于他的工作量和订阅容量。多数人一上来复制这个规模,只会更快地耗尽额度,并把注意力撕成碎片。可以先搭一个更小的闭环:
- 一主一辅。 主 Agent 负责实施;只有中大型改动才让不同模型做一次独立复核。先观察复核是否稳定发现会改变交付结果的问题。
- 一个隔离工作树。 并行任务可能碰同一批文件时再开 Worktree。小项目和单一修改留在当前分支,减少搬运成本。
- 一组结果趋势。 记录 Agent 会话、用户提示和 Git 提交可以观察习惯变化,但三者都是代理指标。再加上返工次数、合并后故障、交付周期或真实用户结果,才能判断效率是否提高。
当这套小系统的等待时间、冲突率或本机资源确实成为瓶颈,再加状态面板、VPS 或商业云 Agent。扩容的顺序由已经出现的问题决定,不由工具目录决定。
这份 2000 小时配置留下的耐用品,是一张工程分工图:入口负责降低切换成本,调度负责管理注意力,环境负责持续执行,治理负责把速度变成可接受的结果。下一代模型会换,套餐会换,今天最火的客户端也会换;这四项工作不会跟着消失。
Agentic Engineering Setup (after 2,000+ hours)

Over the past 3 years, I've spent well over 2,000 hours coding with AI, and I've personally interviewed some of the most productive people in the space of Agentic Engineering.
Below is my full Agentic Engineering setup as it currently stands, Q3 of 2026.
Interface
This means the UI / CLI how you interact with agents. My main interface is bb.
It's open source, completely free, and it allows you to use any subscription, any agent, any model inside of a single GUI. Codex, Claude Code, Pi, Cursor CLI, OpenCode, Grok Build, Hermes, all within the same UI.
The problem with apps like Codex or Cursor is that they only allow their own models and their own subscription. The goal is getting the most tokens for the least amount of dollars.
All the features you like from the Codex or Cursor apps are inside of bb, and it's improving every single week (plus, it's fully open-source and 100% free to use).
Another thing I use a lot is cmux.
When you launch a new cmux workspace, you can divide the screen just like you would in tmux (that's why the similar name), launch different terminals in every pane, and there's a built-in browser.
Where cmux breaks is once you have a lot of agents and workspaces. The left sidebar really is not the right primitive. Fine for a couple of things going on, but for serious agentic engineering work at scale it's not the best.
I use Ghostty as my terminal because it's very fast and native.
Inside of Ghostty, you can run Herdr, which is basically tmux but for agents, a backend runtime for agents. Very minimal, very lightweight, lives in the terminal, and when an agent is finished, its state shows on the left: done, idle, blocked, running.
Tracking the states of AI agents is ESSENTIAL. My prediction is that in 3 to 6 months this "agent state tracking" becomes more and more important, because you won't be talking to a single agent. You'll be talking to a manager agent that manages a lot of worker agents.
The last interface I have to mention is Corral, something I developed myself.
Instead of randomly switching between agents whenever they finish (in Herdr, there's no real order), every agent has a priority. Just like tasks have different priority/importance levels. When a P1 agent finishes, he goes to the top. You should never respond to a P4 agent when a P1 agent has finished running. (yes... i do need to make corral open-source. haven't got to it yet.)
Models and Subscriptions
You want the most tokens for the least amount of dollars possible. This should be one the main goal of every Agentic Engineer (after getting shit done).
There are 4 main subscriptions right now, and yes... this could be completely different 2 months from now.
The best "bank for your buck" deal right now is OpenCode Go. It's only $10, and it gives you Kimi K3, Grok 4.6, GLM 5.3, DeepSeek V4 Pro, and many other models... But it doesn't have the best models like Fable 5 and GPT-5.6 Sol (plus, the usage limits are quite small)
So, if you have a bit more money, here's what you should do:
- $30 -- get OpenCode Go + ChatGPT Plus ($20)
- $50 -- Add the $20 Claude Code subscription on top.
- $70 -- Add Cursor's $20 a month, and you have the lowest tier of all subscriptions.
- $110 -- OpenCode + one of the big plans. ChatGPT $100 plan will give you a better deal than Claude. It is what it is. OpenAI has more compute, they're willing to subsidize it more.
- $210 -- Just get both $100 plans.
- And if you really are serious (like me) just get all $200 plans (Codex, Claude, Cursor) because those are 20x usage, and these plans give you the best deal.
btw... the Cursor plan is very underrated. Cursor, aka Grok, is going to become a great subscription because of the SpaceX acquisition. SpaceXAI has loads of compute, so they're allowed to play the game of subsidizing. And -- I think -- the Cursor/Grok plan gives you separate limits for Cursor + Grok Bot, which is just incredible.
Grok Bot is rapidly becoming the new way people interact with agents, so having a Cursor subscription has never been more important (not sponsored lol, it's just true). Plus, the new model -- Grok 4.7 -- is right around the corner.
No matter what, do not pay API pricing. It is the worst deal out there. Just get the subscriptions.
Cloud Agents
It's quite obvious that cloud agents are the future. Cursor, Amp, Devin, Codex... all of these companies are betting everything on Cloud Agents.
The proof that cloud agents are the future is the graph below.
[image here]
This is Cursor's internal share of merged PRs from cloud agents: around 10-15% at the start of this year, approaching 60% now. And that's merged PRs, the stuff that actually gets used. Soon enough this will be 70%, then 80% and then 90%.
The issue with running all agents locally, on your machine, is that it's not scalable. You cannot run hundreds of agents at once. All it takes is a couple of agents deciding to run your entire test suite at the same time and your computer will begin to make weird noises (even my $7,000 macbook pro struggles).
Cloud Agents give you isolated environments, persistent sessions, durable access to internet and electricity. If you close your laptop, you lose your sessions. Lose internet for a couple of minutes, and the harnesses cannot self-recover.
The problem with the existing cloud agent solutions is the INSANE level of ecosystem lock-in. Setting up the environments and all your secrets is a lot of hours, and then you're locked in: your sessions are there, you're on their pricing, and you give them all your data. Even if they don't train models on it, there are so many other ways to use your data.
The solution is to have your own server. And thanks to AI, this takes like 10 minutes to set up (seriously). Just get a VPS, run Herdr on it, and SSH into it.
Herdr gives you persistent agent sessions, and SSH lets you connect from your phone, your laptop, anything. You can literally achieve the 80/20 of cloud agents for a couple of dollars, without the lock-in.
Build your own Cloud env
I use Hostinger for my VPSs, and a KVM2 plan is enough. Here's the main thing I want to get across... you don't need to be an expert in VPSs, DevOps, Linux, none of that.
Just talk to your agent in plain English!!!
In the upcoming video, I set the whole thing up live. A cmux workspace, a coding agent in the left pane (Cursor CLI running Grok 4.6), an empty terminal pane on the right.
My cmux skill lets the agent find that other pane and run commands in it. I SSH'd into the fresh VPS myself, then told the agent "learn everything about that server, and set up the dev environment. Herdr, Node.js, Python 3, Git".
It analyzed the VPS in seconds, installed everything, started Herdr, then installed Pi Agent, found an OpenRouter key on my macbook, and went through the full setup itself. A few short prompts later, I had Pi running GPT-5.6 Sol and a second session running Fable, both in the cloud, on my own VPS, with full root access.
If something happens to my computer or wifi... If my MacBook explodes, those agents keep running. The full walkthrough is in the video. Link to my YouTube here.
One more speed thing... I dictate with SuperWhisper. Most of you reading this probably type at 40 or 50 words per minute. That is very slow.
BUT! you can speak at 250+ WPM. A voice AI tool (like Superwhisper, Glaido, Whispr FLow) instantly makes you 3-4x faster at sending prompts. Use one. Don't be stupid.
Harness
First harness I need to mention is Pi Agent, the GOAT.
The most minimal harness out there: just 4 tools, always runs in YOLO mode, supports any model, any provider. Very elegant, super configurable, and that's why so many people build on top of Pi. It's open source, completely free, just go to pi.dev and get it. Non-negotiable. It's the first harness I put on the VPS.
Cursor CLI. Very underrated, because you can use all the models: Grok, GPT models, Anthropic models, Kimi. You can tag skills, and you can pre-send messages. Great harness overall.
The next category of Harnesses is what I like to call "self-improving" harnesses.
The two most popular ones are Hermes Agent and Prime Agent. This is for when you don't know what you're doing. If a task has a lot of uncertainty, a lot of figuring out to do, use a self-improving harness, because it creates skills and improves with you over time.
And finally, the classics, Claude Code and Codex. I have them as aliases. A lot of people type claude --dangerously-skip-permissions every single day. Extremely slow, extremely inefficient. I type cc and it launches Claude Code with permissions bypassed; cx launches Codex in YOLO mode.
YOU MUST create global aliases for the long commands you run often. That's one of the laws of agentic engineering: How can you get more done in the same amount of time?
Skills
My skills repo went viral last month. (see github.com/davidondrej/skills ) It's also completely free, open source, all that.
The SKILLs most relevant to Agentic Engineering are:
*(1) /total-review
- It runs two other skills, /gpt-review and /fable-review, which review whatever code changes you just did with GPT-5.6 Sol and Fable 5, then dedupes both lists into a single list of the issues that actually matter. It's like asking all of your smartest friends to review your job application, and they only give you the biggest issues. Run it on medium-to-large changes, especially if a different model built it. If Grok 4.6 did the work, you want a totally different model reviewing it.
IMPORTANT: anything you repeat often enough should become a preset.
If it's a single step, use text replacements. I have them as Raycast snippets. "Answer in short in plain English." "Make your previous answer simpler and shorter." "Stage all files, write a clear commit, push to GitHub."
If it's a multi-step workflow, turn it into a skill.
(2) /ask-then-build
- I use this skill every single day, before any building. Instead of saying "make this Windows compatible" and letting the model silently make important architectural choices you might regret later, it walks you through the main decisions one at a time, with options. AI models are great at coding, great at implementation. They don't have taste. They don't have good judgment. You, as the human, need to stay in charge of that.
(3) /deepapi
- This skill is what I use for any deep research, any scraping, anything web. Codex and Claude Code come with basic web search, but no scraping, no deep research, and they get blocked easily. Run 8 fast web searches and give me the top 3 options, scrape Twitter, scrape GitHub, find 3 ways of contacting a person. Everyone on my team uses it. Must-have.
(4) Guardrails and push lock
- More boring, but absolutely essential, and you only set them up once. Global agent guardrails is a pre-tool-call hook that makes sure your agents never wipe your disk, never overwrite Git history, never touch your password manager. And push lock, for when you're running 15+ agents in parallel: one OS-level kernel lock on the whole ship. Merge, verify, push, CI, deploy, health check.
Don't install all of my skills. Just grab the ones you need.
Worktrees
A worktree is basically a copy of your primary checkout into a separate folder and creates a new Git branch there, so agents can work in parallel, completely isolated.
On a small project, that's absolutely overkill. Stay on a single branch and work faster.
On medium-to-large projects where you're running 20-30+ agents at all times, there's no way to avoid it. Without worktrees, the agents will conflict, reverse each other's changes, and fight each other. Another good thing about BB: it has built-in worktrees. It remembers that on my big repos I always want a new worktree based off of origin/main.
Other Agentic Engineering Tips
Know when to use each model.
- Designing a plan or starting a new project? Fable. It has the most sparks of genius. Fixing a deep, serious bug? GPT-5.6 Sol, max reasoning effort. Default chatting? Grok 4.6 on high. Almost the same intelligence, but 2x cheaper and 2x faster. Front-end? Kimi K3.
- And when a major new model is released, set aside a day where you only use that model. Don't listen to Twitter. Try it yourself.
Know when to review.
- I'm not running total review on every change. A small front-end tweak goes to prod right away.
- And NEVER do recursive reviews. If you tell a model "find the 5 biggest issues", it will find 5 issues even if the codebase is perfectly fine. These models invent imaginary bugs.
Pre-sending.
- Usually I know what the agent will do next, so I queue the messages ahead of time: "implement the plan", "run Fable review on this", "now fix those things".
- Sometimes it's 2 messages, sometimes 6.
- Never use a harness that doesn't allow you to pre-send.
Subagents are overused.
- A lot of people just burn their limits on them. I use them when I'm in control. I want to select which model runs in the subagent, because I know what subscriptions and limits I have.
- The future is a manager agent launching workers, but you still need to design that system: the rules, the permissions, the conditions when a subagent is launched. I don't want some guy at Anthropic or OpenAI deciding that for me.
ADRs.
- This is how you put decisions into a codebase. /docs/adr is one of the first folders I create in any project.
- Every core architectural decision gets a short file: what was decided, why, and what the state of the project was at the time. Some things can be read from code, but not everything.
- The stuff that can't should be documented, so future agents and humans instantly understand why it's built this way.
Tests.
- Current models BLOAT your repo with tests: unit tests, integration tests, database tests, even on the smallest repos where it makes no sense.
- If you tell the model to add tests, it adds an insane amount. If you tell it "don't add tests", it still adds some, and you land at the right amount.
Prod DB access.
- Any product with real usage needs to do this... create a read-only Postgres role and give your agents that.
- Don't give them write access. All it takes is one irreversible change and you're going to regret it.
- But no access is also a mistake. With read-only access, you can reality-check every feature. Does this even happen in production? Are people even using this? I wish I did this sooner.
Track your agentic productivity.
- We just released a new open-source repo under Vectal Labs called agentic-productivity. It tracks your commits, your agent sessions, and your user prompts.
- Each is a bad metric on its own, but combine the 3 and look at the long-term trend, and you can see whether you're actually becoming a better agentic engineer.
That's the setup as it currently stands. In a month, it's probably going to be different. This changes all the time.
by David Ondrej (spoken for YouTube, then re-written for article format)
