精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenDevin自動化代碼生成工具評述

發布于 2024-5-31 16:23
瀏覽
0收藏

1.概念

    OpenDevin整個系統分為前端和后端兩個主要部分。前端負責處理用戶交互和顯示結果,而后端負責處理業務邏輯和執行 AI Agent。在計算機科學和人工智能領域,"智能體"(Agent)一詞通常用來指代那些在特定環境中展示出自治性、反應性、社交性、主動性、推理性以及認知性等智能特性的軟件或硬件實體。AI智能體是一個具備復雜推理、記憶和任務執行能力的高級系統。

2.OpenDevin核心組件

AgentHub

    OpenDevin是一個集成了多種智能體(Agent)實現的平臺,包括monologue_agent、codeact_agent、planner_agent、SWE_agent、delegator_agent和dummy_agent等。用戶可以根據自己的需求,自由選擇使用其中任何一個智能體。每個智能體都被設計成一個循環流程,通過調用agent.step()方法,在每次迭代中接收當前狀態(State)作為輸入,并輸出相應的動作(Actions)來執行操作或命令。執行動作后,智能體可能會接收到一些觀察(Observations)結果。在實現智能體的過程中,每個智能體類都需要實現step和search_memory這兩個方法。step方法用于執行指令,而search_memory方法則用于從智能體的記憶中查詢信息。此外,OpenDevin還提供了一些輔助方法,如reset(重置智能體狀態)、register(注冊智能體)、get_cls(獲取智能體類)、list_agents(列出所有智能體)等,這些方法可以幫助用戶更好地管理和維護智能體的狀態以及注冊信息。

狀態 (State)

狀態對象是智能體執行任務時所依賴的重要信息的集合體。它主要包括以下三個方面的內容:

  1. 智能體采取的動作的歷史記錄以及這些動作產生的觀察結果。這些觀察結果可能包括文件的內容、命令的輸出等信息。
  2. 自智能體執行最近一步動作以來,所發生的一系列動作和觀察結果的軌跡。這些信息有助于智能體追蹤和分析任務的執行過程。
  3. 一個計劃(plan)對象,它包含了智能體的主要目標。智能體可以通過AddTaskAction和ModifyTaskAction這兩個操作來添加和修改子任務,從而更好地實現其主要目標。

動作 (Actions)

Agent 有一系列可以執行的動作列表,其中一些包括:

  • CmdRunAction:在沙盒化的終端中運行命令。
  • FileReadAction:讀取文件內容。
  • ModifyTaskAction:更改子任務的狀態。
  • AgentThinkAction:允許 Agent 添加純文本到歷史記錄中的無操作。
  • AgentFinishAction:停止控制循環,允許用戶輸入新任務。

觀察 (Observations)

Agent 在執行動作后可能接收到的觀察結果列表如下:

  • CmdOutputObservation:命令執行輸出。
  • BrowserOutputObservation:瀏覽 URL 后的輸出。
  • FileReadObservation:文件讀取操作的輸出。
  • AgentRecallObservation:Agent 回憶操作的輸出。
  • AgentErrorObservation:Agent 執行操作時發生錯誤的輸出。

前后端布局如下:

OpenDevin自動化代碼生成工具評述-AI.x社區

OpenDevin自動化代碼生成工具評述-AI.x社區

3.OpenDevin的能力

OpenDevin支持多種Agent智能體的選擇。以CodeActAgent為例,它是一個開源的語言模型(LLM),它具有對文本操作進行顯式優化的能力。它使用可執行的Python代碼來將LLM代理的動作統一到一個統一的操作空間中,稱為CodeAct。借助Python解釋器,CodeAct可以執行代碼操作,并通過多輪交互動態修改之前的操作或根據新的觀察發出新的操作。CodeActAgent框架可以根據現有的若干Action-Observation對的軌跡預測下一步需要執行什么Action,遵循業界流行的ReAct反思框架。ReAct的提示模版一般包含這些內容的多次重復:

