AI编程的悖论:效率提升与精力耗竭
Zack Proser是WorkOS应用AI团队的工程师,该公司为企业提供面向企业的API解决方案。尽管AI工具让开发者能够以前所未有的速度完成任务,但许多开发者在一天结束时会感到极度疲惫,甚至出现肾上腺素持续分泌的生理反应。这种“做得更多却更累”的现象并非个例,而是当前AI编程生态中的普遍痛点。 Zack指出,虽然工具极其强大,技能需求也在增加,但开发者往往在上午11点前就已耗尽精力。这种状态的核心原因在于上下文切换(Context Switching)的成本变得极高,而在AI辅助下,这种切换比过去更加频繁和昂贵。
“尽管你比以往做得更多,但到一天结束时你完全精疲力竭,对吧?而且肾上腺素一直在持续分泌。”
这种疲惫感源于人类神经系统与核武器级AI工具之间的不匹配。Zack认为,Agent(智能体)不再是瓶颈,人类的注意力才是。Agent可以无限扩展,通过云API甚至可以在一夜之间被大规模部署,但人类的注意力仍然受限于物理空间(meatspace),在负载下会显著退化。Simon Willison也曾提到,他启动四个并行Agent后,在上午11点前就被彻底击垮。因此,找到个人的平衡点和极限,已成为每位开发者必须独自面对的课题。
案例解析:闭环修复与Agent的无限潜力
为了具体说明这一观点,Zack分享了一个修复Slack博客机器人Bug的真实案例。同事报告称,句子大小写转换功能在处理“SKIM”和“SSO”等缩写时出现了乱码。传统模式下,Zack需要陷入“窗口地狱”,手动在不同应用间切换。但这次,他做出了一个关键改变:赋予Claude Code读取和写入Slack的权限,并保留其Linear工单访问权。
Zack向Agent发出指令:“修复这个问题,然后验证你的工作,直到完成为止。”Agent随后执行了以下闭环流程: 1. 修复代码中的大小写逻辑。 2. 通过MCP连接将修复后的代码推送到Slack博客频道。 3. Slack中的博客机器人拾取代码并运行完整流程。 4. Agent验证访问和结果,确认Bug已彻底修复。
当Zack回来查看时,他面对的是一个已完成的闭环,无需再手动检查或告知Agent哪部分仍有问题。这种体验让他感到震撼,但也引发了他的担忧:如果没有天花板,我们该如何应对? Agent可以每天修复150个Bug,只要给予足够的上下文、验证标准和工具,但它们无法保证最终的质量判断,也无法替代人类在第二天继续工作的精力。
开发者平衡栈:从信号层到自我改进系统
鉴于Agent在无限循环和扩展性上的优势,而人类在判断力、品味和业务需求理解上的不可替代性,Zack提出了一套新的“开发者平衡栈”。这套栈旨在将人类开发者与新的工作方式重新平衡,防止因线性扩展工作量而导致的过度消耗。他将其划分为四个关键层级:
- 信号层(Signal Layers):这是Zack尚未完全展开的概念,暗示需要更精细地筛选和接收信息,避免信息过载。
- 语音优先流程(Voice-First Flows):Zack已经使用语音优先编程一年半,称其为“改变生活”的体验。这种方式减少了键盘输入的认知负荷,使交互更自然。
- 远程控制(Remote Control):目前主要适用于Claude Code等特定工具,允许开发者在后台运行Agent,自己则专注于其他任务,实现异步协作。
- 系统自我改进(System Improving Itself):通过最小化改变工作方式或存储消息历史,利用Agent快速扫描材料并发现模式的能力,实现无需人类记忆参与的自动化优化循环。
“Agent将在无限扩展方面做得更好……无限循环直到达到你给定的标准。但我们仍然拥有判断力、品味,知道某事是否真正解决。”
Zack强调,仅仅线性地增加工作负载和输出是危险的。新的工作流要求人类从执行者转变为监督者和判断者。Agent负责无限循环和验证,而人类负责定义标准、判断业务需求是否满足,并管理自己的注意力资源。这种分工不仅提高了效率,更是防止开发者在AI时代被“烧毁”的唯一途径。
利用 AI 代理过滤噪音,保护开发者注意力
现代开发者面临的最大瓶颈并非代理能力,而是注意力的分散。以 Slack 为例,手动浏览消息有 80% 的概率会被其他线程或新需求打断,导致任务偏离。为解决这一问题,作者构建了自动化工作流:让 Claude Code 通过循环读取 Slack,识别 @提及、私信及高优先级请求,同时通过 MCP 访问 Linear 系统,去重需求并锁定真实工单。这种机制为开发者提供了一层“保护罩”,使其能专注于关键任务。
"comb through Slack myself, uh it's like 80% guaranteed that I'm going to get distracted by some other thread."
这种工具组合旨在管理日益增长的流量、通知和噪音,打造个性化的工作环境。通过自动化处理低价值信息,开发者得以维持对核心工作的专注,避免被琐碎的沟通打断心流。
语音优先工作流带来的速度飞跃与并行处理
尽管作者自述打字速度曾达 90 WPM,但语音优先工具将其效率提升至 184 WPM。这一速度优势不仅在于输入更快,更在于支持并行工作流。作者可以同时向多个 Cursor 窗口、Codex 或 Claude 标签页下达指令,当传统开发者还在输入第一个提示词时,作者的多项任务已并行启动。
| 输入方式 | 速度 (WPM) | 工作模式特点 |
|---|---|---|
| 传统打字 | ~90 | 串行处理,单线程 |
| 语音输入 | ~184 | 并行处理,多任务并发 |
这种效率的复利效应在长期工作中尤为显著。随着对语音流控制的熟练,作者实现了减少在 desk 前的时间,同时保持高产出。语音交互使得指令下达更加流畅,为后续脱离物理工作站的远程协作奠定了基础。
"淋浴原则"与远程控制的结合:专注与发散模式的无缝切换
作者引入"淋浴原则"(Shower Principle)来解释工作模式的切换。传统观点认为,专注模式(Focus Mode)适合在 IDE 中精确构建蓝图,但易产生盲点;而发散模式(Diffuse Mode)如散步、洗澡时,潜意识会解决难题,激发创意。过去,离开 desk 意味着停止工作,但现在通过远程控制系统,这一逻辑被颠覆。
"the thesis of the shower principle is that basically your subconscious is always churning on these hard problems."
在 Claude Code 生态中,启用远程标志(remote control flag)后,代理在本地运行并访问文件系统,但开发者可通过手机在其他网络(如离家的 CDMA 网络)监控和交互。这意味着开发者可以在专注模式下启动任务,随后离开 desk 散步,利用发散模式获取灵感,并通过手机将新想法实时反馈给仍在运行的代理,实现工作与创意的无缝衔接。
速度与安全:多层验证机制保障远程协作
"速度需要安全",远程协作需建立严格的验证层级以防止错误累积。作者提出了三个渐进的验证关卡:
- 第一层(代码级):通过 lint、构建和单元测试钩子,让代理在代码层面自我验证,确保无破坏性更改。
- 第二层(浏览器级):要求代理通过浏览器点击操作,验证前端功能(如登录流程)是否正常。
- 第三层(宪法级):接近 Anthropic 提出的宪法 AI概念,依据预设的"宪法"规则进行高层级合规性检查。
"speed requires safety, and so there are levels of doing this and having verification."
随着 Chrome Use 和 Computer Use 等工具的发展,代理的验证能力将更加 sophisticated。这种分层机制确保了开发者在享受远程控制和语音高效的同时,仍能维持代码质量和系统稳定性,从而大胆地减少物理办公时间,提升整体生产力。
重构开发者的一天:从深度专注到移动协作
Zack Proser 提出了一种全新的软件开发工作模式,核心在于将“深度专注”与“AI 代理”结合,从而改变开发者的日常节奏。他建议在每天开始时进行一次深度专注会议,梳理 GitHub 上的积压任务,并将这些软件开发生命周期中的琐事全部输入到 Codex 等工具中。随后,开发者可以开始在 IDE(如 Claude Code)中处理真正关心的功能特性。关键在于,一旦任务启动,开发者就可以离开办公桌,通过手机保持连接。即使身处 LTE 网络边缘,也能向代理发送消息,并在手机上审查随时间推移产生的 Pull Requests (PR)。
这种模式打破了传统必须在电脑前坐满八小时的束缚。由于当前的大语言模型(如 Opus 4.6)已经足够强大,开发者完全可以在手机端用自然语言评论 PR,例如指出“这里需要修改”,代理通常能正确执行。这形成了一个完整的闭环:开发者花费更少的时间坐在桌前,更少地损伤手腕和双手,同时在散步时获得更好的灵感和氧气供应,却依然掌控着工作进度。
实验教训:从周一的高效到周五的混乱
在实际实验中,Zack 发现了一个显著的问题:如果仅凭个人意志使用工具,工作节奏往往难以维持。周一和周二感觉极佳,能迅速处理大量工作;但到了周中,随机插入的需求会打乱节奏;到了周五,开发者往往感到精疲力竭,甚至不记得自己做了什么,虽然工作完成了,但过程混乱无序。这种“无意识”的工作方式极易导致“超快速 burnout(倦怠)”,因为 LLM 使得工作负荷可以无限增加,而人类神经系统仍停留在远古状态。
“Mondays feels amazing. I can rip through a ton of work. Tuesday feels the same. Now I got a bunch of random asks in the middle of the week that kind of threw me off course and then by Friday I'm completely wasted and I don't remember what the hell I did.”
为了解决这个问题,他引入了“有意识”的系统优化策略。Claude Code 的所有对话都本地保存为 JSONL 文件,这为系统自我进化提供了数据基础。通过定期回顾这些对话,代理可以识别出那些需要大量 Token 消耗或反复消除歧义才能完成的模式,从而发现缺失的技能或工具。这种定期复盘机制使得整个工作系统能够随着使用频率的增加而变得越来越聪明,形成正向反馈循环。
技能自动化与身心健康的整合
Claude Code 现在内置了构建、评估和改进技能的功能,开发者可以将自然语言提示转化为定制化的技能(Skills)或 MCP 服务器。通过不断收紧这一反馈循环,开发者可以在保证交付质量的同时,大幅减少在电脑前的时间。将每一次会话视为“黄金”,因为单次 Opus 4.6 的交互可能揭示出下周能显著提升效率、速度和可靠性的新技能。
此外,Zack 还分享了一个有趣的案例:他将 Oura Ring(智能戒指)通过 MCP 连接到 Claude。当代理检测到开发者睡眠不足时,会主动建议:“你昨晚没睡好,所以我们只处理第一部分,剩下的明天做。”尽管开发者有时会反驳“你是个机器,按我说的做”,但这一过程至少促使他们思考休息的必要性。这种 holistic(整体)的工作视角不仅关注代码和工单,还关注身体状态、最佳专注时段和睡眠质量,旨在通过代理处理琐事,人类负责质量和审查,从而在保持高效的同时避免倦怠。
行动建议:从单一层开始建立平衡
对于初学者或希望尝试此方法的开发者,Zack 建议从构建“单一层”开始。最简单的方式是将 Slack 或 Linear 等高上下文切换成本的工具接入首选的工作界面(如 Zed、Cursor 或终端中的 Claude Code)。同时,添加验证门控,例如通过 --chrome 参数赋予 Claude Code 浏览器访问权限,以增强其自主能力。
“The tools are nuclear now. Our nervous systems are still ancient. And so, what I'm thinking about these days is trying to find some developer balance.”
通过这种方式获得的“时间盈余”,应用于真正的生活:独自去公园野餐、散步或陪伴宠物。核心观点是:不要盲目地让 AI 加速你的工作,而是利用 AI 腾出时间,回归人类特有的创造力和身心健康,找到技术与生活之间的平衡点。
早期职业者的技能焦虑与AI使用边界
对于职业生涯早期的开发者而言,使用AI工具往往伴随着一种“技能赤字”的恐惧,担心过度依赖会导致底层硬技能(如TypeScript、RAG系统、AWS部署)的退化。Zack Proser对此的核心建议是:不要使用AI去做你本身就不懂的事情。他强调,只有当开发者通过多年的“实战创伤”和“疤痕组织”建立了坚实的心智模型后,才能有效识别AI的幻觉或错误建议。例如,当他看到Claude提出不合理的架构时,能立即基于过往经验驳回,这种判断力源于亲手解决过无数难题的经验。
“Don't use AI to do something that you don't know how to do already.”
他建议初学者应继续深入底层,通过手动编码来理解痛点,并在掌握技能后,利用AI加速迭代。甚至可以向AI提问:“测试我,我的心智模型在哪里还模糊?”这种诚实的自我审视能让人在AI辅助下更快、更深地掌握技术。如果目标是技能提升和夯实基础,应严格限制代码委托,优先保证自身对代码逻辑的完全掌控。
处理非结构化数据与自动化工作流
在利用AI分析历史对话数据(如JSONL文件)时,直接输入往往因数据冗长且包含大量噪声而效果不佳。Zack Proser提出了一种更结构化的解决方案:使用Hooks在编码会话结束时提取关键信息。具体做法是在每次会话结束或PR合并时,触发一个自动化流程,由AI专门寻找“效率低下的环节”或“挣扎与反复修改的迹象”,并将这些关键点保存至独立的数据存储中(如Obsidian笔记或Markdown文件)。
这种预处理步骤将非结构化的聊天历史转化为AI易于消费的格式,从而支持更精准的周度复盘分析。此外,他正在实验“夜间工作模式”(Night Shift),利用OpenClaw和Cron作业让AI在夜间自动处理内容生成或代码任务。他计划建立一套基于Linear工单的自动化循环:将所有任务标记为“Agent Ready”,每15分钟自动触发一次循环,全天候处理个人和公司项目,最终通过更完善的验证系统提高合并率。
语音交互的效率优势与混合工作流
在交互方式上,Zack Proser高度推崇语音交互,认为其效率远超纯文本阅读。他经常使用ChatGPT的高级语音模式(Advanced Voice Mode),在长达两小时的散步中进行“头脑风暴”,通过来回对话打磨想法,最后要求AI生成简洁的转录文本或架构图。这种模式不仅适合发散性思维,还能利用AI的智能进行高质量的概念辩论。
“I can talk to but even that is quite, you know, intelligent enough to have like a I've had you know, conversations of arguable quality with it before.”
他还利用开源的本地语音模型(如Whisper Flow变体)和Twilio集成的OpenClaw,实现夜间电话交互。这种方式允许他在睡觉前通过语音指令告诉AI第二天的任务,避免了阅读长篇日志的负担。语音交互的核心价值在于其并行处理能力,让用户在移动或休息时仍能保持高强度的思维输出,从而在整体工作流中占据重要地位。
小型任务并行高效,大型功能遭遇瓶颈
在当前的 AI 辅助开发实践中,开发者对 AI 代理(Agents)的使用体验呈现出明显的两极分化。对于小型 bug 修复或 UI 调整等离散且 bite-size 的任务,AI 代理能够表现出极高的效率,允许开发者并行处理多项任务而不产生冲突。然而,当面对需要触及后端数据库、前端界面以及改变整个应用程序工作流的“大块头”(chunky)功能时,情况则截然不同。这类任务往往导致开发流程陷入停滞,因为 AI 代理难以在如此复杂的上下文中保持并行工作的能力,反而会因为上下文聚焦的需求而阻塞并行化路径。
这种困境并非个例,而是当前行业普遍面临的挑战。正如 Zack Proser 所言,现有的工作流在处理离散的小任务时表现优异,但在面对涉及整个技术栈的复杂功能时,缺乏有效的并行机制。这导致开发者在面对分布式云系统的新功能开发时,无法像处理小任务那样高效地利用 AI 的并行能力,从而形成了新的生产力瓶颈。
工程化策略:工作树与明确提示
为了突破这一瓶颈,Zack Proser 提出了一套针对大型复杂任务的工程化解决方案。首先,必须引入工作树(Work Trees)机制。这是实现 AI 代理真正并行运行且不互相干扰的基础设施保障。通过隔离不同的开发分支或环境,确保多个代理可以同时处理不同模块,而不会发生代码冲突或状态覆盖。
其次,需要组建代理团队(Agent Teams),并为每个团队配置高度明确的提示词(Prompts)。清晰的指令定义是确保多个代理在复杂任务中协同工作的关键。此外,验证门控(Verification Gates)和单元测试的重要性在此类场景中被进一步放大。由于任务规模扩大,传统的验证手段不足以应对潜在的错误累积,因此必须建立更严格的自动化测试体系,确保每个代理的输出都符合预期规范。
持续集成与反馈闭环
在大型功能开发中,持续集成(Continuous Integration, CI)的作用变得至关重要。开发者需要实现持续测试应用程序,确保代理生成的代码能够不断构建并符合既定规范。这一过程不仅仅是代码的合并,更是一个反馈循环的建立。
Zack Proser 强调,开发者需要将挫败感和愤怒(insults and rage)转化为系统性的反馈。当代理出错或偏离预期时,这些负面情绪应被转化为具体的错误报告或调试信息,回流到系统中,指导代理进行即时修正。这种边做边修(fixing it as we go)的模式,依赖于高度自动化的 CI/CD 管道和强大的错误反馈机制。
未来展望:模型进化与可靠性提升
尽管当前面临挑战,但 Zack Proser 对这一领域的未来持乐观态度。他认为,随着基础模型能力的提升,用于支持复杂并行任务的测试套件(Harnesses)也将变得更加完善和可靠。未来的发展方向是构建更完整的测试框架,以支撑更大规模、更复杂的 AI 代理协作场景。
这种演进将逐步解决当前在全栈功能开发中的并行化难题。通过模型优化与工程实践的双重进步,开发者有望在未来实现真正意义上无阻塞的复杂功能并行开发,从而彻底释放 AI 代理在软件工程中的潜力。