通义灵码 AI 程序员使用指南

简介: 通义灵码 AI 程序员使用指南

ba62e1451dbc1c72bbe329848469b06.png

通义灵码 AI 程序员,具备多文件代码修改和工具使用的能力,可以与开发者协同完成编码任务,如需求实现、问题解决、单元测试用例生成、批量代码修改等。


AI 程序员可以帮助开发者快速完成一个研发任务的代码编写工作,在与 AI 程序员对话过程中,可以遵循以下几点建议:


  • 清晰的需求描述:首先需要澄清我们需要 AI 程序员帮我们做什么,建议包含一个明确的目标,并通过步骤式的结构化描述,详细地描述你期望完成的开发任务要求;
  • 指定需要的上下文:选择代码文件、图片、codebase、codeChanges 等上下文,可以帮助 AI 程序员获取需求相关的语境。同时,结合详细执行步骤和要求,AI 程序员更精准地了解你的意图,生成最佳的方案和建议代码;
  • 明确生成要求:告诉 AI 程序员在生成代码修改建议时,你期望它遵循的要求,比如语言、规范、格式、变更目标等,如“生成变更时,同时为每个方法生成英文注释”;
  • 善用快照功能:当 AI 生成内容不符合预期,或你的需求有变化时,可以通过快照功能回退到之前的对话轮次和代码变更,继续重新提问;
  • 审查和修改变更:AI 程序员完成多个文件的代码变更后,开发者可以通过变更对比查看视图(Diff View)进行审查,以及对局部代码片段进行接受、拒绝、修改,保证最后得到符合预期的代码变更。


唤起 AI 程序员


当开发者期望和 AI 程序员一起完成一个研发任务时,可以通过 IDE 扩展导航打开通义灵码插件的窗口,并切换到 AI 程序员模块,或使用快捷键 ⌘ ⇧ I 唤起 AI 程序员,即可开始使用。

dd26913c24bc3ca43d766d6f3d3105e.png


 与 AI 程序员一起编程


AI 程序员与开发者一起围绕开发任务进行编码工作时,开发者需要输入清晰的需求描述和要求,AI 程序员可以为开发者在工程内进行多个文件的修改,开发者审查并接受相关代码变更即可。

27fd9e4be7a61be88c6e46d2634c547.png

同时,通义灵码提供了相关的交互界面帮助开发者与 AI 程序员进行对话和交互,整体交互界面区域如下: b5f6ee6eb056e66352532deb87a17a4.png

  • 新建会话:如果和 AI 程序员正在对话并有文件变更,单击后将出现二次确认,确认后会终止或取消当前文件变更,同时创建一个新的会话;
  • AI 程序员对话区域:展示开发者(问题)和 AI 程序员(回答)对话的过程,如果涉及到文件变更、计划确认等,也将在会话流的回答卡片中进行状态展示或操作;
  • 工作区:承载代码变更文件的展示,以及针对当前会话流中的多次对话产生的多次变更文件进行快照管理,同时提供查看、拒绝、接受代码变更的相关操作入口;
  • 需求描述输入区域:开发者进行需求描述输入的区域,提供了选择上下文、自然语言输入、自然语言和上下文组装的能力;
  • 变更对比查看和操作区域:当前快照下文件与其对应本地文件的变更差异查看视图,并提供针对代码变更片段进行修改、拒绝或接受的操作,以及文件级别的变更接受或拒绝操作。


需求描述输入(User Input)


打开 AI 程序员后,即可看到需求输入区域,在输入框内单击 + 或者输入 # 即可选择需要的相关上下文。输入完成后发送即可,AI 程序员将根据需求描述自动进行需求理解、相关信息检索、任务拆解、编码实现等。

7a252b7fa1777176fc1c01a24cebafc.png

ee25477d0b79a74af7830b167a67001.png


多文件代码修改(Multi-file Edit)


变更文件生成过程


