作者:Cassidy Williams
排版:Alan Wang
AI 的设计初衷,是帮助你更专注于自己热爱的事情,而不是取代你的专业能力。来了解一下:开发者的真实反馈与实践经验,正在如何塑造那些让你始终掌控全局的 AI 编码工具。
在 GitHub,我们经常听到一些问题,而这些问题你可能也并不陌生:
- AI 真的能帮上忙吗?还是只是为了让我用你们的产品?
- 我可以把自己的代码库放心交给 AI 工具吗?
- 这些工具是为了营销而生,还是为了真正提升生产力?
- AI 是在提升我的开发流,还是在打断它?
这些疑问都是真实且合理的。我在我们固定举办的 Rubber Duck Thursdays 直播中(你可以每周在 GitHub 的 YouTube、Twitch 和 / 或 LinkedIn 上观看!),与 Visual Studio 的高级产品经理 Dalia Abo Sheasha 一起,围绕这些问题以及更多相关话题进行了讨论。
以开发者为中心,守护开发流
如果你问大多数软件工程师,他们最希望从工具中得到什么,答案通常不是“更多自动化”。大多数开发者真正追求的是一条更顺畅、干扰更少的工作流——那种代码与想法自然而然涌现的状态。而这种状态,其实非常脆弱。
我们一次又一次地看到,任何引发上下文切换的因素(哪怕是出于好意的提示),都可能瞬间打断这种流。正因如此,在 GitHub,我们将 AI 功能的设计与测试放在开发者最擅长、最舒适的工作场景中:编辑器里、终端中,或代码评审流程中。同时,我们也为开发者提供了灵活的调节方式,让你可以自主决定这些工具何时、何地、以及以何种方式给出建议。
你的工具应该是支持你的工作流,而不是打扰它。我们希望 AI 能帮助你处理那些会把你拉出工作流、阻碍你专注构建真正重要事物的杂务。如果某个功能没有真正让你的编码一天变得更好,我们也非常希望你能告诉我们——因为唯一称得上“好”的 AI,就是真正能帮到你的 AI。
聊天有它的边界
人们很容易认为,一切交互都应该以聊天为中心。像是问一句“你能帮我搭一个模板吗?”,然后立刻得到答案,确实很有吸引力。但讽刺的是,强行把所有交互都塞进聊天框,反而可能是最快让人失去专注的方式。
“我不得不把注意力从代码上移开,切换到另一个地方,在那里用自然语言和一个聊天窗口对话。这种切换对大脑来说是一个巨大的负担。” —— Dalia Abo Sheasha,Visual Studio 高级产品经理
对许多开发者来说,聊天更适合按需使用的场景,比如代码解释或框架导航。如果聊天面板开始妨碍你的工作,就把它最小化,或放到后台。让聊天在你真正有问题时再出现,而不必让整个工作流都围绕它展开。
赋能,而不是为了自动化而自动化
用户数据和开发者访谈不断告诉我们:有效的 AI 是在赋能开发者,而不是取代他们的判断力。
开发者一次又一次地反馈,他们真正想要的是:跳过那些重复性的脚手架代码、样板代码和繁琐的文档工作,同时仍然牢牢掌控架构决策、棘手的 Bug 以及业务逻辑。
正如我在直播中提到的那样:要为不同的受众,关注不同的使用方式。资深开发者本身就已经很高效,你要做的是在不打破他们既有习惯的前提下,帮助他们进一步加速;而对学生来说,则是在塑造一种全新的、尚未完全成型的学习与工作方式。
“使用 AI 生成的解释来加深你对知识的理解,但它们永远不应该替代你自己的分析。”
—— Cassidy Williams,GitHub 开发者布道师
我们希望他们真正去学习,因为学生——也就是今天的初级开发者——正是明天的资深开发者,而整个技术环境正在发生巨大变化。
“你现在处在学习过程的哪个阶段?如果你还在起步阶段,正在学习语法和编程基础,那就用 AI 来解释这些基础知识,帮助你打下扎实的根基。”
—— Dalia Abo Sheasha
自然融入的 AI 建议
当 AI 与你并肩协作,而不是站在你面前“指挥”时,它才能真正发挥价值。
开发者告诉我们,最有价值的 AI 体验,往往来自与上下文紧密结合的建议:比如当你发起重命名时,顺势推荐一个更合适的函数名或变量名,或是在合适的时机自动补全样板代码。在这些瞬间,AI 更像是一位递给你有用代码片段的助手,而不是一个强行吸引注意力的干扰者。
大多数 AI 助手都提供了调节选项,让你可以控制它们出现的频率和“主动程度”。不妨花几分钟,找到最适合自己的使用节奏。
以人为中心
AI 应该是你的工具,而不是你的替代品。AI 工具的目标是为你赋能,而不是接管你的工作流。我们希望 AI 能通过建议改进、编写文档或测试、发现潜在问题来减少重复和枯燥的工作,而不是打断你的创造力与自主性。
软件中最关键的要素,始终是人类开发者本身:你的洞察力、判断力,以及经验。
从失败中学习
并不是每一个 AI 功能都会取得理想效果。那些会打断编辑流程、用弹窗淹没屏幕,或在你实时调整代码时“热心帮忙”的功能,最终往往会被用户关闭——而且很多时候,也会被我们自己下线。
“现在确实存在明显的 AI 疲劳感。但与此同时,也有一些非常优秀的使用场景。我们希望让这些真正有价值的用例浮现出来……并思考如何解决开发者的实际问题。”
—— Cassidy Williams
如果某种建议模式或弹窗正在影响你的工作,请留意是否有可自定义的设置,同时也欢迎你在社交媒体或社区讨论中直接告诉我们。产品团队在决定下一步要发布什么功能时,会高度依赖来自开发者的直接反馈和使用数据。
与你一起构建,而不仅仅是为你构建
无论是通过 Beta 测试、Issue 反馈,还是一对一访谈,你的挫败感和“恍然大悟”的时刻,都会直接影响我们优先级的制定和功能的打磨。
如果你有任何反馈,欢迎告诉我们!在公开测试中分享你的使用体验、参与反馈讨论,甚至只是说说上周哪个功能让你觉得不爽,都会帮助我们打造你真正愿意使用的工具,而不仅是“勉强接受”的工具。你的声音会以各种你可能察觉不到的细微方式,影响产品路线图。
用好 AI 驱动的编码工具
想要从 AI 工具中获得切实价值,可以从以下几点入手:
- 理解并审查你所接受的内容即使 AI 给出的建议看起来很省事,也要确保你完全明白它在做什么,尤其是那些可能影响安全性、架构或生产环境稳定性的代码。
- 把 AI 的“解释”功能当作学习辅助,而不是捷径它们可以帮助你巩固理解,但不能替代阅读文档或独立思考。
- 调整建议的频率和呈现方式,直到你觉得舒适为止大多数工具都允许你控制侵入性和细节程度,不必勉强自己接受让你分心的默认设置。
- 尽早且持续地给出真实反馈你的困扰和诉求,确实能引导产品团队打造更好、更以开发者为中心的工具。
思考与实践
AI 编程工具拥有巨大的潜力,但前提是它们真正去适应开发者。你的审慎怀疑、高标准以及开放态度,正在帮助我们(以及整个软件行业)取得有意义的进步。
我们致力于打造这样的工具:让你在自己熟悉的环境中、以属于你的工作流方式,发挥出最佳水平。
让我们携手塑造这样一个未来——AI 赋能开发者,却永远不会掩盖卓越软件开发这门技艺本身。
开始使用 GitHub Copilot >