Vibe 编程:高级工程
为已经在上线产品的人提供的 AI 辅助工程。为高级工程师和技术主管编写,他们知道怎样编码,现在想在专业标准上运行模型和智能体。上下文工程、规格驱动的开发、你自己的测试框架、验证循环、对生成代码的审核、遗留代码考古学、大规模迁移、调试、安全性,以及判断什么时候根本不应该使用 AI。
共 12 节,按顺序
- 135 分钟
Context Is The Whole Game
关于 AI 编码工具的抱怨,几乎每一条(“它凭空编了一个接口”“它把本来就对的代码重写了”“它在玩具项目上好用,一到我的仓库就崩”)说到底都是上下文问题换了个样子。模型,也就是你工具背后的那个语言模型,并不是在推理你的系统。它推理的是你交给它的那段文本。这一课要做的,就是让那段文本变成你有意去设计的...
Context window as a budget you spendWhat the model actually sees versus what you think it seesCurating a repo map instead of dumping filesContext rot and why longer is not better - 225 分钟
Pick The Right Brain, Pay The Right Price
选模型是一个工程决策,形态跟挑数据库或者挑队列一模一样:没有最好的选项,只有跟某类负载合不合适。每个请求都伸手去够最大的那个模型,相当于把每个作业都跑在最贵的机型上。能跑通,能把你的低效掩盖过去,然后在别的地方把钱要回去。这一课给你一套做决定的办法。
Capability tiers and when a bigger model is not the answerReasoning models versus fast modelsThe latency, cost, and quality trianglePrompt caching and why request shape drives the bill - 335 分钟
Spec-Driven Development
想最快地从模型那里拿到正确的代码,办法是别再描述你想要什么,改成把它定义下来。一句提示词是一个愿望,一份规格说明 (spec) 是一份契约,而契约是可以核对的。本课要做的,就是把你平常只放在脑子里的那些东西,变成一份模型必须满足、而你一条命令就能验证的产物。
Writing the acceptance criteria before the promptExecutable specs as the contract with the modelSpecifying error behavior and boundaries, not just the happy pathPlan before code, and reviewing the plan instead of the diff - 435 分钟
Build Your Harness
那些能从模型里稳定拿到好结果的工程师,写的提示词其实很少比别人高明。他们搭起了一套支架 (harness):围绕模型建起来的一整套可重复的配置,由规则、工具和检查组成,让好结果成为默认结果,而不是撞大运撞来的那一个。写提示词这门手艺有天花板,而且不会越积越厚。支架会。
The harness as the thing that makes good output the defaultProject rules files and what belongs in themGiving the model tools instead of instructionsSubagents and scoped delegation - 540 分钟
Verification Loops: Make It Prove Itself
模型会告诉你它写的代码是正确的。它不是在撒谎,也不是说对了,它压根无从知晓。正确性要靠拿代码去跑一份「什么算正确」的定义才能确立,而对一个资深工程师来说,有意思的问题是:这份定义该怎么写,才能抓住生成代码真正会犯的那些错。这一课讲的就是把这个闭环合上,再把它交到模型手里,让它在你还没看差异之前就先跑...
Properties and invariants instead of example testsGenerated inputs find what handwritten examples missShrinking a counterexample before handing it overClosing the loop so the model checks itself - 640 分钟
Reading Generated Code Like A Senior
你已经会评审代码了。换成生成的代码,变的是错误的分布。人写的代码在人犯迷糊的地方出错,而迷糊会留下痕迹:别扭的命名、一句含糊其辞的注释、一个横着长胖了的函数。生成的代码在模型自信的地方出错,而自信什么痕迹都不留。它命名统一、结构清晰、文档齐全,连错的那些部分也一样。
The failure taxonomy of plausible-but-wrong codeReading the docstring and the code as two competing claimsReviewing intent and seams instead of tokensDuplication the model cannot see - 740 分钟
Legacy Archaeology
把一份谁都看不懂的代码库丢给模型,问一句"这是干什么的?",这是模型能替你做的价值最高的事情之一,也是最容易做砸的事情之一。模型永远会给出一个答案。那答案流畅、有条理、听着像真的,而除非你自己带着事实来,否则你没有任何办法把一份正确的解释和一次自信满满的编造区分开。这一课讲的就是怎么带着事实来。
Facts before narrative when mapping unfamiliar codeCharacterization tests that pin current behaviorDistinguishing intent from accident in old codeUsing a model to generate hypotheses, not conclusions - 840 分钟
Migrations At Scale
让模型去改四百个文件,正是 AI 辅助的分水岭:要么真的成倍提速,要么产生的评审工作量比自己动手改还多。差别不在模型,而在于你有没有把改动中机械的那部分和需要判断的那部分分开,并且各自用对了工具。
Mechanical rewrites versus judgment callsKeeping a large migration reviewableThe escape hatch list of cases the tool refuses to touchStaging, verifying, and rolling back a wide change - 940 分钟
Debugging Code You Did Not Write
调试自己写的代码,一开始就占着便宜:你记得当初想干什么。调试生成出来的代码,这份便宜彻底没了,还多了一个特有的陷阱。作者随叫随到,耐心无穷,而且不管你描述什么缺陷,它都会给出一份自信满满的诊断,哪怕它对问题出在哪里毫无头绪。就是这么一套组合,让有经验的工程师最后发现自己已经打了四轮补丁,而问题纹丝未...
Hypothesis-driven debugging instead of guess-and-patchDeterministic reproduction before diagnosisShrinking to the smallest failing inputBisecting a change set and reading the fix for scope - 1040 分钟
The Security Model Of An Agent
一个带工具的智能体,本质上是一个从文本里接收指令、然后在你的系统上动手的程序。这些文本里,有一部分是你写的。另一部分则来自网页、工单、某个依赖的说明文件,或者陌生人留下的一条代码注释。整个架构里没有任何地方把这两类文本区分开,而正是这一个事实,制造出了 AI 辅助工程中的绝大部分安全面。
Prompt injection as a structural property, not a model bugThe lethal trifecta of private data, untrusted content, and exfiltrationBlast radius, allowlists, and approval gatesGenerated code risks: secrets, dependencies, and licence provenance - 1130 分钟
AI On A Team
AI 带来的个人效率提升是真实的,但它不会自动变成团队效率的提升。写得更快的代码,评审起来并没有更快,而大多数团队本来就卡在评审这一环。这一课讲的是系统层面的后果:什么真的变快了,什么在悄无声息地变糟,以及哪些规则值得定下来。
Review capacity as the real bottleneckShared conventions and rules files as team artifactsWhat review bots and CI agents are good and bad atMeasuring impact without gaming the metric - 1235 分钟
Judgment: Knowing When Not To
前面每一课讲的都是怎样把这件事做好。这一课讲的是排在它们全部之前的那个决定,也最可能把能力持续叠加的工程师和很快停在原地的工程师区分开:认出那些「找模型来做反而是错招」的情形,并且在周围所有人都默认该用的时候,愿意把这话说出来。
The cases where reaching for a model is the wrong callUnderstanding as the thing you are actually paying forDeliberate practice and skill maintenancePutting the whole method together on one change
用你的语言学习 Vibe 编程:高级工程
每一节课、测验和导师回复都以你的语言显示。AI 导师会用你提问的语言来回答。