当 AI 程序员对工程内多个代码文件进行修改时,每一个文件的修改将至少经历生成、应用的过程,生成代码变更的过程中,可在 AI 程序员的回答卡片中和工作区中看到相关的变更文件,以及相应的状态:


  • 生成中(Generating):根据任务拆解的修改计划生成对各个文件的代码片段修改建议的过程;
  • 应用中(Applying):某文件的代码片段修改建议生成完成后,将自动结合原文件内容和代码片段修改建议,生成相关代码变更文件(非原文件);
  • 应用完成(Applied):代码变更文件生成完成。


回答卡片中的文件或工作区的文件在生成中、应用中的状态时,单击对应文件,即可看到对应文件的代码修改建议生成过程、代码变更文件与原文件变更对比(Diff)生成过程。


AI 程序员完成的代码变更文件将聚合在工作区,方便开发者进行查看和操作。

ab7b5e50badb787f3ea41ff6da03059.png


审查、接受、拒绝代码变更


单击工作区的查看变更按钮或单击文件列表中的某文件,即可看到对应文件的变更对比查看视图(Diff View),开发者在此视图中可以进行如下操作:


  • 单击上下键进行切换查看当前文件的多个变更点;
  • 单击某变更点上的拒绝、采纳按钮进行决策操作;
  • 单击文件级操作区的前后键进行多个变更文件的查看;
  • 单击文件级操作区的拒绝、采纳按钮进行决策操作;
  • 局部修改当前变更文件。


JetBrains IDEs 的视图和操作位置,示意如下:

1ec5502e916f569efe850fe0c289b98.png

VS Code 的视图和操作位置,示意如下:

cd692c7b65f6a9ca2597b815f840dc5.png 当所有代码变更文件均被操作过拒绝或接受变更后,当前快照会变为已接受、部分接受、已拒绝状态,各个状态的相关释义如下:


  • 已接受:某文件有代码变更接受,视为该文件为已接受状态;所有文件为已接受状态,当前快照为已接受状态;
  • 部分接受:某文件有代码变更接受,视为该文件为已接受状态;有部分文件为已接受状态,当前快照为部分接受状态;
  • 已拒绝:某文件在无代码变更被接受,视为该文件为已拒绝状态;所有文件为已拒绝状态,当前快照为已拒绝状态。


多轮对话及变更快照(Multi-turns & Snapshot)


进行多轮次需求对话


当进行了一轮对话并生成代码变更文件后,如需继续补充需求或者修改需求,可在当前任务的会话流中继续提问,AI 程序员将结合前序轮次生成的代码变更分析补充的需求,并生成新的代码修改建议,产生一个或多个新的代码变更文件。

d7de0dd4b62176c01a623a1411ac4d8.png


快照查看和变更回退


当需要查看或回退到前序轮次的修改时,可单击下拉箭头查看当前会话任务中产生的多次代码变更快照,选择后,可以看到相关信息变化或进行切换操作:


  • 会话流中自动定位到产生该快照代码变更文件的回答卡片;
  • 快照下方文件列表自动切换到所选快照下的代码变更文件,单击后可查看代码变更内容;
  • 单击“切换”按钮,将当前代码变更回退到所选快照的代码变更状态。

c5de02c9675248ba7430262c91da2c4.png


 单元测试生成


