01 · 什么是 AI Coding
先画边界
「AI Coding」常被用来指一堆不同东西。不先分层,讨论就会变成各说各话。
| 层级 | 形态 | 人的参与 | 典型例子 |
|---|---|---|---|
| L0 辅助 | 补全、解释、改写 | 人主导每一行 | 行内补全、选中代码问为什么 |
| L1 结对 | 对话式改文件、多文件编辑 | 人提需求、审 diff | IDE Agent / CLI Agent 改 PR |
| L2 任务代理 | 给定目标,自主多步执行 | 人定目标与验收 | 「修这个 flaky test」「加登录」 |
| L3 系统代理 | 跨仓库、跨工具、长期任务 | 人定策略与红线 | 迁移、审计、持续 babysit CI |
| L4 近自治 | 从意图到上线的大段闭环 | 人主要做授权与例外处理 | 仍少见、且风险高 |
本文说的 AI Coding,主要指 L1–L3:不是「会不会补全」,而是 能否把 AI 嵌进真实交付链路。
它真正改变的是什么
不是「多了一种写代码的方式」,而是:
- 单位时间可尝试的路径数 暴增
- 从自然语言到可运行工件 的摩擦下降
- 上下文窗口 + 工具调用 让模型能「做工程动作」,而不只是「吐代码文本」
旧范式:人脑规划 → 手写实现 → 测试验证
新范式:人定义意图与约束 → 模型生成/修改 → 人机共同验证 → 迭代收紧
关键差异在于:生成成本接近零,验证成本成为主成本。
AI Coding ≠ 自动编程
容易混淆的几个概念:
- Code generation:从描述生成片段(偏静态)
- Copilot / 补全:预测下一 token(偏局部)
- Agentic coding:带工具、能读仓库、能跑命令、能改多文件(偏过程)
- Vibe coding:凭感觉用自然语言堆功能,弱化规范与审查(偏文化)
AI Coding 可以很严谨,也可以很随意——工具本身不决定质量,用法与约束才决定。
一个可用的工作定义
AI Coding 是:以大模型为核心,结合编辑器/CLI、代码库上下文、测试与运行时反馈,在人设定的目标与边界内,持续生成、修改、验证软件的实践。
三个关键词:
- 上下文:模型能看到什么(文件、错误、设计文档、规范)
- 闭环:生成后能否被测试、类型检查、运行时证据打回
- 边界:哪些动作需要人批准(推远程、改生产、删数据)
为什么 2024–2026 这件事突然「真了」
技术叠层到了可用阈值:
- 模型在代码任务上的基础能力够用(不是完美)
- 长上下文 + 检索/工具,让「整个仓库」变得可操作
- Agent 循环(读→想→改→跑→看结果)把一次性生成变成多轮收敛
- 工程侧开始补齐:权限、hooks、worktree、评审流、可观测
结果是:从「演示很好」进入「部分团队日常真的在用它交付」。
不该神话的部分
- 它不会自动理解你的业务真相
- 它不会自动拥有你的运维记忆与事故史
- 它不会替你承担上线责任
- 它经常「看起来对」——这比「明显错」更危险
下一篇:范式转移