宝玉的分享 09月12日
AI 赋能新开发模式:异步编程
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

文章探讨了“异步编程”这一新的软件开发工作流,它将开发者从逐行编码的模式中解放出来,转变为专注于清晰地定义问题、委托任务给 AI 智能体,并在稍后进行审查。这种模式将定义问题和实现代码在时间上分离,通过清晰的需求和自动化验证,让开发者能同时处理多个复杂任务。文章强调了清晰的问题定义、自动化验证和细致的代码审查是异步编程的三大支柱,并指出 AI 并非取代编程,而是让开发中最有价值的部分更加突出。

🧑‍💻 **AI 智能体驱动的异步编程工作流:** 开发者不再亲手敲写大部分代码,而是专注于清晰地定义问题,并将代码编写、测试和提交等任务委托给 AI 智能体。这种工作模式将定义问题和实现代码在时间上分离,形成一种“定义问题 - 委托任务 - 稍后检查”的异步流程,允许开发者同时处理多个复杂任务。

🎯 **清晰的问题定义是关键:** 异步编程的成功依赖于开发者能否精确地描述问题。模糊的需求会导致模糊的结果,而包含现状、目标、建议解决方案和验收标准的精确说明,能够让 AI 智能体或人类同事独立高效地完成工作。需求文档应具备背景信息、约束条件、代码示例和明确的成功标准。

✅ **自动化验证确保结果准确性:** 异步编程的核心在于无需手动测试所有边界情况即可验证结果。通过建立包含单元测试、集成测试、类型检查、性能基准测试和风格检查的自动化验证系统,AI 智能体可以在持续集成环境中独立验证其工作,从而减少人工干预。

🧐 **细致的代码审查至关重要:** 当开发者不再编写所有代码时,代码审查变得更加关键。审查 AI 生成的代码与审查人类同事的代码同等重要,需要开发者投入更多时间进行审查,以确保代码符合设计决策、解决正确的问题,并体现专业的判断。AI 的出现并非取代编程,而是让开发者能更专注于系统的设计和技术决策。

2025年8月19日 Ankur Goyal

我工作中有一项常规任务,就是审查那些不是我亲手写的代码。一个 AI 智能体 (AI agent) 会接收一份详细的问题描述,然后编写代码(主要是 Typescript、Rust 和 Python)、添加测试,最后把修改提交到一个新的代码分支上。当一切准备就绪,需要审查时,我再介入。

这在过去听起来像是科幻电影里的场景,但现在已经成了我的日常工作方式,而且越来越多的开发者也正开始这么做。这个转变虽然不易察觉,但却非常强大:我们不再是一行一行地敲代码,而是在学习如何清晰地描述问题,然后让工具在后台解决它们。

“异步编程”的工作流

这里所说的“异步编程”,和它在计算机科学里的经典定义不太一样。它更多的是指开发者构建软件的一种新方法。

整个工作流程看起来是这样的:

    清晰地定义问题。 写一份详细的需求说明,包括各种边界情况、限制条件和成功标准。

    把任务交出去。 把具体的实现工作委托给一个 AI 智能体、一个团队成员,甚至是未来的自己(只要你留下了足够详尽的笔记)。

    稍后回来检查。 过段时间再回来审查结果、提供反馈,并决定下一步该做什么。

这种方式和传统编程最关键的区别,就在于定义问题实现代码在时间上是分开的。你得到的不再是即时的反馈循环,而是一个由清晰需求和自动化验证驱动的、在后台运行的问题解决过程。

异步编程不是凭感觉编程 (vibe coding)。“凭感觉编程”可以让你不用深入细节就能写出代码。而异步编程是一种能让开发者同时解决多个复杂问题的工作流,并且你仍然需要理解代码的细节。你依然在做系统架构、审查代码实现、维护整个代码库,只是你不再需要亲手敲下绝大部分的字符了。

异步编程的三大支柱

