内容来自梦飞,WaytoAGI Agent核心创造者词元映射CEO
通义灵码上手指南
通义灵码官网:
https://lingma.aliyun.com/lingma/
(一)安装AI程序员
- Visual Studio Code 安装指南
本安装步骤适用于 macOS、Windows 或 Linux 的 Visual Studio Code 中安装通义灵码。
安装Visual Studio Code下载地址:https://code.visualstudio.com/
- 操作系统:Windows 7 及以上、macOS、Linux;
- 下载并安装 Visual Studio Code 1.68.0 及以上版本。
点击Download,下载符合你操作系统的安装包。
下载后,一路点击next,进行安装。
- 在 Visual Studio Code 中安装通义灵码和简体中文
1、打开拓展,ctrl+shift+x或点击左侧的图标。
2、搜索“中文”,点击进行安装
3、再次搜索“TONGYI Lingma”,点击进行安装
4、安装完成后,重启 Visual Studio Code。
5、把通义灵码拖动到右侧区域,方便我们在操作的时候查看。
- 补课,什么是VScode和要掌握什么
把他当成代码界的word文档就好,只需要知道:
1、三部分工作区
文件目录、编辑处、插件
2、主要使用的功能
打开文件夹、保存文件、关闭文件夹
(二)通义灵码使用教程
现在我们有了一支野生施工队,如何用好呢? --
“说清需求”
- 我饿了要吃饭 是 没说清
- 我饿了,我要吃楼下烤鸭店的孜然味烤鸭八分熟不放辣 是 说清了
- 帮我写个贪吃蛇 -- 打5分
- 帮我做一个贪吃蛇游戏,这个游戏的规则和逻辑如下:
1. 游戏界面:游戏在一个矩形的网格上进行,玩家控制一条蛇。
2. 蛇的移动:蛇会持续移动,玩家可以通过按键控制蛇的移动方向(上、下、左、右)。
3. 食物:游戏界面上会随机出现食物,蛇需要吃到食物以增长身体。
4. 增长:每次蛇吃到食物,它的身体就会增加一节。
5. 死亡条件:
- 撞墙:蛇的头部撞到游戏界面的边界。
- 撞自己:蛇的头部撞到自己的身体。
6. 得分:吃到食物可以获得分数,分数通常与吃到的食物数量成正比。
7. 难度递增:随着游戏的进行,蛇的速度可能会逐渐加快,或者食物出现的频率会降低,增加游戏难度。
8. 游戏结束:当蛇死亡时,游戏结束,玩家可以看到自己的得分。 -- 打9分
在这里给大家推荐一个文章,关于如何写好Prompt(提示词):
https://waytoagi.feishu.cn/wiki/VVR0wgT41i8wWtkrRn9cmYFvnHd?from=from_copylink
以下是我在官网看到的使用建议,这不仅适用于通义灵码写代码,也适用于当前所有的AI编程工具,这是非常好的技巧总结:
- 清晰的需求描述:首先需要澄清我们需要 AI 程序员帮我们做什么,建议包含一个明确的目标,并通过步骤式的结构化描述,详细地描述你期望完成的开发任务要求;
- 指定需要的上下文:选择代码文件、图片、codebase、codeChanges 等上下文,可以帮助 AI 程序员获取需求相关的语境。同时,结合详细执行步骤和要求,AI 程序员更精准地了解你的意图,生成最佳的方案和建议代码;
- 明确生成要求:告诉 AI 程序员在生成代码修改建议时,你期望它遵循的要求,比如语言、规范、格式、变更目标等,如“生成变更时,同时为每个方法生成英文注释”;
- 善用快照功能:当 AI 生成内容不符合预期,或你的需求有变化时,可以通过快照功能回退到之前的对话轮次和代码变更,继续重新提问;
- 审查和修改变更:AI 程序员完成多个文件的代码变更后,开发者可以通过变更对比查看视图(Diff View)进行审查,以及对局部代码片段进行接受、拒绝、修改,保证最后得到符合预期的代码变更。
我们来看,灵码有两个主要功能分类,一个是“智能问答”、另一个“AI程序员”。
他们最大的区别在于,一个是长了手,一个没长手。.
我们放下这个区别,继续往下一起体验一下就非常清楚了。
我们先来看,相对基础的,大家比较熟悉的:
智能问答模式
自由问答
当你编码遇到问题,缺乏具体解决思路时,可单击侧边工具导航打开通义灵码智能问答助手,无需离开 IDE 客户端,即可快速获得答案和解决思路。
代码问答
当你对某段代码有疑问或期望针对代码进行一些问题解决时,选中代码后,在智能问答窗口的输入框中输入你的问题,通义灵码将围绕选中代码与你开展对话。
@workspace 本地工程问答
当你需要快速了解一个工程、查找工程内的实现逻辑,或有新的诉求需要进行代码变更时,可以在智能问答窗口中通过 @
可唤起 @workspace
,选中后输入你的问题或诉求,通义灵码可快速结合当前仓库进行工程理解、代码查询、代码问答等,同时可以通过自然语言描述需求,结合当前工程生成简单需求或缺陷的整体修改建议和相关建议代码。
简单来说,就是当你的问题是关于某几个文件里边的内容时,你就可以直接@文件,就像是你问谁问题要@谁一样。明确的告诉模型,你要做什么。
@terminal 问答
当你遇到执行指令不知道如何写,或者不清楚某个指令的意思时,可以在智能问答窗口中通过 @
可唤起 @terminal
,选择后使用自然语言描述你的需要指令诉求,通义灵码将可以生成你需要的命令。生成指令后,你可以一键插入到 terminal 中进行执行或让通义灵码继续解释。当然,你也可以在选择 @terminal
后,输入指令让通义灵码生成指令解释。
🌟 AI 程序员功能
通义灵码 AI 程序员,具备多文件代码修改(Multi-file Edit)和工具使用(Tool-use)的能力,可以与开发者协同完成编码任务,如需求实现、问题解决、单元测试用例生成、批量代码修改等。
我们来直接操作一下,会发现,这里有一个“工作区域”在等待我们的确认,点击接受后,就可以看到他在自动生成文件。
我们来一个一个看下AI程序员支持的功能。
需求描述输入(User Input)
打开 AI 程序员后,即可看到需求输入区域,在输入框内单击 ➕ 或者输入#
即可选择需要的相关上下文。输入完成后发送即可,AI 程序员将根据需求描述自动进行需求理解、相关信息检索、任务拆解、编码实现等。
多文件代码修改(Multi-file Edit)
变更文件生成过程
当 AI 程序员对工程内多个代码文件进行修改时,每一个文件的修改将至少经历生成、应用的过程,生成代码变更的过程中,可在 AI 程序员的回答卡片中和工作区中看到相关的变更文件,以及相应的状态:
- 生成中(Generating):根据任务拆解的修改计划生成对各个文件的代码片段修改建议的过程;
- 应用中(Applying):某文件的代码片段修改建议生成完成后,将自动结合原文件内容和代码片段修改建议,生成相关代码变更文件(非原文件);
- 应用完成(Applied): 代码变更文件生成完成。
回答卡片中的文件或工作区的文件在生成中、应用中的状态时,单击对应文件,即可看到对应文件的代码修改建议生成过程、代码变更文件与原文件变更对比(Diff)生成过程。
AI 程序员完成的代码变更文件将聚合在工作区,方便开发者进行查看和操作。
审查、接受、拒绝代码变更
单击工作区的查看变更按钮或单击文件列表中的某文件,即可看到对应文件的变更对比查看视图(Diff View),开发者在此视图中可以进行如下操作:
- 单击上下键进行切换查看当前文件的多个变更点;
- 单击某变更点上的拒绝、采纳按钮进行决策操作;
- 单击文件级操作区的前后键进行多个变更文件的查看;
- 单击文件级操作区的拒绝、采纳按钮进行决策操作;
- 局部修改当前变更文件。
多轮对话及变更快照(Multi-turns & Snapshot)
进行多轮次需求对话
当进行了一轮对话并生成代码变更文件后,如需继续补充需求或者修改需求,可在当前任务的会话流中继续提问,AI 程序员将结合前序轮次生成的代码变更分析补充的需求,并生成新的代码修改建议,产生一个或多个新的代码变更文件。
快照查看和变更回退
当需要查看或回退到前序轮次的修改时,可单击下拉箭头查看当前会话任务中产生的多次代码变更快照,选择后,可以看到相关信息变化或进行切换操作:
- 会话流中自动定位到产生该快照代码变更文件的回答卡片;
- 快照下方文件列表自动切换到所选快照下的代码变更文件,单击后可查看代码变更内容;
- 单击“切换”按钮,将当前代码变更回退到所选快照的代码变更状态。
单元测试生成(UnitTest Agent)
单元测试智能体是 AI 程序员所具备的一种专项能力,可以针对代码变更(#codeChanges)、单个或多个代码文件批量生成单元测试文件。开发者输入被测内容、生成要求,AI 程序员即可自动生成测试计划、测试用例、编译、运行以及根据错误信息进行自动修复,大幅提升测试用例覆盖度和用例的生成质量,降低开发者编写单元测试用例的成本。
选择被测代码并输入测试要求
打开 AI 程序员后,在输入框内单击 ➕ 或者输入#
即可选择需要的相关上下文,并输入相关的指令要求(建议输入和生成单元测试相关要求的内容),输入完成后发送即可,AI 程序员会自动感知意图,开始进入生成单元测试的流程。
查看会话历史
如果需要回顾历史的会话任务,可单击会话历史按钮。你与 AI 程序员的会话均有 @AI Developer
标签,单击后即可查看相关对话过程。