
AMP:皇帝的新衣——AI 代码代理如何颠覆开发者工具市场
探索 Sourcegraph 前沿代码代理 AMP 如何通过快速迭代、自主推理和工具调用代理,重塑 AI 开发格局——以及为什么传统开发工具正在被淘汰。...

学习如何结合 TDD 与 Windsurf、Claude 3.5 Sonnet 等 AI 编码代理,自动化并优化您的软件开发流程。
TDD 的核心是一个名为红-绿-重构的循环过程。该循环从**“红”**阶段开始,开发者编写一个自动化测试用例,定义所需的功能或行为。这个测试最初必然失败,因为相应的代码尚未实现。这个初始失败非常关键,它确保测试确实在检测目标功能,并且在代码实现后能捕捉到错误。
接下来的**“绿”**阶段,需要编写最少量的代码使之前失败的测试通过。这一原则促使开发者聚焦于测试所规定的即时需求,保持代码简洁,防止过度设计。
最后的**“重构”**阶段,致力于优化测试代码和生产代码的结构、可读性与可维护性,同时确保所有现有测试始终通过。重构让代码库保持健康,适应未来的变化而不会引入回归,现有测试集在此阶段为变更提供安全网。
影响 AI 代理编码表现的因素很多,从 LLM 模型到代码结构再到开发流程。我们发现结合 Windsurf 与 Claude 3.5 sonnet 能很好地实现 TDD。以下是一个用 TDD 实现的示例任务。
在开始编码之前,需要如下准备:
请确保已经根据 TDD 编写了测试,并且这些测试涵盖了你认为逻辑范围内对 AI 代理有帮助的绝大部分问题。无需为了 AI 代理而特意更改或定制测试。如果测试及其命名规范是标准化的会更好。AI 代理的第一步就是查看这些测试并开始实现。
以下是一个测试示例,用于检测文档是否被正确插入到 MongoDB 中:
Java(或其他编程语言)中的接口是一种结构,用来定义类应该具备的方法。为了进一步引导 AI 代理,为你的数据仓库创建一个插入文档的接口会很有帮助:
最后,还需要一个具体的任务描述。通常你可以用 JIRA 或 GitHub issue 来定义任务。我们的任务如下:
Vibe coding 指的是你用自然语言(甚至语音)描述需求,AI 实时为你生成代码。我们将在本博客中详细介绍 Vibe Coding。以下是我在 Windsurf 中用于完成任务的提示词:
实现如下查询,可由一个或多个命名查询与 Java 代码组合完成。
查找在指定日期范围内,完成了至少 X 次评分高于 5 的行程,并且从未收到过低于 3 星评分的所有司机。
注意:
你不必用单条查询解决此任务(可以结合 Java 代码和命名查询),但要考虑 ORM 性能,即当实体很多时方案依然要足够高效。在讨论环节,你应能解释糟糕查询可能引发的问题类型。
@Ass1_2_2Test.java#L35-60是对应的测试。已在@DriverDAO.java#L34-63实现
在 vibe coding 时,明确指出相关文件是最重要的。现在,只需静待 AI 代理施展魔法。它实现了类、运行了测试,并不断迭代直到测试全部通过:
测试驱动开发(TDD)是一种软件开发方法,先编写自动化测试,再编写实际代码。该过程遵循“红-绿-重构”循环:首先编写失败的测试(红),然后实现代码使测试通过(绿),最后在保持所有测试通过的同时重构代码。
像 Windsurf 这样的 AI 代理,尤其结合 Claude 3.5 Sonnet 等模型,可以自动生成代码、执行测试、进行迭代优化,使 TDD 流程更快更高效。
要用 AI 代理自动化 TDD,需具备完善的测试用例、清晰定义的接口和具体的任务描述。标准化的测试命名和清晰文档有助于 AI 代理取得最佳效果。
Vibe Coding 是一种 AI 驱动的开发方式,开发者用自然语言(或语音)描述需求,AI 实时生成代码,迭代直到所有测试通过且满足需求。
Yasha 是一位才华横溢的软件开发者,专攻 Python、Java 以及机器学习。Yasha 撰写关于人工智能、提示工程和聊天机器人开发的技术文章。
探索 Sourcegraph 前沿代码代理 AMP 如何通过快速迭代、自主推理和工具调用代理,重塑 AI 开发格局——以及为什么传统开发工具正在被淘汰。...
探索GPT-5 Codex如何通过先进的智能代理编程能力、7小时的自主任务执行以及在代码发布前捕捉关键缺陷的智能代码审查功能,彻底变革软件开发流程。...
通过我们全面的12要素方法论,学习如何构建健壮、可投入生产的AI代理。探索自然语言处理、上下文管理和工具集成的最佳实践,打造可扩展并真正创造商业价值的AI系统。...
Cookie 同意
我们使用 cookie 来增强您的浏览体验并分析我们的流量。 See our privacy policy.