Thought: ...
Action: ...
Observation: ...
... (Repeat many times)

CodeAct的思想是: 由LLM生成的代碼和用戶發起的消息構成Action,在環境中運行代碼就視為執行了這個 Action,擴大了 Agent 的 action space,用更少的交互次數完成更多的任務。在CodeAct的架構中,Agent接收來自User和Environment的消息,互相之間進行消息通信。同時使用CoT(Chain of Thoughts)思維樹將任務進行切分,直接將執行結果轉為自然語言總結。Agent會向 Environment 發出 Action,生成代碼并執行;向 User 發送 Action 的生成自然語言回復。User會向Agent發送自然語言的請求或者反饋,同時接收 Agent 的 Action 的生成自然語言回復。而Environment會向 Agent 發送 Action 的執行結果,因為他可以通過bash 命令行或 Python 解釋器執行 Action 生成的代碼。以下是CodeAct框架的原理圖:

OpenDevin自動化代碼生成工具評述-AI.x社區

OpenDevin自動化代碼生成工具評述-AI.x社區

 SWE-Agent是另一種有效的代碼生成智能體。它不僅支持簡單的代碼生成任務,還支持軟件維護(例如錯誤修復)和軟件演化(如功能添加)等更為復雜的程序改進任務。其精心定制的 ACI(Agent-Computer Interface) 極大地增強了 Agent 創建和編輯代碼文件、瀏覽完整代碼庫以及執行程序的能力。SWE-agent的核心功能包括:搜索與導航、文件查看器、文件編輯器以及上下文管理。

 SWE-agent 通過搜索與導航,能夠簡潔地列出所有包含搜索字符串的文件名,減少混淆。導航代碼庫需要找到適合當前任務的文件和內容。常見策略是查找可能有用的術語,如問題中提到的文件、函數或類定義。SWE-agent 引入了特殊命令 find file、search file 和 search dir,當搜索文件名或文件/目錄中的字符串時,這些命令會輸出搜索結果的摘要

 當搜索到想查看的文件后,可以通過調用 open 命令打開路徑來使用交互式文件查看器。文件查看器一次最多顯示文件的 100 行窗口,Agent 可以使用 scroll down 和 scroll up 命令移動窗口,也可以使用 goto 命令跳至特定行。為了方便文件內導航和代碼定位,SWE-agent 顯示打開文件的完整路徑、文件的總行數、當前窗口前后的省略行數以及每行的行號(在可見行前添加)。

OpenDevin自動化代碼生成工具評述-AI.x社區

  在進行文件編輯的階段,SWE-agent不僅支持基本的文件瀏覽,還提供了高效的滾動和搜索功能。限制每次顯示的代碼行數為 100 行,旨在提高瀏覽效率且減少信息過載。

OpenDevin自動化代碼生成工具評述-AI.x社區

為了保持 Agent 上下文的簡潔性和充分性,SWE-agent 構建了一系列詳細且復雜的提示詞模板。在每個步驟中都會接收到關于正確使用 bash 和 ACI 命令的指令、文檔和演示。若執行代碼錯誤,SWE-agent 會要求重試,直到收到正確生成的響應。一旦收到有效響應,過去的錯誤信息將被省略,僅保留最初的。又或者,當命令執行成功但無輸出時,系統會提供明確的反饋,增強交互明確性。

SWE-agent的工作流程如下圖,整體上仍然使用了ReAct框架,通過反復采取行動和獲得反饋來與環境進行工作。

OpenDevin自動化代碼生成工具評述-AI.x社區

在初始化階段,agent會創建一個實例,提供模擬的開發環境,并且將整個交互過程中所有的軌跡存儲到特定的工作目錄中。同時,每個實例都會被審查,以確定是否有任何實例不符合條件應該被跳過。對選定的實例進行環境重置,將其恢復到該實例的初始狀態,并獲取初始信息。

