返回 FEED
AGENT2026-06-03

Matt Van Horn 六月 Agentic Engineering 攻略:plan.md + 语音 + 6 个并行 Tab

Notion 联创 Matt Van Horn 三个月前发过一篇 "Every Claude Code Hack I Know",拿了 91.3 万阅读。最近他发了六月版:"Every Agentic Engineering Hack I Know"——把"vibe coding"升格成 "agentic engineering" 之后,他这一年的全部工作流整理成 18 条 hack。文章是他在一个叫 cmux 的终端里、用语音口述、由 agent 帮忙反复重写出来的。

一个核心心智模型:plan.md 是给 agent 的契约

"Traditional dev is 80% coding, 20% planning. This flips it. The thinking goes in the plan. The execution is mechanical."

Hack 1 是他三个月前那条 91.3 万阅读 thread 留下来的"铁律一号":任何想法出来的第一动作不是想也不是写代码,是 /ce-plan 生成 plan.md

/ce-plan 内部并行 fan-out 多个 research agent:一个读 codebase 找 pattern 和 convention,一个翻历史 solutions 找学习记录,外部研究也并行起来。汇总后写一份结构化 plan:问题在哪、用什么方法、改哪些文件、带 checkbox 的验收标准、沿用 codebase 已有 pattern。这份 plan 强 grounding 在你仓库、你的规范、你的历史里——不是泛泛而谈。

/ce-work 拿这份 plan 去执行。context 爆了就开新 session,指向同一份 plan,接上断点。plan.md 就是那个跨 session、跨 context 的检查点。

他直接说:"我几乎从不去读 plan。Plan 是给 agent 的,傻人类。"

"Make the plan. Trust the plan. Don't read the plan." —— 这是这套方法论的浓缩。

让 agent 不偷懒的真正 trick:plan for the plan

他做过一个实验:跟 GV 前合伙人聊业务问题,结束后让 Claude Code 把他推荐的书(PDF)+ 两小时 Granola 会议记录 + 业务问题一起做 plan for the plan——只写"我要怎么读这本书、怎么挖会议记录、怎么产出文档"的 plan,不直接产出文档

它花了 45 分钟产出一份"史诗级" plan。

"It's the single best trick I know for making an LLM not lazy. Ask for the deliverable directly and it cuts corners. Ask it to first plan how it will produce the deliverable, then execute that plan, and it does the deep version every time."

"问 plan for the plan" 的递归拆解比直接要交付物能压出更深、更完整的工作。

这套 loop 不只适合代码。战略文档、产品 spec、竞品分析、董事会更新全走同一套——/ce-plan 现在带 universal planning mode,本来就是为非代码工作设计的。

语音输入:LLM 时代才真正可用的输入方式

"Voice-to-LLM is different from voice-to-anything-else. The transcription doesn't have to be perfect because the listener understands context."

语音 → 文档系统是烂的,因为目标接收者是 dumb;语音 → LLM 是好的,因为接收者能脑补你发音错的、能接住你 mumble 的、能猜你想说啥。他 macOS 上装了 voice-to-text 工具(Monologue 或 Wispr Flow)配合一个鹅颈麦;手机上直接用 Apple 自带 dictation 就够了——目标是 LLM 不是人类,AI 帮你把错别字脑补齐。

他说了一句很诚实的话:在开放办公室里他坚持不下来语音,因为怕打扰别人。这是他整个工作流的弱区,他公开求建议。

4-6 个并行 Tab 是常规形态

他一天的真实工作流是 4-6 个 Claude Code tab 同时跑,每个是独立 session:

  • 一个正在写 plan
  • 一个在 build 另一份 plan 的产物
  • 一个跑 last30days 调研
  • 一个 fix 上一个的 bug

/ce-plan 在一个窗口里 spawn research 的时候,他切到另一个窗口 /ce-work 一份已经写好的 plan。tab 之间不断轮换。同时开多个 session 的关键是新 tab 直接进 Claude Code 不进 shell(一行 shell 配置),让"开新 session"的成本降到一次按键。

让你所有窗口都能远程控制

两个关键设置:

  • always-on remote control~/.claude/settings.json"remoteControlAtStartup": true,每个 session 启动自动开远程控制。从手机 Claude app 能接管家里 Mac 上正在跑的任务。
  • 给 Claude 一个邮箱:用 AgentMail 配个 inbox,写个 daemon 监听这个 inbox,白名单内的邮件一进来就 spawn 一个新 session 把邮件内容当 prompt。**配个 cc 命令在 Hermes 里,从手机发 cc 任务就直接在 Mac 上开了工作 session,**完全不需要 VPN/SSH。

