从 Chatbot 到共同开发者
I’m happy to translate the article for you, but I don’t have the full text of the post. Could you please paste the content you’d like translated (excluding the source line you already provided)? Once I have the text, I’ll translate it into Simplified Chinese while preserving the original formatting, markdown, and any code blocks or URLs.
AI 编码工具:从助理到代理的演进
AI 编码工具在过去两年里的变化超过了前十年的总和。它们已经分化为不同层级,具备真正不同的能力。位于技术栈顶端的工具正在做的事情,直到不久前还只能算作营销小说。
1. 对话助理
示例: Claude、ChatGPT、Gemini
模型很简单:你描述一个问题,附上文件,然后收到回复。对于解释、调试讨论、代码审查以及起草小函数,它们表现良好。
限制
- 这些工具 回复;它们 不执行。
- 它们只能了解你展示给它们的内容——无法运行你的测试、检查目录结构,或发现相隔三层文件的冲突。
- 如果输出有误,你会在 IDE 中发现,而不是在对话中。
对许多任务来说这已经足够,但随着项目变得复杂,复制‑粘贴的开销成为瓶颈。你花在管理上下文的时间几乎和解决问题的时间一样多。
2. 行内自动补全
示例: GitHub Copilot、Tabnine、Codeium
这些工具不是回答问题,而是监视你的输入并建议接下来该写什么。
吸引力
- 生成样板代码通常表现不错。
局限
- 上下文仅限于光标周围的一个小窗口,而不是整个项目的架构。
- 建议看起来合理,却可能错误,因为工具只知道相似代码 通常 是怎样的。
早期版本因向开发者推送大量未经请求的代码块而臭名昭著——笑话是你点了一片吐司,却收到七道菜的早午餐。
Microsoft 随后将 Copilot 从纯粹的行内自动补全转向 VS Code 中的代理交互(例如 Claude Code)。它现在会读取项目、规划更改,并跨文件执行,且可选择不同的底层模型。
3. 代理式编码工具
示例: Claude Code、Codex、Cursor、OpenClaw(自主代理)
这些工具 不再仅仅回复,而是开始行动:
- 读取代码库——检查文件结构、跟踪依赖并理解约定。
- 规划 跨多个文件的更改。
- 执行——编写代码、运行测试、观察失败并自动迭代。
实际使用感受
在 VS Code 中使用 Claude Code 与聊天工具的体验不同:
- 你描述想要的功能。
- 系统读取代码库的相关部分,并提出跨受影响文件的实现计划。
- 在继续之前,它会请求确认。
- 它运行命令行操作来探索项目,而无需你手动提供上下文。
- 当出现失败时,它会看到错误并调整计划。
曾经需要数小时代码库探索的工作,现在可以从一个明确的意图描述开始。工具负责考古工作,开发者专注于判断结果。
真正的影响:覆盖面,而非仅仅速度
软件开发如今涉及广泛的技术层面(前端框架、后端语言、基础设施、移动平台、数据系统)。大多数开发者只在这片领域的狭窄区块内是专家,对其他部分只能部分了解。
代理式工具改变了这一问题的经济学:
- 具备强大架构思维的开发者现在可以在不熟悉的技术栈中有效工作。
- 工具处理语法和生态细节;人类负责评估正确性。
实践中的示例
- 将一个 Python REST API 转换为完全不同的技术栈,而无需精通目标语言。
- 在开发者几乎没有经验的框架中构建 React Native 应用。开发者仍然审查计划并纠正错误,但机械工作转移给了工具。
数十年的开发经验并不会因此变得不重要;它们仍然是关键。
me 更加便携。
4. 超越编码:自治代理
相同的模式正在向更广阔的数字环境扩展。诸如 OpenClaw 之类的工具通过单一界面连接电子邮件、日历、消息系统、文件以及代码执行。一个有文档记录的工作流会在夜间安排开发任务;代理在开发者睡觉时运行这些任务,并在早晨生成摘要。
能力比较
| 能力 | Chat Assistants | Inline Autocomplete | Agentic Coding Tools | Autonomous Agents |
|---|---|---|---|---|
| 读取你的代码库 | No | Partial (local window) | Yes (full project) | Yes (full environment) |
| 跨多个文件进行规划 | No | No | Yes | Yes |
| 执行代码 / 运行测试 | No | No | Yes | Yes |
| 根据失败进行迭代 | No | No | Yes | Yes |
| 在没有明确提示的情况下行动 | No | No | Yes (agentic) | Yes (autonomous) |
| 与其他工具集成(邮件、日历等) | No | No | No | Yes |
结论
从聊天助手 → 行内自动完成 → 具备代理能力的编码工具 → 自主代理的演进标志着开发者与 AI 交互方式的范式转变。这种代理转变不仅是增量改进;它扩展了单个开发者能够完成的工作范围,使深度专业知识更易迁移,并为整个软件开发生命周期的 AI 驱动自动化铺平道路。
Source: …
功能比较矩阵
| 功能 | Tool A | Tool B | Tool C | Tool D |
|---|---|---|---|---|
| 写文件 | Yes | No | Yes | Yes |
| 运行命令 | No | No | Yes | Yes |
| 运行测试 | No | No | Yes | Yes |
| 跨多个文件进行规划 | No | No | Yes | Yes |
| 持久化项目上下文 | No | Partial | Yes (via config files) | Yes |
| 在不熟悉的语言中工作 | Partially | Partially | Yes | Yes |
| 对失败进行迭代 | No | No | Yes | Yes |
| 自主操作 | No | No | Partially (with approval) | Yes |
| 与外部服务集成 | No | No | Limited | Yes |
| 底层模型的选择 | N/A | Yes (Copilot) | Yes (Cursor, Copilot) | Yes |
| 无需 IDE 即可工作 | Yes (browser) | No | Yes (terminal) | Yes |
| 所需设置 | None | Low | Medium | High |
| 安全风险面 | Low | Low | Medium | High |
观察
收益与风险: 是否收益大于风险仍是一个未解之题。能力是真实存在的,发展方向明确,工具仍处于早期阶段。赋予代理如此广泛的权限所带来的影响仍在实践中逐步厘清。值得关注。
工具的转变: 这些工具已经从 响应 转向 行动。这一转变是需要理解的关键变化。
用例匹配:
- 聊天助手 仍然适用于解释和孤立的问题。
- 自动补全 能加速熟悉的模式,但并不会扩展你能够完成的工作范围。
- 具备代理能力的工具 能跨越更多文件和更复杂的系统,并且还能帮助开发者在不熟悉的领域工作。
人为判断: 开发者在循环中的判断仍决定输出质量。能够做到以下三点的开发者:
- 清晰描述问题,
- 批判性地评估提出的方案,
- 识别输出何时错误,
将比不能做到这些的开发者获得显著更好的结果。工具会放大你带进去的能力。
对开发者的影响: 好的开发者会变得更加强大,但隐藏的余地会更少。