技术速递|失序则速不达:人工智能时代如何保障高质量开发
创始人
2025-12-26 01:20:18

作者:Gwen Davis,Carolyn Galvin

排版:Alan Wang

人工智能技术能助力团队实现前所未有的开发提速,但与此同时,也可能引发各类漏洞、故障与问题。运用以下策略,既能保持开发效率,又能牢牢把控代码质量。

如果你无法信任自己交付的代码,那么一味追求更快又有什么意义?

我们已经在工作流程中使用 AI 有一段时间了,毋庸置疑,日常开发的效率被大幅提升了。过去需要几个小时完成的任务,如今几分钟就能搞定;有时甚至在你早晨那杯咖啡还没喝完之前,一个完整的功能就已经成形。

但我们也同样体会过速度的另一面:当 AI 在缺乏明确方向和防护机制的情况下被使用时,往往会生成所谓的 AI slop —— 看似能跑、却缺乏上下文的半成品代码拼接在一起,悄无声息地积累着 bug、错误的依赖引用,以及技术债务。

在这个全新的时代,快已经不够了。真正拉开团队差距的,是精准度与质量。

“最优秀的车手并不是单纯跑得最快的人,而是在高速下依然保持平稳和掌控的人。”GitHub 产品副总裁 Marcelo OliveiraGitHub Universe 2025上表示,“速度和掌控并不是对立的,它们会相互强化。”

那么,如何才能两者兼得?如何在保持高速前进的同时,让代码依然干净、可靠,并始终掌握在自己手中?以下是三项关键策略:

Marcelo Oliveira

https://www.linkedin.com/in/marcelogoliveira22/?wt.mc_id=3reg_webpage_reactor

GitHub Universe 2025

https://githubuniverse.com/?wt.mc_id=3reg_webpage_reactor

技巧一:

把速度与质量视为一个整体,而不是二选一

我们很容易接受那些看起来“很精致”的 AI 生成代码,却忽略其背后潜藏的问题。然而,没有质量保障的速度,并不能真正帮助你更快交付,它只会让风险在未来不断叠加、放大。因此,真正成功的团队和组织,都会在利用 AI 提升开发速度的同时,配套建立清晰而有效的防护机制。

这正是 GitHub Code Quality(目前处于公开预览阶段)所要解决的问题。GitHub Code Quality 是一款由 AI 与 CodeQL 驱动的代码分析工具,能够在你开发的同时,持续发现整个代码库中的可维护性问题、可靠性风险以及技术债务。以下是开始使用它的方式:

  1. 一键启用

在仓库级别开启后,GitHub 会结合 CodeQL 与基于大语言模型的检测能力,对你的代码进行分析,帮助你清晰了解代码库中的可维护性与可靠性问题。

  1. 在每一个 Pull Request 中获得自动修复建议

当你创建 Pull Request 时,GitHub Code Quality 会立即标记出未使用的变量、重复的逻辑、潜在的运行时错误等问题。下面是一个示例:这段 Pull Request 中的代码“可以运行”,但还远未达到生产级别的要求。

// fuelCalculator.js

