國産 AI 已經學會直接操縱編程軟件了!
阿裏通義智能計算實驗室在推出了一款專門針對 VSCode 的 AI 助手工具——SmartVscode。
通過自然語言指令,不僅可以讓它幫你編程,還能搞定各種配置的控制和修改。
目前,該插件和背後的框架均已開源,并上架 VS Code 擴展市場。
大模型玩轉 VS Code
SmartVscode 的目标,是讓大模型能夠全面控制 VS Code,主要具備兩大核心能力。
用自然語言輕松控制 VS Code
用戶可以通過自然語言指令,方便地控制和修改 VS Code。
例如,打開某個難以查找的頁面,精準快速地調整設置中的某項配置等。
無需記憶複雜的操作步驟,隻需告訴 SmartVscode 你想做什麽,它便會爲你完成。
比如用戶輸入想要更改的樣式,SmartVscode 會自動地完成查找配置,修改配置等步驟。
或者想要使用 Python 編寫快速排序代碼,SmartVscode 将會幫助我們自動化地完成一系列工作:檢測 Python 的插件是否安裝,選擇對應的 Python 解釋器,打開文件書寫快排代碼,執行對應的代碼等步驟。
用 VS Code 開發應用程序
SmartVscode 不僅讓大模型全面控制 VS Code,還可以 VS Code 内部豐富功能開發各類應用程序的能力。
簡而言之,大模型充當 " 大腦 ",VS Code 作爲 " 工具 ",而 SmartVscode 則是連接二者的橋梁。
用戶可以通過自然語言的描述,讓大模型借助 VS Code 這一強大工具來幫助用戶直接實現各種奇思妙想的應用程序。
比如用戶輸入一段關于井字棋遊戲的描述,SmartVscode 會自動完成創建文件,編寫代碼,執行程序等步驟。
如何使用 SmartVscode 插件
這款 SmartVscode 插件使用起來也十分簡單,隻需要三個步驟:
打開 VSCode 左側邊欄中的 SmartVscode 對話窗口,并在設置中輸入通義模型或 OpenAI 模型配置;
在對話框中輸入任務描述,等待 SmartVscode 執行并展示結果。
背後框架一同開源
SmartVscode 的背後,是通義智能計算實驗室自主研發的 App-Controller 框架。
App-Controller 是一個基于大模型和智能體(Agent)的創新 API 編排框架,通過運用大模型的高級推理功能,實現對應用程序 API 接口的整合與協調。
它允許應用程序響應和執行基于自然語言的指令,極大提升了用戶體驗,并簡化了應用程序與用戶的交互流程。
下圖展示了 App-Controller 如何增強應用程序的交互能力,左半部分描述了傳統完成任務的問答和執行流程,右半部分展示了引入 App-Controller 後的完成任務的流程。
傳統流程中,當用戶需要在應用程序中完成某項任務卻不知道該如何操作時,首先需要向大模型咨詢操作步驟,然後根據指引一步步執行對應的操作,最終完成任務;
引入 App-Controller 後的流程中,用戶僅需使用自然語言向應用程序輸入需求,便可得到執行結果。
這背後的原理是應用程序在 App-Controller 的協助下借助大模型理解用戶意圖并編排需要執行的命令。
任何應用程序廠商僅需在 App 上實現通信接口并且向 App-Controller 提交其支持的 API 清單,框架便能獨立地探索并識别出完成用戶指令所需的最佳 API 調用順序。
此外,它還搭載了一個高度抽象化、極具彈性的 HTTP 交互接口,進一步促進了應用程序的互聯互通。
App-Controller 具有如下這些特點:
智能 API 序列編排:智能地将用戶輸入的自然語言命令轉化爲可用的應用程序 API 序列,隻需按部就班的執行這些 API 就能完成用戶的需求。
輕松集成:開發者隻需注冊其應用程序的 API 清單,App-Controller 會自動負責後續的識别和編排工作,無需複雜編碼工作。
異步與并發處理:通過采用現代異步技術,App-Controller 強化了其對并發請求的支持,确保即使在多用戶或多任務的高負載環境下,應用程序也能保持高效和響應迅速。
強大的 API 交互接口:App-Controller 設計了一套用戶友好、穩固的 HTTP API 接口,這意味着與應用程序的交互可以無縫自由,同時确保數據傳輸的高效率和安全性。
支持多種大模型:App-Controller 能夠很好地與多種大型語言模型進行集成,這意味着開發者可以根據需求和場景選擇最适合的模型,以實現最優的自然語言理解和處理能力。
豐富的文檔資源:App-Controller 提供了詳盡的文檔,其中包括快速入門指南、API 參考手冊、最佳實踐案例和常見問題解答,幫助開發者輕松上手并充分利用框架的所有功能。
任務流的持久化:任務流程可以持久存儲在數據庫中,這項功能方便了任務的監控和管理,使得開發者可以随時查看任務的狀态和曆史記錄。
智能緩存機制:通過先進的緩存技術,App-Controller 能夠優化性能和響應速度。它智能地存儲頻繁請求的結果,減少了對外部大模型的調用次數(即将推出)。
Token 優化:App-Controller 的優化算法能夠智能的評估消息的可用性,降低 token 的使用量,減少因 API 調用導緻的開銷(即将推出)。
從技術模塊上看,App-Controller 項目擁有以下五大核心功能:
用戶協同操作:用戶可以根據 App-Controller 生成的任務規劃進行決策和修訂;
文檔分析增強:通過整合應用程序說明文檔和可用 API 文檔,提升任務分析的深度和準确性;
智能信息收集:系統能夠迅速搜索并彙總用戶在完成任務時所需的相關信息;
智能 API 序列編排:根據用戶的具體任務要求,快速編排可用的 API 調用序列,提升工作效率;
異步與并發處理模塊:通過采用 asyncio 框架,App-Controller 增強了對并發請求的處理能力,确保在多用戶或多任務的高負載環境中,應用程序依然能夠保持高效響應。
文檔分析增強模塊
文檔分析增強模塊在離線階段發揮關鍵作用,幫助大模型更好地理解和利用應用程序的說明文檔和可用 API 文檔,提升任務執行的準确性和效率。
App-Controller 允許用戶上傳兩類關鍵内容,以輔助大模型完成任務:
應用程序說明文檔:詳盡描述了應用程序的結構,基礎定義,以及如何操作應用程序來完成各項任務,支持多種文本格式(如 TXT、JSON 等),确保信息的多樣性和可讀性。
可用 API 文檔:列出應用程序所有可被 App-Controller 調用的 API,并提供詳細的 API 功能描述和參數信息,以便大模型精準調用。
爲确保大模型能夠準确理解每個 API 的功能和使用方法,系統規定了 API 信息的必需字段,包括名稱、詳細描述、參數類型、參數描述及必需參數等。
爲提升檢索速度和精度,系統預先将用戶上傳的應用程序的說明文檔和可用 API 文檔進行分片處理。
每個知識片段通過先進的文本向量模型(如通義文本向量模型等)将文本内容轉化爲高維向量,捕捉深層語義信息。
最後基于這些向量構建高效索引的結構,實現快速相似性檢索。
利用高效的向量索引結構,系統能夠在大規模知識庫中快速定位與用戶任務相關的知識片段和可用 API 文檔,顯著提升信息檢索的響應速度和準确性。
智能信息收集模塊
智能信息收集模塊在用戶輸入具體任務後立即啓動,負責全面搜集執行任務所需的所有相關信息。該模塊的具體功能和流程如下:
需求向量化:首先,用戶輸入的任務需求通過先進的文本向量模型進行處理,将自然語言描述轉化爲高維語義向量。這一步驟确保 App-Controller 能夠理解任務的潛在意圖和細節。
知識片段檢索:基于生成的文本向量,App-Controller 在預先構建的文檔知識庫中檢索與任務相關的知識内容。這些内容包括功能相關定義、任務操作步驟等信息
API 探索與确認:系統利用智能代理(Agent),通過關鍵詞生成和最相似 API 檢索策略,初步識别出與任務相關的 API。随後,系統借助大模型的分析識别能力,通過多輪循環機制,逐步确認和篩選出最合适的 API,以确保任務執行的精準性和高效性。
應用環境信息查詢:根據任務需求,系統調用相關的應用環境信息搜集 API,查詢并獲取必要的應用環境參數,如系統配置、用戶權限、網絡狀态等。這些信息對于任務的規劃執行至關重要。
信息整合與提交:完成所有信息的搜集後,智能信息收集模塊将整合後的數據提交至智能 API 序列編排模塊,爲後續的任務規劃和執行提供全面的基礎支持。
智能 API 序列編排模塊
智能 API 序列編排模塊負責根據收集到的信息,規劃并優化執行任務的 API 調用順序,确保任務高效、準确地完成。
具體來說,該模塊支持以下功能:
計劃制定:App-Cpntroller 利用智能代理(Agent)結合智能信息收集模塊提供的知識片段、可用 API 以及曆史相似任務的執行流程,制定出初步的任務執行計劃。該計劃詳細列出了每一步需要調用的 API 及其參數配置。
用戶評審與反饋:初步計劃生成後,系統将其提交給用戶進行評審。用戶可以根據實際需求提出修改意見,确保計劃的可行性和符合預期目标。
計劃叠代優化:根據用戶的反饋意見,系統對計劃進行修訂和優化。這一過程可能涉及多輪叠代,直到用戶對最終計劃表示認可。
任務執行:确認後的計劃逐步執行,系統按照預定的 API 調用順序依次完成各項任務。每一步的執行結果都會實時反饋,确保整個過程的透明性和可控性。
反饋調整機制:在任務執行過程中,系統會根據實時反饋信息,動态調整後續的 API 調用計劃。如果遇到異常情況,系統能夠及時修訂計劃,确保任務順利完成或安全終止。
能力局限與持續改進
盡管 AppController 在智能控制和多應用擴展方面展現出強大的潛力,但通義智能計算實驗室團隊也指出了當前存在的幾項能力局限:
首先是大模型推理能力的限制。
受限于當前大語言模型的推理能力,SmartVscode 在處理某些複雜或細緻的任務時可能會出現錯誤。
這些錯誤包括誤解用戶指令、執行不準确的操作等。
研究團隊正在持續優化模型的訓練和指令解析算法,以減少錯誤發生的頻率,并提升操作的準确性。
第二是模型推理速度。
目前,模型的推理速度有時無法滿足實時操作的需求,導緻用戶在執行任務時可能會體驗到一定的延遲。爲了解決這一問題。
研究團隊正在優化模型的響應速度,通過更高效的算法和更強大的緩存機制,力求在未來版本中實現更快速的推理與響應。
最後,是對 VS Code 功能的支持還存在局限。
目前,SmartVscode 已經基本覆蓋了 VS Code 的常用基礎功能,但對于一些複雜或高級的功能支持仍處于開發中階段。
通義智能計算實驗室團隊正在積極擴展對 VS Code 更多複雜功能的支持,确保用戶能夠全面利用 SmartVscode 提升開發效率。
項目地址
App-Controller:
https://github.com/alibaba/app-controller
Smart-Vscode 插件:
https://github.com/alibaba/smart-vscode-extension
— 完 —
投稿請發郵件到:
标題注明【投稿】,告訴我們:
你是誰,從哪來,投稿内容
附上論文 / 項目主頁鏈接,以及聯系方式哦
我們會(盡量)及時回複你
點這裏關注我,記得标星哦~
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~
>