白名单是安全门——只有自己控制的地址能进来,DKIM/SPF 不过的直接 drop。

YOLO 模式 + 声音 hook 是 6 session 不爆炸的关键

Claude Code 默认每个 edit/command 都要 confirm。6 个 session 同时跑没法一个个 babysit。两个 setting 让它可活:

  • skipDangerousModePermissionPrompt: true 一次放行。Shift+Tab 也能切,但他说"我的电脑我做主,GitHub 在那里当保险"。
  • 声音 hook 是非可选的——给 Stop 事件挂个 afplay Blow.aiff 音效。6 个 session 同时跑,声音告诉你哪个跑完了、可以回去看。这是并行 session 的"听觉通知系统"。

Codex 也有同样 YOLO 模式(approval_policy = "never"sandbox_mode = "danger-full-access"),还可以 --yolo 一次性启用。

Claude + Codex 配对当第二引擎

他并行订阅了两个 $200 plan,关键用法是让 Codex 干活,Claude 规划——但都在 Claude session 里调:

  • 一个工具插件:发任务给 Codex,apply 结果,全程不切到 Codex terminal
  • /ce-work --codex:Compound Engineering loop 里直接 delegate build 给 Codex
  • Printing Press 的"codex at end of prompt"模式:印一个新 CLI 时直接让 Codex 收尾 build

两台引擎调到最大推理

  • Codex:reasoning xhigh、fast mode 永远开
  • Claude Code:reasoning xhigh、fast mode 关($200 Max plan 之外的 fast mode 多收 token 费,不划算)

两个 $200 plan 摆一起就是第二个独立引擎。他把大并行 build 推给 Codex,Claude 留做规划 + 品味判断。

/last30days:选型时跑一遍"过去 30 天的社区共识"

他的"研究-规划-构建"循环里,研究阶段不再是读文档——而是 /last30days <topic> 一次性拉 Reddit/X/YouTube/TikTok/Instagram/HN/Polymarket/GitHub 和 web 上的最近 30 天讨论。

他对比 Vercel agent-browser 和 Playwright 时直接 /last30days,几分钟拿到几十条讨论:agent-browser 每次调用的 context 比 Playwright 少得多(Playwright 工具定义本身就 dump 几千 token)。这种判断是训练数据里 6 个月前的旧版本告诉不了你的。

/last30days 选库前要跑、build 功能前要跑、见合伙人前要跑、写文章前要跑。研究、规划、构建 = 真正的 loop。

Granola:会议记录直接当 prompt 用,不做摘要

跟候选人吃饭,Granola 开着;结束后把完整 raw transcript(包括寿司和孩子的话题)扔进 Claude Code:/ce-plan turn this into a product proposal

关键 trick:不做摘要。把全部 raw transcript 倒进去,让 Claude 自己做提取。Granola context + codebase + 历史 strategy plan 三层叠加,一次性产出提案,忽略饭局闲谈。当晚就发出去,那人现在全职加入。

Printing Press 出的 Granola CLI 把这步工具化——任何会议转成结构化数据进 session,跨会议搜索找"三周前谁说的那句话"。

你是信号源,agent 是执行者

"When you run six agents, your job is not to do the work. Your job is to be the signal."

全文最值钱的不是任何具体工具,是这一段心智模型

"The agents supply volume. You supply taste, direction, and the react-and-redirect loop. You look at what came back, you say 'option two is closer but use the language from option one,' 'address the biggest risk,' 'this paragraph is too long,' and they move. The rare, valuable thing in the loop is your judgment, not your typing."

"做品味,让 agent 做手。"——这是他一年下来最深的领悟。

视频现在也走同一套

他把视频当代码做:用 HTML-based 视频框架,agent 直接写、能渲染成 MP4。loop 跟写代码完全一样——产出就是 MP4 而不是 PR。每个视频是一个文件夹,里面有 script.md(逐镜头、动效、字幕),agent 把脚本变成成片输出。

Granola CLI demo、Agent Cookie launch 都是这么出的。视频成本降到一次对话——任何值得有视频的东西都配一个视频,甚至 PR 里也直接塞渲染好的 demo。

