📢 转载信息
原文链接:https://www.kdnuggets.com/5-ai-assisted-coding-techniques-guaranteed-to-save-you-time
原文作者:Shittu Olumide
Image by Author
引言
大多数开发人员并不需要别人帮他们打字更快。拖慢项目进度的是无休止的设置、审查和返工循环。这正是人工智能开始发挥真正作用的地方。
在过去的一年里,像GitHub Copilot、Claude和Google的Jules这样的工具已经从自动完成助手演变为可以异步规划、构建、测试甚至审查代码的编程代理。它们不再需要您驱动每一步,而是可以根据指令采取行动、解释其推理过程,并将可工作的代码推送回您的代码仓库。
这种转变是微妙但重要的:AI不再仅仅是帮助您编写代码;它正在学习如何与您并肩工作。通过正确的方法,这些系统可以通过处理开发中重复的、机械性的方面来为您节省大量时间,让您可以专注于架构、逻辑和真正需要人类判断的决策。
在本文中,我们将探讨五种AI辅助编程技术,它们可以在不影响质量的情况下节省大量时间,范围从直接将设计文档输入模型到将两个AI配对作为编码员和审查员。每种技术今天都足够简单易行,将它们结合起来可以形成更智能、更快的开发工作流程。
技术 1:让AI在您编写代码前阅读设计文档
获得更优代码模型结果的最简单方法之一是停止向它们提供孤立的提示,而是开始提供上下文。当您在请求代码之前分享设计文档、架构概述或功能规范时,您就为模型提供了您正在构建内容的完整图景。
例如,不要使用这个:
# 弱提示 “编写一个用于创建新用户的FastAPI端点。”
请尝试类似以下的方式:
# 富含上下文的提示 "您正在帮助实现下面描述的'用户管理'模块。系统使用JWT进行身份验证,并通过SQLAlchemy使用PostgreSQL数据库。请创建一个用于创建新用户、验证输入并返回令牌的FastAPI端点。"
当模型首先“阅读”设计上下文时,它的响应会更符合您的架构、命名约定和数据流。
您将花费更少的时间重写或调试不匹配的代码,而将更多时间花在集成上。
像Google Jules和Anthropic Claude这样的工具可以自然地处理这一点;它们可以摄取Markdown、系统文档或AGENTS.md文件,并在所有任务中利用这些知识。
技术 2:使用一个编码,一个审查
每个有经验的团队都有两个核心角色:构建者和审查者。现在您可以用两个协作的AI模型来复制这种模式。
一个模型(例如,Claude 3.5 Sonnet)可以充当代码生成器,根据您的规范生成初始实现。第二个模型(比如Gemini 2.5 Pro或GPT-4o)然后审查差异(diff),添加行内注释,并提出更正或测试用例。
Python伪代码中的示例工作流程:
code = coder_model.generate("使用Redis实现一个缓存层。") review = reviewer_model.generate( f"审查以下代码的性能、清晰度和边缘情况:\n{code}" ) print(review)
这种模式在多智能体框架(如AutoGen或CrewAI)中已变得很常见,并且直接内置于Jules中,Jules允许一个智能体编写代码,另一个在创建拉取请求(pull request)之前对其进行验证。
为什么这能节省时间?
- 模型会找到自己的逻辑错误
- 审查反馈即时送达,让您可以带着更高的信心合并代码
- 它减少了人为审查的开销,特别是对于常规或模板化的更新
技术 3:使用AI代理实现测试和验证自动化
编写测试并不难;它只是很繁琐。因此,这是委托给AI的最佳领域之一。现代编码代理现在可以读取您现有的测试套件,推断缺失的覆盖范围,并自动生成新测试。
例如,在Google Jules中,一旦它完成了功能实现,它会在安全的云虚拟机中运行您的设置脚本,检测到pytest或Jest等测试框架,然后在创建拉取请求之前添加或修复失败的测试。
以下是该工作流程的概念表示:
# 步骤 1: 在Jules或您的本地AI代理中运行测试 jules run "为utils.js中的parseQueryString添加测试" # 步骤 2: 审查计划 # Jules将显示要更新的文件、测试结构和推理 # 步骤 3: 批准并等待测试验证 # 智能体会运行pytest,验证更改,并提交可工作的代码
其他工具也可以分析您的仓库结构,识别边缘情况,并在一次传递中生成高质量的单元测试或集成测试。
最大的时间节省并非来自于编写全新的测试,而是来自于让模型在版本升级或重构期间修复失败的测试。这是AI代理能够稳定处理的那种缓慢、重复的调试任务。
实际应用中:
- 您的CI流水线在最少的人工干预下保持绿色
- 随着代码的演变,测试保持最新
- 您可以在不需要手动重写测试的情况下及早捕获回归问题
技术 4:使用AI重构和现代化遗留代码
旧代码库会拖慢每个人的速度,不是因为它们写得不好,而是因为没有人记得最初为什么那样写。AI辅助重构可以通过安全且增量的方式读取、理解和现代化代码来弥合这一差距。
Google Jules和GitHub Copilot等工具在这方面表现出色。您可以要求它们升级依赖项、用更新的框架重写模块,或将类转换为函数,同时不破坏原始逻辑。
例如,Jules可以接受这样的请求:
"将此项目从React 17升级到React 19,采用新的app目录结构,并确保测试仍然通过。"
在幕后,它会执行以下操作:
- 将您的代码仓库克隆到安全的云虚拟机中
- 运行您的设置脚本(用于安装依赖项)
- 生成显示所有更改的计划和差异(diff)
- 运行您的测试套件以确认升级成功
- 推送带有经验证更改的拉取请求
技术 5:并行生成和解释代码(异步工作流)
当您深入进行编码冲刺时,等待模型回复可能会打断您的思路。现代代理工具现在支持异步工作流,让您可以在专注于主要工作的同时,一次性卸载多个编码或文档任务。
使用Google Jules,您可以想象以下场景:
# 并行创建多个AI编码会话 jules remote new --repo . --session "为API响应编写TypeScript类型" jules remote new --repo . --session "为/signup路由添加输入验证" jules remote new --repo . --session "用docstrings记录auth中间件"
您可以继续在本地工作,而Jules在安全的云虚拟机上运行这些任务,审查结果,并在完成后向您报告。每个任务都会获得自己的分支和计划供您批准,这意味着您可以像管理真正的“AI队友”一样管理它们。
这种异步、多会话的方法可以为分布式团队节省大量时间:
- 您可以排队 3 到 15 个任务(取决于您的Jules计划)
- 结果是增量到达的,因此没有任何内容会阻塞您的工作流程
- 您可以独立审查差异、接受拉取请求或重新运行失败的任务
为Jules提供支持的Gemini 2.5 Pro模型专为长上下文、多步骤推理而优化,因此它不仅仅是生成代码;它会跟踪先前的步骤、理解依赖关系,并同步任务间的进度。
整合所有技术
这五种技术单独使用效果都很好,但真正的优势来自于将它们链接成一个持续的、反馈驱动的工作流程。以下是实际中的情况:
- 以设计驱动的提示:从一个结构良好的规范或设计文档开始。将其作为上下文输入到您的编码代理中,以便它了解您的架构、模式和约束。
- 双代理编码循环:让两个模型协同工作,一个充当编码员,另一个充当审查员。编码员生成差异或拉取请求,而审查员运行验证、提出改进建议或标记不一致之处。
- 自动化测试和验证:让您的AI代理在新代码着陆时创建或修复测试。这确保了每个更改都是可验证的,并为CI/CD集成做好准备。
- AI驱动的重构和维护:使用像Jules这样的异步代理在后台处理重复的升级工作(依赖项更新、配置迁移、弃用API重写)。
- 提示演进:将先前任务的结果——无论是成功还是错误——反馈以完善您的提示。这就是AI工作流程成熟为半自主系统的方式。
这是一个简单的高层流程:
Image by Author
每个代理(或模型)处理一个抽象层,让人类注意力集中在代码的意义上。
总结
AI辅助开发并非是让AI为您编写代码。它是让您从关注代码编写中解放出来,专注于架构、创造力和问题定义,这些是任何AI或机器都无法替代的部分。
如果您明智地使用这些工具,它们可以将数小时的模板代码和重构工作转化为可靠的代码库,同时为您腾出空间进行深入思考和有意识的构建。无论是Jules处理您的GitHub PRs,Copilot建议上下文感知的函数,还是自定义Gemini代理审查代码,其模式都是相同的。
Shittu Olumide是一位软件工程师和技术作家,热衷于利用尖端技术来构建引人入胜的叙事,对细节有着敏锐的洞察力,并擅长简化复杂概念。您也可以在Twitter上找到Shittu。
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区