執行階段,首先為 Agent 配置適當的參數并初始化其內部模型,以準備迎接下游任務。在一個交互循環中,Agent首先會根據當前的文件狀態state和觀察結果observation,生成對應的思考thought和行動action。在這個過程中,實例會根據 Agent 提出的行動執行相應的命令,結果將被更新到觀察結果中。每次交互后, Agent 的行動、觀察結果和響應的行為軌跡都會被保存。當 Agent 的行動中包含“submit”命令時,意味著問題已解決,同時保存補丁patch并標記該問題為已完成done = True,交互循環隨之結束。

    保存階段,Agent 在整個交互過程中生成的預測結果以及行動軌跡都會被記錄。

3.OpenDevin的體驗

    OpenDevin可以在Windows、Linux等操作系統進行部署,同時提供前端UI頁面。詳細的前后端部署流程請見 OpenDevin。使用Ollama部署大語言模型,并在如下的初始化頁面中選擇已經部署好的各項服務。

    用戶可以根據自己的偏好和需求,選擇不同的智能體Agent。不同Agent可以執行的任務以及流程會有些不同。以下是分別使用SWE-agent和CoderAgent對同一個問題進行回答的結果,兩者都使用codeqwen1.5-7B作為基座模型。可以看到SWE-agent將用戶輸入的任務拆解成編寫代碼、分不同語言實現以及寫入3個主要步驟,能完成一系列的任務而非只是對話問答。

OpenDevin自動化代碼生成工具評述-AI.x社區

OpenDevin自動化代碼生成工具評述-AI.x社區

使用SWE-agent作為agent,配合GPT4對問題的理解和生成文本能力,可以讓大語言模型完成項目級代碼的生成。下圖顯示了通過指令讓OpenDevin訪問github代碼庫,復制到本地并新建分支,完成文件的修改并且push到遠程的一系列流程,大語言模型先后完成了任務拆解,規劃執行并且調用各項工具的工作流程,展示了其能夠進行自主生成代碼并提交的能力。

OpenDevin自動化代碼生成工具評述-AI.x社區

OpenDevin自動化代碼生成工具評述-AI.x社區

OpenDevin自動化代碼生成工具評述-AI.x社區

參考文獻

1. Devin: https://www.cognition-labs.com/introducing-devin

2. SWE-agent: https://github.com/princeton-nlp/SWE-agent

3. CodeAct-agent: [2402.01030] Executable Code Actions Elicit Better LLM Agents (arxiv.org)

4. OpenDevin/SWE-bench: Enhanced fork of SWE-bench, tailored for OpenDevin's ecosystem. (github.com)

5. Qwen/Qwen1.5-14B-Chat · Hugging Face

6. 2404.10225 (arxiv.org)

7. 2405.15793 (arxiv.org)

本文轉載自?? AI遇見云??,作者:魏至強