Compounding context:让 plan 越用越好

为什么他的 plan 每次都比上次好?因为 Claude 能访问他所有历史 plan。compounding context 思路。

他把自己的"整个大脑"接进 agent:

  • 个人笔记用 Bear CLI(10 年笔记、会议、半成品想法、决策)
  • 各种笔记工具(不点名)选有 CLI/API 的
  • 各种 agent memory 工具(不点名)选有 CLI/API 的
  • Obsidian 跨设备同步
  • Agent Memory、Letta 这种 memory 工具他也在挖

形状的 hack 才是重点:选个有 CLI 或 API 的笔记/记忆工具,把 agent 指向它,让自己的知识 compound。

远程工作的杀手锏组合

他列了四个远程工作配置:

  • Tmux(飞机上用)——SSH 进远程机的 tmux session,工作在远程跑不在本机。wifi 断 20 分钟过完大西洋,重连 attach 上,从断点继续。飞欧洲一路在写 feature。
  • 自主远程工作的 Agent 平台——他跑两个:Hermes 偏自学习生态(在重复任务上越来越强),OpenClaw 偏 Skills 广度(不同领域都能干)。他在两个之间切换。
  • cookie 和 .env 同步工具——Mac mini 和主 Mac 之间
  • Mosh(SSH 替代)——漫游网络 / 烂 wifi 下保持 session 局部响应感

Proof:把 plan 发给非技术同事

plan.md 给自己看极好,但给非技术同事看 = 灾难。Proof 工具解决了这问题——把 plan.md / spec 拖进 Proof,发链接,对方能像读文档一样读、能在行内 comment、comment 能回流到 agent 的 loop

就是在 Proof 里 review 自己正在写的这篇文章的

Skills > 一次性工作

"The biggest level-up isn't using agents. It's teaching them tricks that stick."

任何事做超过两次就做成 skill:可复用命令,agent 永远能调。

关键 trick:不要从零写。让 agent 去看一个已经能用的 skill 长啥样,让它学着做。"Look at the Compound Engineering skill and help me make one like this for [whatever I'm trying to automate]."——它读一个优秀示例学结构,搭出你的版本。

他的开源贡献全是 skills 和工具的组合——last30days 是他想给自己用的 skill,现在 26K stars。Printing Press 是批量生成 agent-native CLI 的工厂,320+ merged PRs。他本人是 Compound Engineering #3 贡献者,也给 OpenClaw 提了 PR。每一个都是"用得够频繁"就把它做成 agent 永久擅长的事"

"Write the skill once. Every session after is faster. That's the compounding part of Compound Engineering."

给开源项目贡献 = 找人 = 招人

他今年给 Python/Go/几大 agent 项目(包括 OpenClaw、Vercel Agent Browser、OpenCV)的合并 PR 几百个,#3 / #4 / #2 都在贡献者榜上。但 PRs 不是真正的奖励,才是。

跳进 Discord,认识 maintainer,交真朋友。对招人也有奇效——他就是从贡献关系里招到新公司工程师的

"You contribute to something you love, you meet the people who love it, and it compounds."

硬件撑不住 + 一个意识警告

两年前的笔电带不动——6 个 Claude session 加 Codex 全天跑。换 M5 Max 64GB,新机器最低撑 1 小时电池。所以他买了一个大号充电宝随身带,Tesla 里也放一个。Mac 永远不睡:sudo pmset -a disablesleep 1

文章最后一段他坦白了一个他的担忧

"Agents were supposed to do all the work for us. Instead, every friend I have is working the hardest they ever have in their lives."

"Building with agents is the greatest video game ever made, and the loop is that good. I have friends I genuinely worry about. They're so lit up by being able to build anything that they don't do anything else. Then they launch, and there are no users."

他担心上瘾。做出东西没有用户、做出东西忘了吃饭、做出东西失去周围人。他公开喊:"Take breaks. Touch grass. Talk to your loved ones."

"Build something people want, even if 'people' is just you. That's okay too." —— 给自己用的工具也值。

一句话总览

"A voice app, a plan-file plugin, a couple of config changes, a pile of tabs, a Mac Mini, two remote boxes, and a fleet of CLIs that run real life."

具体配置每月都在变;人在 agent 系统的哪一层指挥这件事不会变——做品味、做方向、做 react-redirect 循环,让 agent 负责执行和扩量。