exportfunctioncalculateFuelUsage( laps, fuelPerLap) { constlastLap = laps[laps. length- 1]; // unused variable

functiontotalFuel( laps, fuelPerLap) { returnlaps. length* fuelPerLap; }

// duplicated functionfunctiontotalFuel( laps, fuelPerLap) { returnlaps. length* fuelPerLap; }

returntotalFuel(laps, fuelPerLap);

GitHub Code Quality 会基于 AI 与 CodeQL 给出改进建议,并提供一键修复功能:

- exportfunctioncalculateFuelUsage( laps, fuelPerLap) { - constlastLap = laps[laps. length- 1]; // unused variable-- functiontotalFuel( laps, fuelPerLap) { - returnlaps. length* fuelPerLap; - }-- // duplicated function- functiontotalFuel( laps, fuelPerLap) { - returnlaps. length* fuelPerLap; - }-- returntotalFuel(laps, fuelPerLap); -}+ exportfunctioncalculateFuelUsage( laps, fuelPerLap) { + if(! Array. isArray(laps) || typeoffuelPerLap !== "number") { + thrownew Error( "Invalid input"); + }+ returnlaps. length* fuelPerLap; +}

无需额外分流、也不会拖慢节奏,只有干净、可靠的代码。

  1. 设定并执行你的质量底线

通过规则集,你可以阻止未达到团队标准的代码合并。在不依赖评审者意志力、也不牺牲开发效率的前提下,持续保持一致的代码质量。

  1. 揭示(并修复)遗留的技术债务

AI Findings 页面会高亮显示团队当前正在修改的文件中的问题,帮助你在问题正处于当前关注焦点时顺手修复,减少频繁的上下文切换。

一句话总结

AI 带来的是速度,GitHub Code Quality 带来的是掌控力。两者结合,让你在无需取舍的情况下,既能跑得更快,又能构建得更好。

了解更多关于 GitHub Code Quality 的信息👉

GitHub Code Quality

https://docs.github.com/code-security/code-quality/concepts/about-code-quality/?wt.mc_id=3reg_webpage_reactor

绿色软件

https://greensoftware.foundation/articles/what-is-green-software/?wt.mc_id=3reg_webpage_reactor

了解更多关于 GitHub Code Quality 的信息

https://github.blog/changelog/2025-10-28-github-code-quality-in-public-preview/?wt.mc_id=3reg_webpage_reactor

技巧二:

做驾驶员,而不是乘客

AI 可以快速生成代码,但质量从来不是只靠自动化就能保证的。GitHub 一直相信,真正重要的是为开发者提供写出高质量代码的工具——从 IDE 中的 Copilot,到 Pull Request 里的 GitHub Copilot 代码评审,再到 GitHub Code Quality:它们不仅能让你清楚地看到长期存在的问题和技术债务,还能提供可执行的修复建议,帮助你真正解决这些问题。

这些能力赋予你设定方向、标准和边界条件的主动权。你的意图越清晰,AI 就越能发挥应有的价值。

下面是一个简单但非常有效的提示词框架,可以帮助你做到这一点:

  1. 说明目标,而不只是动作

把提示词当成是在给另一位工程师下达指令:你给出的信息越明确,最终产出的结果就越好。

不好的提示词:

重构这个文件

更好的提示词:

在不改变现有功能的前提下,对这个文件进行重构,以提升可读性和可维护性,不允许引入任何破坏性变更。
  1. 明确约束条件

例如:

  • “不引入第三方依赖”

  • “必须向后兼容 v1.7”

  • “遵循现有的命名规范”

  1. 提供参考上下文

可以链接相关文件、文档、现有测试,或架构设计决策。

  1. 指定输出形式

是 Pull Request、diff、patch、说明性文字,还是代码块。

借助 GitHub Copilot Coding Agent,你甚至可以分配多步骤任务,例如:

在整个应用中创建一个用于货币格式化的全新辅助函数。- 必须支持 USD 和 EUR- 结果保留两位小数并向上取整- 新增三个单元测试- 不要修改现有的价格解析器- 以 Pull Request 的形式提交

请注意,在这个过程中,思考和决策的责任仍然在你,而执行的责任则交给了 Agent。

一句话总结

AI 负责加速执行,而你的清晰意图——再加上 GitHub 提供的防护机制——才是把这种加速转化为高质量软件的关键。

了解更多关于 Coding Agent 的信息👉

IDE 中的 Copilot

https://docs.github.com/en/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions/?wt.mc_id=3reg_webpage_reactor

Pull Request 里的 GitHub Copilot 代码评审

https://docs.github.com/en/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review/?wt.mc_id=3reg_webpage_reactor

GitHub Code Quality

https://github.blog/changelog/2025-10-28-github-code-quality-in-public-preview/?wt.mc_id=3reg_webpage_reactor

GitHub Copilot Coding Agent

https://docs.github.com/copilot/concepts/agents/coding-agent/about-coding-agent/?wt.mc_id=3reg_webpage_reactor

了解更多关于 Coding Agent 的信息

https://github.com/features/copilot?utm_source=blog-universe-ai-control&utm_medium=blog&utm_campaign=dec25postuniverse/?wt.mc_id=3reg_webpage_reactor

技巧三:

构建思考过程的可见依据,而不只是输出结果

当 AI 承担越来越多的执行性工作时,真正拉开开发者差距的,是你能否清晰地表达自己的决策、取舍以及背后的思考过程。如今,光写出代码已经不够了,你还需要在功能的整个生命周期中,展示自己是如何思考问题、评估方案并推进实现的。

以下是一个可以提升文档信息传达效果的最佳实践:

  1. 创建一个 Issue,把为什么讲清楚

简要说明问题是什么、怎样才算成功、存在哪些约束条件,以及潜在风险。

  1. 清晰命名分支,认真提交代码

使用有意义的分支名称和提交信息来阐述你的思考过程,而不只是记录你的按键操作。

  1. 使用 Copilot 和 Coding Agent 构建功能,同时记录决策

简要说明你为什么选择某种方案,而不是其他方案,以及曾考虑过哪些替代选项。

  1. 在 Pull Request 中提供信息丰富的上下文

包括为什么要做、做了哪些改动以及考虑过哪些替代方案的简要说明。

例如,不要只写:

添加了深色模式切换功能

可以改为:

- 添加了深色模式切换,以提升无障碍体验并满足用户个性化偏好。- 为避免引入服务端依赖,选择使用 localStorage进行状态持久化。 - 将样式改动控制在局部范围内,避免对现有主题产生副作用。

一句话总结

代码展示的是你做了什么,而文档则展示了其重要性所在。在这个全新的 AI 时代,后者与前者同样关键。

相关内容

热门资讯

婚姻为何能成为美国头号斩杀线 昨天斩杀线那条好多人询问 直接上点干货吧,百分百带数据加案例的 当下美国斩杀线的头号主力是婚姻,离婚...
中方如何看待日本系统性介入南海... 国防部12月25日举行例行记者会,发言人张晓刚大校回答记者提问。 有记者问,近期日本不仅在台海周边动...
山楂树下、特仑苏“拉黑”山东?... 收货地址,什么时候成为了山东人的污点 最近,山东网友有点懵。 想买瓶特仑苏,下单失败。 想吃包王小卤...
神仙打架了!泰国VT-4坦克与... 当地时间2025年12月22日,泰国前线官兵自己发布的作战画面,在中国制造的VT-4坦克支援下,泰国...
从“农田卫士”到“空中出租车”... 走进粤港澳大湾区低空经济大会,未来图景触手可及。在这里,你能乘坐无人驾驶“空中出租车”,也能见证无人...