收藏
回復
舉報
回復
相關推薦
在线精品91av| 亚洲成人动漫一区| 91在线视频九色| 免费一级肉体全黄毛片| 欧美久久香蕉| 欧美三级韩国三级日本三斤| 女同性恋一区二区| 日韩在线免费看| 青青青伊人色综合久久| 久久视频在线播放| 国产高清自拍视频| va天堂va亚洲va影视| 午夜精品aaa| 伊人久久青草| 你懂得网站在线| 国产福利一区在线| 奇米4444一区二区三区| 手机在线免费看毛片| 思热99re视热频这里只精品| 欧美高清视频不卡网| 日韩在线视频在线观看| 污污的视频在线观看| 国产欧美精品一区二区三区四区| 超碰97在线人人| 国产一区二区三区中文字幕| 男人的天堂亚洲| 久久免费成人精品视频| 国产男女猛烈无遮挡在线喷水| 欧美深夜视频| 日韩欧美国产高清| 亚洲 国产 图片| 日本在线视频一区二区| 精品国产1区2区| 国产成人一区二区三区别| 1pondo在线播放免费| xfplay精品久久| 国产精品国色综合久久| 国产欧美日韩综合精品一区二区三区| 久久美女性网| 欧美亚洲国产另类| 久久久国产高清| 精品9999| 久久久噜噜噜久久久| 欧美三级在线免费观看| 久久精品久久久| 日韩在线观看网站| 成人欧美一区二区三区黑人一| 红桃成人av在线播放| 亚洲精品视频中文字幕| 污污内射在线观看一区二区少妇| av成人资源| 日韩精品一区二区三区三区免费| 亚洲高清av一区二区三区| 四虎国产精品免费久久| 欧美日韩视频在线一区二区| 欧美婷婷精品激情| 久久久久久久性潮| 欧美日韩激情一区| 自拍偷拍一区二区三区四区| 久久久久伊人| 欧美一区二区性放荡片| 99精品视频国产| 日本亚州欧洲精品不卡| 欧美大胆人体bbbb| 在线观看成人动漫| 欧美大奶一区二区| 亚洲美女激情视频| 国产一区二区三区精品在线| 欧美一区2区| 久久精品99久久久香蕉| 青青草激情视频| 在线观看日韩av电影| 91av在线看| 中文字幕在线日本| 国内精品久久久久影院薰衣草| 99久久精品免费看国产一区二区三区| 国产精品久久一区主播| 一级黄色录像毛片| 天天插综合网| 九九热r在线视频精品| 久久精品免费av| 国产精品视频久久一区| 国产成人精品免高潮在线观看| 中文资源在线播放| 国产一区二区三区日韩| 国产精品久久久久久久免费大片| 色呦呦视频在线| 久久精品日产第一区二区三区高清版| 亚洲国产精品123| 日本动漫同人动漫在线观看| 精品国产乱码久久久久久婷婷| 欧美日韩大尺度| 久久天堂久久| 亚洲人成在线一二| 中文字幕av免费在线观看| 国产精品人人爽人人做我的可爱| 国产精品久久久久秋霞鲁丝| 亚洲成人一二三区| 国产视频一区二区在线| 免费看欧美一级片| 日本成人福利| 精品国产乱码久久久久久老虎| 无码人妻精品一区二区中文| 欧美日韩视频| 国产精品小说在线| 无码国产色欲xxxx视频| 综合亚洲深深色噜噜狠狠网站| 毛片在线视频播放| 国产精品一区二区美女视频免费看| 亚洲高清福利视频| 国产精品成人69xxx免费视频| 在线播放日韩| 成人精品网站在线观看| 蜜桃视频在线入口www| 亚洲激情综合网| 丝袜制服一区二区三区| 国产在线播放精品| 久久综合88中文色鬼| 亚洲成熟少妇视频在线观看| 国产成a人无v码亚洲福利| 亚洲成人18| 中文在线中文资源| 精品欧美乱码久久久久久| 国产一区二区三区视频播放| 亚洲一区黄色| 国产chinese精品一区二区| 男人和女人做事情在线视频网站免费观看| 午夜免费久久看| 古装做爰无遮挡三级聊斋艳谭| 狠狠做六月爱婷婷综合aⅴ | 欧美中文字幕一二三区视频| 亚洲啪av永久无码精品放毛片| 亚洲精品2区| 成人黄色短视频在线观看| 岛国在线大片| 色欧美88888久久久久久影院| a级片在线观看视频| 欧美性久久久| 亚洲自拍偷拍一区| 超碰在线网址| 制服丝袜亚洲播放| 欧美日韩国产黄色| 日韩专区中文字幕一区二区| 蜜桃臀一区二区三区| 日韩大片免费观看| 亚洲第一av网站| 精品少妇theporn| 国产成人免费在线观看不卡| 日韩视频 中文字幕| 久久wwww| 欧美精品18videos性欧| 亚洲成熟女性毛茸茸| 夜夜精品视频一区二区| 2025中文字幕| 日韩午夜免费| 蜜桃视频日韩| 69堂精品视频在线播放| 尤物九九久久国产精品的特点| 波多野结衣av无码| 国产精品久久影院| 青娱乐精品在线| 国产精品mv在线观看| 99国产盗摄| 岛国av免费在线观看| 日韩久久免费视频| 成年人视频免费| 国产精品久久久久久一区二区三区| 亚洲xxx在线观看| 永久91嫩草亚洲精品人人| 亚洲自拍偷拍在线| 91九色在线看| 亚洲人精品午夜在线观看| 一级黄色片在线看| 一区二区三区久久| 欧美 日本 国产| 日韩av一区二区三区四区| 精品久久免费观看| 国产精品chinese在线观看| 欧美主播福利视频| 无遮挡动作视频在线观看免费入口| 欧美日韩aaaaa| 国产性猛交普通话对白| 久久欧美中文字幕| 国产高清999| 国产精品主播| 一区二区免费在线视频| japanese色系久久精品| 国产成人综合亚洲| 国产激情视频在线| 日韩久久免费视频| 国产手机视频在线| 日韩欧美在线国产| 欧美日韩在线观看成人| 久久久国产一区二区三区四区小说 | 在线观看特色大片免费视频| 爽爽爽爽爽爽爽成人免费观看| 国产成人久久精品77777综合| 欧美性猛交xxxx| 少妇aaaaa| 久久这里只有精品首页| 超碰91在线播放| 青青青爽久久午夜综合久久午夜| av影院在线播放| 青青草国产免费一区二区下载| 国产精品欧美久久| 在线观看亚洲精品福利片| 欧美亚洲国产视频小说| 18av在线视频| 丝袜美腿精品国产二区| 天堂网在线观看视频| 在线播放91灌醉迷j高跟美女| 在线视频一区二区三区四区| 一区二区三区四区国产精品| 欧美福利第一页| 99精品偷自拍| 国内自拍偷拍视频| 国产一区二区三区免费在线观看| 国产一区亚洲二区三区| 国内精品99| 伊人色综合久久天天五月婷| 国产欧美日韩精品一区二区三区| 国产欧美一区二区三区不卡高清| 亚洲成a人片777777久久| 国产999视频| 欧美男人天堂| 久久久女人电视剧免费播放下载| 国产日产一区二区| 日韩亚洲欧美中文高清在线| 国产成人天天5g影院在线观看| 亚洲精品一区二区三区99| 国产黄色片免费观看| 在线成人高清不卡| 又污又黄的网站| 欧美日韩一级二级| 中国女人一级一次看片| 欧美中文字幕一区二区三区亚洲| 天天做天天爱夜夜爽| 午夜婷婷国产麻豆精品| 精品无码黑人又粗又大又长| 亚洲黄一区二区三区| 国语对白在线播放| 亚洲精品自拍动漫在线| 成年人一级黄色片| 一区二区三区四区视频精品免费| 中文字幕av免费在线观看| 一区二区三区在线播放| 麻豆成人在线视频| 亚洲一区国产视频| 日本一本高清视频| 欧美日韩国产区| 久久久久久91亚洲精品中文字幕| 懂色av影视一区二区三区| 日本中文字幕在线免费观看| 精品久久中文字幕久久av| 国产成人自拍视频在线| 日韩欧美一区二区在线| 国产一区免费看| 欧美性受xxxx黑人xyx性爽| 中文永久免费观看| 欧美精品久久一区| 精品人妻久久久久一区二区三区| 欧美大片拔萝卜| 午夜在线视频免费| 亚洲午夜色婷婷在线| av电影在线播放高清免费观看| 久久精品国产久精国产思思| 影音先锋男人资源在线| 国内精品久久久久久| 亚洲优女在线| 国产欧美日韩免费看aⅴ视频| 豆花视频一区| 国产一区二区三区av在线| 一区二区三区日本久久久| 亚洲精品成人a8198a| 欧美91福利在线观看| 日本www在线视频| 日本大胆欧美人术艺术动态| 手机在线观看日韩av| 99这里只有久久精品视频| 欧美大波大乳巨大乳| 亚洲色图.com| 天天操夜夜操视频| 欧美精品xxxxbbbb| 午夜在线观看视频18| 最新中文字幕亚洲| 538视频在线| 国产精品永久免费观看| 97成人在线| 无遮挡亚洲一区| 国产字幕视频一区二区| 91av俱乐部| 懂色av一区二区在线播放| 国产精品815.cc红桃| 亚洲视频一区二区免费在线观看| 国产对白videos麻豆高潮| 欧美视频一区二区三区在线观看| 性一交一乱一伧老太| 亚洲欧美在线磁力| 久久不射影院| 成人激情av在线| 自拍偷拍精品| 一卡二卡三卡视频| 久久国产成人午夜av影院| 网站免费在线观看| 亚洲欧美一区二区三区国产精品| 在线视频一区二区三区四区| 日韩精品一区二区三区三区免费| 99精品老司机免费视频| 午夜精品久久久久久久白皮肤| 欧美亚洲二区| 你懂的网址一区二区三区| 午夜国产精品视频| 国产一级做a爰片久久| 91网站黄www| 伊人365影院| 日韩一区二区在线看片| 欧美日韩视频在线播放| 奇米4444一区二区三区| 国产精品中文字幕制服诱惑| 桥本有菜av在线| 免费成人在线影院| 小早川怜子久久精品中文字幕| 亚洲成人一区二区| 国产福利第一页| 美女精品视频一区| 免费日韩成人| 亚洲第一在线综合在线| 可以看av的网站久久看| 国产精品无码专区| 亚洲va欧美va国产va天堂影院| 99精品在线看| 麻豆国产va免费精品高清在线| 久久电影天堂| 中文字幕日韩精品久久| 开心九九激情九九欧美日韩精美视频电影| 人妻无码一区二区三区| 懂色av一区二区三区| 无码精品黑人一区二区三区 | 日本五十熟hd丰满| 精品盗摄一区二区三区| 青草av在线| 国产成人女人毛片视频在线| 午夜日韩在线| 91人妻一区二区| 亚洲午夜在线观看视频在线| 亚洲精品久久久久久动漫器材一区| 免费99精品国产自在在线| 成人日韩视频| 男人天堂新网址| 成人激情动漫在线观看| 久久高清免费视频| 日韩激情av在线免费观看| 在线免费av资源| 欧美一区二区三区成人久久片| 日日夜夜免费精品| 天天干天天舔天天操| 欧美二区在线观看| 中日韩高清电影网| 国产成人av一区二区三区| 99精品国产在热久久婷婷| 一卡二卡三卡四卡| 欧美亚洲动漫精品| 中文字幕伦理免费在线视频| 成人黄色片视频网站| 日韩五码在线| 欧洲美熟女乱又伦| 欧美一区二区三区日韩视频| 欧美巨大xxxx做受沙滩| 精品中文字幕人| 秋霞午夜av一区二区三区| 一级免费黄色录像| 亚洲第一精品夜夜躁人人爽| 亚洲精品动漫| 在线国产99| 97精品超碰一区二区三区| 日批视频免费观看| 欧美日本中文字幕| 九九亚洲精品| 韩国一区二区在线播放| 精品成人国产在线观看男人呻吟| 国产精品一二三区视频| 亚洲综合自拍一区| 久久av最新网址| 国产成人自拍网站| 日韩精品www| 亚洲高清影院| 黄色一级视频片| 国产精品久久看| 少妇高潮一区二区三区69| 国产精品久久久久久久电影| 欧美激情一级片一区二区| 中文字幕xxx| 欧美一区中文字幕| 成人香蕉视频| 经典三级在线视频| 国产亚洲欧美在线| 国模私拍视频在线| 91精品免费看| 嫩草成人www欧美| 免费在线视频观看|