阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
简介: SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller

近日,阿里通义智能计算实验室在Visual Studio Code扩展市场推出了一款全新的AI助手工具——SmartVscode。凭借实验室自主研发的应用程序智能控制框架App-Controller,SmartVscode 实现了“通过自然语言直接控制VS Code”的创新功能,极大地优化了用户在使用VS Code时的交互体验,并显著提升了开发效率。目前 SmartVscode的核心技术均已开源。

App-Controller开源地址:

https://github.com/alibaba/app-controller

smart-vscode-extension开源地址:

https://github.com/alibaba/smart-vscode-extension


01SmartVscode的开发背景

Visual Studio Code(VS Code)是一款功能强大的开源代码编辑器,以其高度的扩展性和友好的使用体验而广受欢迎,现已跻身全球前三大最受欢迎的开发工具之列,成为无数程序员的必备利器。然而,随着VS Code功能的日益丰富及其独特的使用技巧,许多新手程序员需要花费大量时间阅读说明文档才能熟练掌握VS Code。即便是经验丰富的老用户,有时候也需频繁查阅资料才能实现对应的功能。例如,当用户想快速运行一个简单的Python程序时,他必须先花费许多时间了解如何在VS Code中安装对应的Python插件,如何配置相关的启动项等知识。


随着大模型的迅速发展,传统搜索引擎的地位逐渐被边缘化,取而代之的是通过向大模型提问来获得对应解决方案的便捷方式。如今,许多程序员已经习惯通过与大模型互动来了解如何高效使用VS Code。

640.gif

用户们不断向大模型询问操作方法,并按照指导一步步完成指定任务。然而,在享受这份便捷的同时,一个新的想法浮现:既然大模型能够教开发者们如何操作VS Code,为什么不进一步,让它直接帮助开发者们完成相应的需求呢?

于是,SmartVscode应运而生。


02SmartVscode能做什么

SmartVscode的目标是让大模型能够全面控制VS Code,从而带来两大核心能力。

能力一:通过自然语言轻松控制VS Code

用户可以通过自然语言指令,方便地控制和修改VS Code。例如,打开某个难以查找的页面,精准快速地调整设置中的某项配置等。无需记忆复杂的操作步骤,只需告诉SmartVscode你想做什么,它便会为你完成。

下面,将展示这一项能力的几个典型示例:

样式更改

用户输入想要更改的样式,SmartVscode会自动地完成查找配置,修改配置等步骤。

0bc3a4aa2aaamuakzabvxrtvab6dbudqadia.f10002.gif 使用Python编写快速排序代码

在这里,SmartVscode将会帮助自动化地完成:检测Python的插件是否安装,选择对应的Python解释器,打开文件书写快排代码,执行对应的代码等步骤。

能力二:利用VS Code的强大功能开发应用程序

SmartVscode不仅让大模型全面控制VS Code,还赋予用户利用VS Code内部丰富功能开发各类应用程序的能力。简而言之,大模型充当“大脑”,VS Code作为“工具”,而SmartVscode则是连接二者的桥梁。用户可以通过自然语言的描述,让大模型借助VS Code这一强大工具来帮助用户直接实现各种奇思妙想的应用程序。典型示例:

井字棋游戏开发

用户输入一段关于井字棋游戏的描述,SmartVscode会自动完成创建文件,编写代码,执行程序等步骤。

0b2ejiabsaaawmalgdzvb5tvaswddffaagia.f10002.gif

03如何使用SmartVscode插件

  1. 在VS Code扩展市场搜索并下载SmartVscode插件。
  2. 打开VSCode左侧边栏中的SmartVscode对话窗口,并在设置中输入你的通义模型或OpenAI模型配置。
  3. 在对话框中输入你的任务描述,等待SmartVscode执行并展示结果。

04SmartVscode背后的技术支持:App-Controller

SmartVscode的实现离不开通义智能计算实验室自主研发的App-Controller框架的支持!

把目光放在更远处!不仅仅是VS Code,在日常的工作和学习中,大模型如同无所不知的导师,为我们对各类工具(例如Word、Photoshop等)的问题进行答疑。例如“如何强制删除空白页”或“如何在Photoshop移除图片背景”的具体实践问题。

