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

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

發布于 2024-6-6 12:03
瀏覽
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遇見云??,作者: 魏至強 ??AI遇見云??

收藏
回復
舉報
回復
相關推薦
97视频免费看| 91精品国产综合久久国产大片| 国内外成人免费视频| 日产电影一区二区三区| 国产成人调教视频在线观看| 精品视频在线免费| 成人短视频在线观看免费| 香蕉av在线播放| 七七婷婷婷婷精品国产| 欧美老肥婆性猛交视频| 中国黄色a级片| 国精品产品一区| 亚洲影院理伦片| 欧美日韩在线精品一区二区三区| 亚洲天堂久久久久| 99视频精品| 色妞久久福利网| 欧美激情 亚洲| 伦一区二区三区中文字幕v亚洲| 亚洲综合在线观看视频| 日韩妆和欧美的一区二区| 国产女人高潮时对白| 性欧美长视频| 欧美区二区三区| 日韩影视一区二区三区| 福利片一区二区| 欧美日韩视频在线观看一区二区三区 | 在线观看欧美亚洲| 色视频在线观看| 国内成人免费视频| 国产精品激情av电影在线观看| 久久婷婷国产麻豆91| 成人国产精品一级毛片视频| 亚洲国产精品中文| 无码人妻少妇色欲av一区二区| 日本高清不卡一区二区三区视频| 午夜精品一区二区三区电影天堂 | 免费不卡的av| 麻豆精品久久| 欧美日韩精品一区二区三区四区| 黑人糟蹋人妻hd中文字幕| 日本三级韩国三级欧美三级| 国产精品久久久久久福利一牛影视 | 91精品一区| 日本福利一区二区| 欧美 日韩精品| aaa在线播放视频| 亚洲在线免费播放| 天天想你在线观看完整版电影免费| 日本综合在线| 国产精品素人视频| 天天久久人人| h网站在线免费观看| 久久久综合精品| 精品伊人久久大线蕉色首页| 亚洲精品久久久狠狠狠爱 | 第一页在线视频| 国产精品18| 69堂成人精品免费视频| 欧美丝袜在线观看| 伊人久久一区| 欧美剧情片在线观看| 天天视频天天爽| 国产香蕉久久| 制服丝袜成人动漫| 又黄又爽又色的视频| 日韩在线观看一区二区三区| 日韩欧美二区三区| 国产白袜脚足j棉袜在线观看| 成人资源在线播放| 日韩成人av一区| 草草地址线路①屁屁影院成人| 免费看av成人| 伊人亚洲福利一区二区三区| 午夜黄色福利视频| 欧美国内亚洲| 97在线视频免费看| 香蕉污视频在线观看| 日韩av不卡在线观看| 国产伦精品免费视频| 国产成人毛毛毛片| 成人国产精品免费观看| 欧美黑人xxxxx| a天堂中文在线88| 亚洲精品乱码久久久久| 僵尸世界大战2 在线播放| 色综合亚洲图丝熟| 欧美写真视频网站| 韩国三级在线看| 国产精品三级| 久久久99免费视频| 日韩少妇裸体做爰视频| 日韩av午夜在线观看| 92国产精品久久久久首页| 男人天堂网在线视频| 国产亚洲精品久| 今天免费高清在线观看国语| 午夜欧美激情| 4438x亚洲最大成人网| 亚洲精品国产成人av在线| 国产精品一区2区3区| 欧美成人免费在线观看| 国产成人精品777777| 狠狠色狠狠色综合系列| 国产九区一区在线| 欧美天天影院| 一本大道久久精品懂色aⅴ| wwwwwxxxx日本| 欧美一区 二区| 久久影院中文字幕| 国产又粗又爽视频| 国产成人精品免费网站| 日本一区视频在线| 欧美大片黄色| 欧美精品粉嫩高潮一区二区| 人人妻人人澡人人爽人人精品| 中文无码久久精品| 国产精品久久久久久久久影视| 国 产 黄 色 大 片| 国产精品久久久久影院亚瑟 | 欧美一级欧美一级在线播放| 国产精品毛片一区二区| 国产一区亚洲| 成人h视频在线| 国产三级在线免费观看| 精品美女永久免费视频| 亚洲成人激情小说| 久久视频精品| 国产精品高精视频免费| 色欲av伊人久久大香线蕉影院| 最新国产精品久久精品| 午夜激情在线观看视频| 亚洲精品456| 97国产在线视频| www香蕉视频| 亚洲免费在线视频一区 二区| 中文字幕在线导航| 亚洲人成网站77777在线观看| 久久久久女教师免费一区| 国产熟女一区二区三区四区| 中文字幕一区二区三区不卡| 少妇激情一区二区三区| 九九综合久久| 国产精品1234| 国产福利在线| 91福利国产成人精品照片| av网站免费在线播放| av不卡免费看| 久久国产精品久久| 亚洲精品成人图区| 亚洲老司机av| 久久精品视频2| 国产亚洲欧洲997久久综合| 久草精品在线播放| 国产成人三级| 国产精品旅馆在线| 在线观看免费高清完整| 欧美男女性生活在线直播观看| 刘亦菲国产毛片bd| 精品无人区卡一卡二卡三乱码免费卡 | 午夜精品久久久久久久99黑人| 懂色av一区二区三区四区| 亚洲一区二区三区影院| 免费看毛片的网站| 中日韩男男gay无套| 另类欧美小说| 激情亚洲影院在线观看| 少妇精69xxtheporn| 国产乱淫片视频| 一区二区三区在线影院| 无码av免费精品一区二区三区| 亚洲激情偷拍| 久久久久无码国产精品一区| 欧美电影免费观看| 社区色欧美激情 | www.看毛片| 婷婷丁香久久五月婷婷| 中文字幕人妻一区二区| 久久成人免费日本黄色| 黄色录像特级片| 老牛国内精品亚洲成av人片| 日韩av电影在线播放| av网站在线免费播放| 欧美一区三区二区| 色播视频在线播放| 中文在线资源观看网站视频免费不卡| 57pao国产成永久免费视频| 激情欧美一区二区三区| 日本成人黄色| 日韩高清一区| 欧美一级大胆视频| 免费黄色网页在线观看| 亚洲国产日韩精品在线| 中文字幕av资源| 亚洲一区在线观看视频| 久久视频精品在线观看| 成人免费黄色大片| 91最新在线观看| 在线免费高清一区二区三区| 亚洲成人第一| 老司机aⅴ在线精品导航| 国产免费久久av| 国产777精品精品热热热一区二区| 中文字幕日韩综合av| 欧日韩在线视频| 欧美美女激情18p| 黄色在线观看国产| 一区二区三区日韩精品| 日本欧美一区二区三区不卡视频| 高清不卡一区二区| 午夜激情av在线| 一本色道久久综合亚洲精品高清 | 精品国产一区在线| 麻豆国产精品一区二区三区| 北条麻妃在线视频观看| 欧美一区高清| 天堂一区二区三区| 日韩手机在线| 成人动漫视频在线观看免费| 久久电影天堂| 日本精品视频在线播放| heyzo高清在线| 久久精品99无色码中文字幕| 成人性爱视频在线观看| 日韩av在线免费播放| 亚洲爆乳无码一区二区三区| 欧美美女一区二区三区| 日韩精选在线观看| 欧美午夜片欧美片在线观看| 久久久久久激情| 一区二区三区色| 日韩欧美综合视频| 国产精品乱码人人做人人爱| 中文字幕免费看| 91日韩一区二区三区| 成年人的黄色片| 成人黄色在线看| 91精产国品一二三| 国产精品白丝av| 色91精品久久久久久久久 | 日本黄色www| 国产一区二区三区视频在线播放| 欧美午夜aaaaaa免费视频| 日韩精品欧美精品| 免费无码av片在线观看| 国产日韩欧美三级| 欧美a在线视频| 亚洲一区网站| 男人用嘴添女人下身免费视频| 亚洲电影成人| 少妇高潮喷水在线观看| 亚洲欧洲另类| 欧美不卡在线播放| 国产精品日本| 国产淫片av片久久久久久| 亚洲欧美日本日韩| 成人在线观看a| 青青草国产精品97视觉盛宴| 亚洲成人福利在线观看| 久久99精品久久久久婷婷| 一级淫片在线观看| 国产精品一区二区你懂的| 少妇性l交大片7724com| 国产91精品久久久久久久网曝门| www.男人天堂| 久久午夜老司机| eeuss中文字幕| 亚洲天堂精品在线观看| 青青草成人免费| 午夜精品福利久久久| 国产又粗又爽视频| 欧美日韩视频专区在线播放| 精品国产伦一区二区三| 亚洲国产精品人人爽夜夜爽| 欧美伦理影视网| 最新91在线视频| 人人澡人人添人人爽一区二区| 久久久免费精品| 国产高清不卡| 成人福利网站在线观看| 一区二区三区四区视频免费观看| 精品乱码一区二区三区| 国产亚洲欧美日韩在线观看一区二区 | 天天影视综合色| 国产在线精品一区二区三区不卡| 亚洲黄色小说在线观看| 日本一区二区三区在线观看| 九九精品视频免费| 欧美日韩另类在线| 亚洲一区 中文字幕| 精品黑人一区二区三区久久 | 日韩高清在线观看一区二区| 蜜桃精品久久久久久久免费影院| 亚洲91中文字幕无线码三区| 自拍日韩亚洲一区在线| 麻豆精品视频在线观看| 中文字幕人妻一区二区三区| 国产精品久久久久久久浪潮网站| 精品无码av在线| 欧美日韩国产精品自在自线| 天天干,夜夜爽| 久久精品久久精品亚洲人| 欧美aa免费在线| 成人激情春色网| 蜜桃久久久久| 国产成人生活片| 日韩精品一级中文字幕精品视频免费观看| 能看毛片的网站| 国产精品麻豆欧美日韩ww| 中日韩黄色大片| 3d动漫精品啪啪1区2区免费| 欧美视频免费一区二区三区| 九九九久久久久久| 日本一区二区三区中文字幕| 久久亚洲国产精品日日av夜夜| 欧美黄色aaaa| 国产成人在线综合| 久久精品一区四区| 国产a∨精品一区二区三区仙踪林| 欧美三级资源在线| 日本一区二区三区在线观看视频| 欧美老少做受xxxx高潮| 欧美天堂一区| 欧美高清视频一区| 日韩午夜高潮| 91成人在线观看喷潮蘑菇| 国产精品国产三级国产| 久久久久久无码精品大片| 亚洲精品国产suv| 波多野结衣中文在线| 3d蒂法精品啪啪一区二区免费| 91一区二区| 久久久久久蜜桃一区二区| 国产亚洲女人久久久久毛片| 久久夜色精品国产噜噜亚洲av| 亚洲激情 国产| 波多野结衣乳巨码无在线观看| 丁香五月网久久综合| 欧美~级网站不卡| 久久久精品高清| 亚洲欧洲另类国产综合| 在线观看国产小视频| 色av中文字幕一区| 91精品xxx在线观看| 日韩欧美一区二区三区久久婷婷| 天使萌一区二区三区免费观看| 超碰97人人干| 日韩欧美国产一区二区| 欧美新色视频| 国产成人免费av| 久久99高清| 亚洲黄色小视频在线观看| 国产精品欧美久久久久一区二区| 最近中文字幕在线免费观看| 色偷偷9999www| 亚洲国产综合在线观看| 日本成人性视频| 国产精品乡下勾搭老头1| 国产亚洲欧美久久久久| 亚洲精品在线电影| 亚洲天堂导航| 视频在线精品一区| 精品一二三四在线| 免费网站观看www在线观| 亚洲国产精品免费| 欧洲一区二区三区精品| 亚洲国产一区二区三区在线| 久久精品国产一区二区三区免费看 | 久久成人亚洲精品| 97品白浆高清久久久久久| 成人在线观看你懂的| 91麻豆视频网站| 一区两区小视频| 欧美黑人性视频| 欧美日韩麻豆| 亚洲激情在线观看视频| 亚洲欧美偷拍三级| 蜜桃av中文字幕| 日本免费一区二区三区视频观看| 日本不卡高清| 日本久久久久久久久久| 色噜噜偷拍精品综合在线| 欧美成人高清在线| 精品国产aⅴ麻豆| 日韩av一区二| 久久久全国免费视频| 国产丝袜精品第一页| 成人乱码手机视频| av黄色在线网站| 亚洲欧洲精品一区二区三区不卡| 黄色片一区二区| 国产精品视频yy9099| 亚洲天堂偷拍| 人成免费在线视频| 亚洲а∨天堂久久精品9966| 秋霞国产精品| 国产精品333| 国产精品传媒入口麻豆| 亚洲av成人无码网天堂| 成人黄色大片在线免费观看|