Tomer Tunguz:软件是养出来的还是设计出来的
Do We Grow Software or Do We Design It?
VC Tomer Tunguz 提出 AI 时代软件的两种构建哲学:vibe coding 像在多个培养皿中并行迭代让软件生长,而设计式软件是状态机设计。与 AI 共同设计状态机时可让 AI 给出流程图,把每个分支铺进表格使漏洞暴露,并用形式验证(引用 Boris Cherny 用 Lean 和 TLA+ 验证 Claude Agent SDK 的做法)保证软件按预期运行,适合必须可靠的核心系统。
Do we grow software or do we design it?
Vibe-coding is growing software. Start with the germ of the idea. Iterate on it. Let’s try this. Poke the petri dish with a bit of glucose ; oh, that didn’t work. Maybe some thymol blue to see if the colony is alive? Time to start again.
The most sophisticated vibe-coders test with 4-5 different petri dishes in parallel & pick the one whose bacteria have evolved optimally.
Designed software in the AI era is state machine design : flow charts that work. First, the email comes in. Three options : archive, add to the CRM, or escalate to a person. If adding to the CRM, determine the company’s stage.
When co-designing a state machine with AI, ask for the flowchart. The AI willingly shares schematics. Lay out every fork in a table with the right outcome. The holes jump out immediately. Plus, formal verification proves the software will work as intended.
Boris explains why.1
Growing software is organic. We can just program! State-machines are mechanical, industrial, & rigid : great for core systems that must work.
Software engineering has many philosophies : test-driven development,2 pair programming,3 move fast & break things.4 In this new era, we add two more.
-
Boris Cherny on formally verifying the Claude Agent SDK with Lean & TLA+. ↩︎
-
Test-Driven Development (TDD), popularized by Kent Beck in ‘Test-Driven Development: By Example’ (2002), dictates writing automated test cases before writing the minimal production code necessary to pass them. ↩︎
-
Pair programming, a core practice of Extreme Programming (XP), pairs two developers at one workstation : one ‘driver’ typing code while the other ’navigator’ reviews and plans strategic direction in real time. ↩︎
-
‘Move fast and break things’ was Facebook’s early internal motto, celebrated by Mark Zuckerberg as a mandate to accept collateral bugs as the acceptable cost of developer velocity, later replaced in 2014 by ‘Move fast with stable infra.’ ↩︎
来源:Tomer Tunguz 博客 · tomtunguz.com