然而,在享受这份便利的同时,一个念头跃然而出:既然大模型能够教导我们操作方法,为何不能跨越界限,直接执行这些任务呢?考虑到大模型卓越的推理与学习能力,构建一座桥梁,让它们直接与工具对接,化身为“工具指挥官”,岂不是更为高效?与其耗费时间逐一研读各类工具的繁琐手册,不如让大模型作为中介,实现操作的自动化,为用户节省宝贵的时间和精力。

试想这样一个未来场景:基于大模型,这些智能的AI助手,不仅能够指点迷津,揭示解决方案,更能无缝融入工作流程,直接操控各种应用程序,完成一系列复杂任务。这将彻底改变人机交互的模式,开启一个既高效又直观的全新交互时代。在这样的未来里,技术的边界被重新定义,人类与人工智能的合作将达到前所未有的深度与广度,共同探索未知,创造无限可能。



05什么是App-Controller?

App-Controller宛如一根神奇的指挥棒,赋予应用程序理解并执行自然语言命令的能力,瞬间缩短用户意图与复杂功能实现之间的距离。它是一个基于大型语言模型(LLM)和代理(Agent)的创新API编排框架,通过运用LLM的高级推理功能,实现对应用程序API接口的整合与协调。



  • App-Controller允许应用程序响应和执行基于自然语言的指令,极大提升了用户体验,并简化了应用程序与用户的交互流程。 image.png

上图展示了 App-Controller 如何增强应用程序的交互能力。具体而言,图片分为两部分,左半部分描述了传统完成任务的问答和执行流程,右半部分展示了引入App-Controller后的完成任务的流程。

传统流程中,当用户需要在应用程序中完成某项任务却不知道该如何操作时,他首先需要向大模型咨询操作步骤,然后根据指引一步步执行对应的操作,最终完成任务。

引入 App-Controller 后的流程中,用户仅需使用自然语言向应用程序输入需求,便可得到执行结果。这背后的原理是应用程序在 App-Controller 的协助下借助大模型理解用户意图并编排需要执行的命令。

  • 任何应用程序厂商仅需在 App 上实现通信接口并且向 App-Controller 提交其支持的 API 清单,框架便能独立地探索并识别出完成用户指令所需的最佳 API 调用顺序。


App-Controller 的核心竞争力在于其高度自动化的 API 编排逻辑以及易用的数据交互模式,这些都大幅降低了应用开发商在引入智能化过程中遇到的复杂性和开发周期,加快了应用程序功能的扩展与精进。此外,它还搭载了一个高度抽象化、极具弹性的 HTTP 交互接口,进一步促进了应用程序的互联互通。最终,App-Controller 的愿景是为用户和开发者带来一种更加自然、直觉化且效率高的操作模式,赋予应用程序以无与伦比的适应力,以满足用户各种多样化的需求。


  • 🔥 增强易用性:允许用户可通过简单的自然语言命令来直接控制你的应用程序,无需学习复杂的界面或命令集,即可使用提供的服务或内容。


  • 🛠️ 轻松集成:开发者只需注册其应用程序的 API 清单,App-Controller 会自动负责后续的识别和编排工作,无需复杂编码工作。


  • 🚀 异步与并发处理:通过采用现代异步技术,App-Controller 强化了其对并发请求的支持,确保即使在多用户或多任务的高负载环境下,应用程序也能保持高效和响应迅速。


  • 🌐 强大的 API 交互接口:App-Controller 设计了一套用户友好、稳固的 HTTP API 接口,这意味着与应用程序的交互可以无缝自由,同时确保数据传输的高效率和安全性。


  • 🤖 支持多种大型语言模型:App-Controller 能够很好地与多种大型语言模型进行集成,这意味着开发者可以根据需求和场景选择最适合的模型,以实现最优的自然语言理解和处理能力。


  • 📚 丰富的文档资源:App-Controller 提供了详尽的文档,其中包括快速入门指南、API参考手册、最佳实践案例和常见问题解答,帮助开发者轻松上手并充分利用框架的所有功能。


  • 💾 任务流的持久化:任务流程可以持久存储在数据库中,这项功能方便了任务的监控和管理,使得开发者可以随时查看任务的状态和历史记录。


  • 🛢️ 智能缓存机制:通过先进的缓存技术,App-Controller 能够优化性能和响应速度。它智能地存储频繁请求的结果,减少了对外部大模型的调用次数(即将推出)。
  • 🌟 Token优化:App-Controller 的优化算法能够智能的评估消息的可用性,降低令牌(token)的使用量,减少因API调用导致的开销(即将推出)。


