像外科医生一样编码
Code like a surgeon

原始链接: https://www.geoffreylitt.com/2025/10/24/code-like-a-surgeon

## “软件外科医生”与人工智能 关于人工智能将使所有人变成管理者的预测过于简单。作者提倡一种“软件外科医生”的方法——深入专注于核心、创造性的工作,同时利用人工智能处理其他一切事务。 这意味着使用人工智能代理处理传统上繁琐的“次要”任务,例如代码文档编写、错误修复和初始代码探索,通常以异步方式运行。目标是带着一切准备好的工作来到工作场所,随时准备进行专注、高价值的贡献——就像外科医生进入准备好的手术室一样。 至关重要的是,人工智能的自主性程度各不相同。核心工作需要仔细、亲自动手的编码和快速反馈,而次要任务则受益于更长、无人监督的人工智能处理。这与卡帕西的“自主性滑块”相符,强调需要不同的工具和思维模式。 人工智能还提供了一种解决不良任务委派动态的方法,允许卸载“繁重的工作”而不会造成地位失衡。最终,这种方法旨在赋能*所有*知识工作者专注于他们的核心优势,这与Notion的目标一致,即让每个人都能“像外科医生一样工作”。

## Hacker News 讨论总结:“像外科医生一样编程” 这次 Hacker News 的讨论围绕着 Geoffrey Litt 将使用 AI 工具编程比作“像外科医生一样编程”的类比——一位熟练的专业人士利用支持团队。核心思想是专注于高级任务,而 AI 处理“准备工作”。 这个类比引发了争论。一些人认为外科医生*就是*管理者,严重依赖团队(尤其是麻醉师,一些人认为麻醉师更为关键)。另一些人则提到了 Fred Brooks 的《人月神话》和“首席程序员”的概念,由团队支持,这与 AI 作为支持角色的作用相呼应。 一个关键点是,AI 工具是否真的能够促成向更高层次工作的转变,或者只是创造了新的复杂性。经验各异,一些人发现 AI 在调试和识别问题方面很有帮助,而另一些人则认为它不可靠,需要大量的监督。 对话还涉及了软件开发实践的历史演变,将现代方法与 70/80 年代的进行比较,以及软件工程与其他专业(如医学和工程学)的技能和责任的更广泛问题。最终,这场讨论突出了 AI 时代程序员角色的演变。
相关文章

原文

A lot of people say AI will make us all “managers” or “editors”…but I think this is a dangerously incomplete view!

Personally, I’m trying to code like a surgeon.

A surgeon isn’t a manager, they do the actual work! But their skills and time are highly leveraged with a support team that handles prep, secondary tasks, admin. The surgeon focuses on the important stuff they are uniquely good at.

My current goal with AI coding tools is to spend 100% of my time doing stuff that matters. (As a UI prototyper, that mostly means tinkering with design concepts.)

It turns out there are a LOT of secondary tasks which AI agents are now good enough to help out with. Some things I’m finding useful to hand off these days:

  • Before attempting a big task, write a guide to relevant areas of the codebase
  • Spike out an attempt at a big change. Often I won’t use the result but I’ll review it as a sketch of where to go
  • Fix typescript errors or bugs which have a clear specification
  • Write documentation about what I’m building

I often find it useful to run these secondary tasks async in the background – while I’m eating lunch, or even literally overnight!

When I sit down for a work session, I want to feel like a surgeon walking into a prepped operating room. Everything is ready for me to do what I’m good at.

Mind the autonomy slider

Notably, there is a huge difference between how I use AI for primary vs secondary tasks.

For the core design prototyping work, I still do a lot of coding by hand, and when I do use AI, I’m more careful and in the details. I need fast feedback loops and good visibility. (eg, I like Cursor tab-complete here)

Whereas for secondary tasks, I’m much much looser with it, happy to let an agent churn for hours in the background. The ability to get the job done eventually is the most important thing; speed and visibility matter less. Claude Code has been my go-to for long unsupervised sessions but Codex CLI is becoming a strong contender there too, possibly my new favorite.

These are very different work patterns! Reminds me of Andrej Karpathy’s “autonomy slider” concept. It’s dangerous to conflate different parts of the autonomy spectrum – the tools and mindset that are needed vary quite a lot.

Your agent doesn’t need a career trajectory

The “software surgeon” concept is a very old idea – Fred Brooks attributes it to Harlan Mills in his 1975 classic “The Mythical Man-Month”. He talks about a “chief programmer” who is supported by various staff including a “copilot” and various administrators. Of course, at the time, the idea was to have humans be in these support roles.

OK, so there is a super obvious angle here, that “AI has now made this approach economically viable where it wasn’t before”, yes yes… but I am also noticing a more subtle thing at play, something to do with status hierarchies.

A lot of the “secondary” tasks are “grunt work”, not the most intellectually fulfilling or creative part of the work. I have a strong preference for teams where everyone shares the grunt work; I hate the idea of giving all the grunt work to some lower-status members of the team. Yes, junior members will often have more grunt work, but they should also be given many interesting tasks to help them grow.

With AI this concern completely disappears! Now I can happily delegate pure grunt work. And the 24/7 availability is a big deal. I would never call a human intern at 11pm and tell them to have a research report on some code ready by 7am… but here I am, commanding my agent to do just that!

Notion is for surgeons?

Finally I’ll mention a couple thoughts on how this approach to work intersects with my employer, Notion.

First, as an employee, I find it incredibly valuable right now to work at a place that is bullish on AI coding tools. Having support for heavy use of AI coding tools, and a codebase that’s well setup for it, is enabling serious productivity gains for me – especially as a newcomer to a big codebase.

Secondly, as a product – in a sense I would say we are trying to bring this way of working to a broader group of knowledge workers beyond programmers. When I think about how that will play out, I like the mental model of enabling everyone to “work like a surgeon”.

The goal isn’t to delegate your core work, it’s to identify and delegate the secondary grunt work tasks, so you can focus on the main thing that matters.


If you liked this perspective, you might enjoy reading these other posts I’ve written about the nature of human-AI collaboration:

联系我们 contact @ memedata.com