要想让异步编程在实践中真正可行,你需要三样东西:对问题有清晰的定义、有办法自动验证结果,以及由人来主导代码审查。

1. 清晰的问题定义

你描述问题的质量,决定了后续的一切。模糊的需求只会产生模糊的结果,而精确的说明才能产出可用的代码。

看看这两者的区别:

模糊的说法: “让搜索速度快一点”

精确的说法: “我的目标是把搜索延迟从大约 800 毫秒降低到 200 毫秒左右。我怀疑性能瓶颈在于我们为每一批数据都进行了堆内存分配。你能不能尝试重构一下代码,改成每次搜索只分配一次内存,然后测试一下效果怎么样?”

这个精确的版本包含了现状、目标、建议的解决方案以及验收标准。有了这样明确的需求,一个 AI 智能体(或者人类同事)就能够独立地开展工作了。

高效的异步编程需求文档读起来就像一份技术文档:它包含背景信息、约束条件、代码示例和明确的成功标准。如果你自己都无法清晰地解释一个问题,那你很可能还没理解到足以将其委托出去的程度。

2. 自动化的验证

异步编程能够成立的前提,是你不需要手动测试每一个边界情况就能验证结果。你需要建立一套能够自动检查工作的系统。

这可能包括:

    验证核心功能的单元测试和集成测试

    捕捉接口不匹配的类型检查

    确保代码满足性能要求的性能基准测试

    强制执行代码规范的风格检查和格式化工具

我们的目标是建立一个流程,让 AI 智能体可以独立地用它来验证自己的工作。这需要时间。一开始你需要提供大量的指导,然后逐渐形成模式,让智能体可以自主工作。在持续集成 (CI) 环境中配置好这一切虽然有挑战,但它能让后台的智能体在你自己的开发环境之外独立完成工作。

3. 细致的代码审查

当你不再亲手敲下每一个字符后,代码审查就变得至关重要。我经常会发现一些代码提交,它们要么完全搞错了要解决的问题,要么做出了糟糕的设计决策,要么就是存在大量重复的代码。

审查 AI 生成的代码和审查人类同事的代码一样,都非常有价值。做好心理准备,你花在代码审查上的时间会比以前多得多。

虽然代码不是你逐行敲下的,但整个系统的设计和技术决策,依然必须体现你的专业判断。

为什么异步编程是可行的

自从采纳了异步编程,我的工作流程彻底改变了。我现在可以同时处理四到五个任务:一个复杂的任务我会同步处理,另外三四个则在后台“异步”进行。当我在不同任务间切换时,我会去审查那些后台任务的进展,给出指导,然后回到我的同步任务或代码审查中。

Braintrust 的异步编程实践

我们一直在用异步编程的方式来构建 Braintrust 本身,现在我们也在开发工具,希望把这些理念应用到 AI 工程领域。

传统的提示词工程 (prompt engineering) 是纯手动的。你写一个提示词,用一些例子去测试它,观察失败的案例,做一些微调,然后不断重复这个过程。这个过程虽然需要专业知识,但也包含了大量的迭代工作。

我们的智能体 Loop,可以让你直接描述你想要解决的评估问题。它会在后台花时间分析实验结果,找出失败测试用例中的规律,并为你的提示词、数据集和评分器提出改进建议。

未来将走向何方

这种工作方式带来的深远影响才刚刚开始显现。它改变了我作为一名开发者所追求的优化方向:我花在 IDE 快捷键和打字速度上的时间变少了,而花在清晰地阐述问题和透彻地审查解决方案上的时间变多了。

代码实现的工作,可以和其他思考过程并行进行。随着工具的不断完善,我相信会有越来越多的开发者采纳这种方法。AI 并不是要取代编程,而是让编程中那些最有价值的部分变得更加突出,同时把那些常规性的任务转移到后台去处理。


原文链接:https://www.braintrust.dev/blog/async-programming

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

异步编程 AI 智能体 软件开发 代码审查 Async Programming AI Agents Software Development Code Review
相关文章