06为何我们需要App-Controller?


面对大模型直接执行用户需求的这一前沿趋势,面临着一系列亟待解决的挑战:


  • 🔬 任务的精妙编排:如何确保大模型不仅能够深刻理解用户的真正需求,还能精准无误地调度各类工具和功能,协同完成复杂的任务序列?


  • 🧪  垂域的精准适配:每个应用程序都有其独一无二的领域特性与需求,如何在保持大模型广泛适用性的同时,实现针对特定领域的微妙调整与优化?


  • 🔎 效率与精度的双重考验:在追求任务执行的高准确率之余,如何平衡资源利用,确保整个过程既高效又不失准度,是提升用户体验的关键所在。


鉴于上述普遍存在的挑战,构建一个统一的基础架构,而非依赖各个应用程序厂商独立解决显得尤为重要。App-Controller这一框架旨在为所有应用程序提供一个标准化、高效的接入层,使之能无缝整合自然语言处理能力。它不仅显著减轻开发者在集成自然语言控制功能上的负担,还通过标准化接口和预先优化的模块,也极大提升了终端用户的互动体验,标志着向更智能、更流畅的人机交互模式迈出的重要一步。


07开放讨论:探讨多种技术路线的优劣


在智能化应用控制领域,技术路线的选择至关重要。可以从输入类型和输出类型两个维度对这些技术路线进行分类,并分别分析它们的优势和面临的挑战。

分类

类型

优势

挑战

输入类型

纯视觉输入

跨应用能力强,避免应用程序端主动集成。

更加适应多样化的使用场景。

需要昂贵的视觉模型,增加硬件和计算成本。

视觉模型的逻辑推理能力弱,难以处理复杂指令。

输入类型

纯文本输入

实现成本相对较低,文本处理技术成熟。

更适用于与环境交互较少的任务。

需要应用程序进行深度集成

丰富上下文场景下模型开销增大

输入类型

视觉+文本输入

兼具视觉和文本的优点,提升交互的灵活性和准确性。

输入信息更为全面。

需要应用程序协助集成。

同时处理视觉和文本数据,系统复杂性增加。

输出类型

原子API(例如键鼠API)

避免应用程序端主动集成,能够快速扩展到多个应用程序中。

实现简单,适应性强。

对模型探索与试验能力要求高,难以处理深层次操作。

受限于原始应用程序框架,任务完成需要更多的步骤。

输出类型

原子API+扩展性API

集成复杂API后,模型能够实现更加快速、一键直达的操作体验。

更容易实现深层次操作。

需要应用程序端进行API集成,开发成本高,初期适配工作量大。

集成API需保持更新和维护。

综上所述,对于具备丰富功能和足够规模的应用程序而言,尽管集成复杂API需要较高的初期投入,但它能够显著提升用户体验,实现更高效和直观的操作。因此,选择原子操作结合扩展性API的技术路线,是追求卓越用户体验和高效操作的理想选择。


08能力局限语持续改进

尽管AppController在智能控制和多应用扩展方面展现出强大的潜力,但也必须正视当前存在的几项能力局限:


大模型推理能力的限制:

受限于当前大语言模型的推理能力,SmartVscode在处理某些复杂或细致的任务时可能会出现错误。这些错误包括误解用户指令、执行不准确的操作等。研究团队正在持续优化模型的训练和指令解析算法,以减少错误发生的频率,并提升操作的准确性。


模型推理速度:

目前,模型的推理速度有时无法满足实时操作的需求,导致用户在执行任务时可能会体验到一定的延迟。为了解决这一问题,研究团队正在优化模型的响应速度,通过更高效的算法和更强大的缓存机制,力求在未来版本中实现更快速的推理与响应。


VS Code功能支持的有限性:

目前,SmartVscode已经基本覆盖了VS Code的常用基础功能,然而,对于一些复杂或高级的功能支持仍在开发中。研究团队深知开发者对高级功能的需求,并正在积极扩展对VS Code更多复杂功能的支持,确保用户能够全面利用SmartVscode提升开发效率。