单元测试智能体是 AI 程序员所具备的一种专项能力,可以针对代码变更(#codeChanges)、单个或多个代码文件批量生成单元测试文件开发者输入被测内容、生成要求,AI 程序员即可自动生成测试计划、测试用例、编译、运行以及根据错误信息进行自动修复,大幅提升测试用例覆盖度和用例的生成质量,降低开发者编写单元测试用例的成本。


选择被测代码并输入测试要求


打开 AI 程序员后,在输入框内单击 + 或者输入# 即可选择需要的相关上下文,并输入相关的指令要求(建议输入和生成单元测试相关要求的内容),输入完成后发送即可,AI 程序员会自动感知意图,开始进入生成单元测试的流程。

3c963a79a21bd5ccb72393627c577ef.png


选择和确认环境信息


收到测试要求后,AI 程序员会自动检测本地环境 Java 版本、构建工具、测试框架、Mock 框架等信息,如果检测到多个版本,开发者可主动选择需要的版本;如果无法识别,将看到提示错误,单击“如何修复”按钮,开发者可以进一步了解如何配置相关组件。

890070988f9a4d5bb25cf2f54e39a07.png


确定被测方法


环境信息检查通过后,AI 程序员将自动分析被测文件,并生成测试计划,开发者可以主动选择需要覆盖的方法,选择并确认完成后,单击确定按钮,即可开始为每个方法生成单元测试用例。


说明:

  • 每次至少选择 1 个方法为其生成测试用例,最多选择 20 个方法;
  • 选择方法后,会提示整体生成过程预计需要的时间,以供参考。


c5b44a0adfee3b37c82809cc39c9a2d.png


查看生成进展


在确定被测方法后,AI 程序员将自动根据开发者选择的被测方法进行单测用例生成工作,并自动对生成的结果进行编译、运行和自动修复。最终的结果会展示在界面中,状态及释义如下:


e6e179ad0ef3c081a5e7c95c50c3e1b.png

c103d13e17cfd6cec2111d84937db71.png

当所有方法的用例生成完成后,AI 程序员自动将编译通过和运行通过的用例合并成最终测试用例文件,并根据被测文件自动进行命名。对于编译失败的测试用例代码,开发者可自行选择是否需要,所有用例代码确认后,可单击完成按钮,测试用例文件将自动与原测试用例文件进行差异对比。

8a5ff638f5c859d08fe0d17ee3a0fa7.png


审查、接受测试用例文件代码


确认完成后,测试用例文件会出现在工作区中,开发者可单击工作区的查看变更按钮或单击文件列表中的某文件,即可看到对应文件的变更对比查看视图(Diff View),开发者可进行审查、局部修改、接受或拒绝部分代码等。确认所有代码变更后,单击接受按钮,,测试用例文件变更代码将正式进入到当前代码工程。

f975142e8539689cef98744fff194ac.png


查看会话历史



如果需要回顾历史的会话任务,可单击会话历史按钮。你与 AI 程序员的会话均有 @AI Developer 标签,单击后即可查看相关对话过程。

560420096524235b8c895b09d4e0cd7.png

以下是 Demo 演示

相关文章
|
2月前
|
人工智能 自然语言处理 前端开发
最佳实践2:用通义灵码以自然语言交互实现 AI 高考志愿填报系统
本项目旨在通过自然语言交互,结合通义千问AI模型,构建一个智能高考志愿填报系统。利用Vue3与Python,实现信息采集、AI推荐、专业详情展示及数据存储功能,支持响应式设计与Supabase数据库集成,助力考生精准择校选专业。(239字)
302 12
|
2月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
3月前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
1637 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
|
2月前
|
机器学习/深度学习 人工智能 人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
383 121
|
2月前
|
人工智能 人机交互 知识图谱
当AI学会“融会贯通”:多模态大模型如何重塑未来
当AI学会“融会贯通”:多模态大模型如何重塑未来
298 114
|
2月前
|
人工智能 安全 搜索推荐
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
275 117
|
2月前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
1290 16
构建AI智能体:一、初识AI大模型与API调用
|
2月前
|
人工智能 算法 架构师
AI时代程序员的生存与突围从需求分析开始
AI能3秒生成代码框架,还要程序员干什么?
369 9
|
2月前
|
数据采集 人工智能 程序员
PHP 程序员如何为 AI 浏览器(如 ChatGPT Atlas)优化网站
OpenAI推出ChatGPT Atlas,标志AI浏览器新方向。虽未颠覆现有格局,但为开发者带来新机遇。PHP建站者需关注AI爬虫抓取特性,优化技术结构(如SSR、Schema标记)、提升内容可读性与语义清晰度,并考虑未来agent调用能力。通过robots.txt授权、结构化数据、内容集群与性能优化,提升网站在AI搜索中的可见性与引用机会,提前布局AI驱动的流量新格局。
145 8
|
2月前
|
人工智能 自然语言处理 安全
AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教系统融合大语言模型、教育知识图谱、多模态交互与智能体架构,实现精准学情诊断、个性化辅导与主动教学。支持图文语音输入,本地化部署保障隐私,重构“教、学、评、辅”全链路,推动因材施教落地,助力教育数字化转型。(238字)

热门文章

最新文章