尽管存在上述局限,研究团队始终坚持持续改进和创新,正在不断探索和优化,致力于克服当前的挑战,提升整体性能和用户体验。未来,研究团队将通过定期更新和迭代,逐步解决这些问题,确保SmartVscode成为VS Code开发者不可或缺的智能助手。


09欢迎关注


如果你对SmartVscode项目感兴趣,欢迎访问开源地址并进行加星star,里面提供了更加详细的文档介绍!


App-Controller开源地址:

https://github.com/alibaba/app-controller


smart-vscode-extension开源地址:

https://github.com/alibaba/smart-vscode-extension



相关文章
|
27天前
|
测试技术
通义千问团队开源全新的过程奖励模型PRM!
近年来,大型语言模型(LLMs)在数学推理方面取得了显著进展,但它们仍可能在过程中犯错误,如计算错误或逻辑错误,导致得出不正确的结论;即使最终答案正确,这些强大的模型也可能编造看似合理的推理步骤,这削弱了 LLMs 推理过程的可靠性和可信度。
|
17天前
|
人工智能 编解码 JSON
Qwen2.5-VL:阿里通义千问最新开源视觉语言模型,能够理解超过1小时的长视频
Qwen2.5-VL 是阿里通义千问团队开源的视觉语言模型,具有3B、7B和72B三种不同规模,能够识别常见物体、分析图像中的文本、图表等元素,并具备作为视觉Agent的能力。
288 18
Qwen2.5-VL:阿里通义千问最新开源视觉语言模型,能够理解超过1小时的长视频
|
1月前
|
人工智能 前端开发 程序员
通义灵码 AI 程序员全面上线,能和人类协作完成复杂开发任务
1 月 8 日消息,阿里云通义灵码 AI 程序员已全面上线,成为全球首个同时支持 VS Code、JetBrains IDEs 开发工具的 AI 程序员产品。此次上线的 AI 程序员相比传统 AI 辅助编程工具,能力更全面,可以让开发者以更高效、更沉浸的方式完成编码任务,通过全程对话协作的方式,就能完成从 0 到 1 的业务需求开发、问题修复、单元测试批量生成等复杂编码任务。
353 65
|
2天前
|
人工智能 测试技术 数据处理
通义灵码 2.0 体验报告:Deepseek 加持下的 Python 开发之旅
通义灵码 2.0 体验报告:Deepseek 加持下的 Python 开发之旅
34 11
|
25天前
|
存储 人工智能 自然语言处理
OmniThink:浙大联合阿里通义开源 AI 写作框架,基于深度思考扩展知识边界,实时展示思考过程
OmniThink 是浙江大学与阿里通义实验室联合开发的机器写作框架,通过模拟人类迭代扩展和反思过程,生成高质量长篇文章,显著提升知识密度和内容深度。
157 12
OmniThink:浙大联合阿里通义开源 AI 写作框架,基于深度思考扩展知识边界,实时展示思考过程
|
2天前
|
人工智能 自然语言处理 安全
通义灵码插件下载量破千万!感谢大家的喜爱
通义灵码插件下载量突破1000万,只是一个新的起点。随着大模型技术的不断发展和完善,通义灵码也将持续进化和升级,倾听开发者的反馈和需求,为开发者提供更加强大、智能、便捷的编程工具。
|
4天前
|
人工智能 小程序 程序员
【视频测评 DEMO 参考】VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
89 7
|
4天前
|
存储 人工智能 自然语言处理
ACE++:输入想法就能完成图像创作和编辑!阿里通义推出新版自然语言驱动的图像生成与编辑工具
ACE++ 是阿里巴巴通义实验室推出的升级版图像生成与编辑工具,支持多种任务,如高质量人物肖像生成、主题一致性保持和局部图像编辑。
39 8
|
2天前
|
人工智能 自然语言处理 PyTorch
InspireMusic:阿里通义实验室开源的音乐生成模型,支持文本或音频生成多种风格的音乐
阿里通义实验室开源的音乐生成技术,支持通过简单描述快速生成多种风格的高质量音乐作品。
131 4
|
2月前
|
人工智能 开发框架 算法
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力
Qwen-Agent 是阿里通义开源的一个基于 Qwen 模型的 Agent 应用开发框架,支持指令遵循、工具使用、规划和记忆能力,适用于构建复杂的智能代理应用。
615 10
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力

热门文章

最新文章

相关产品

  • 自然语言处理