精品欧美一区二区三区在线观看 _久久久久国色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遇見云??,作者:魏至強

收藏
回復
舉報
回復
相關推薦
亚洲三级免费| 国产精品对白刺激久久久| 成人动漫在线观看视频| 亚洲精品成人无码毛片| 免费在线黄色片| 免费电影日韩网站| 久久99国产精品久久99| 欧美白人最猛性xxxxx69交| 久久精品aaaaaa毛片| 亚洲一级片在线播放| 动漫一区二区| 亚洲欧美日本国产| 国产欧美一区二区精品性色| 欧美成年人视频| 国产情侣av自拍| 黄色a在线观看| 天堂美国久久| 欧洲中文字幕精品| 久久久亚洲综合网站| 亚洲男人天堂网址| 羞羞答答一区二区| 亚洲国产日产av| 91在线视频九色| 色哟哟无码精品一区二区三区| 国产精品一区二区三区四区色| 亚洲午夜一区| 欧美日韩aaaaa| 色狠狠久久av五月综合|| 日本韩国欧美中文字幕| av一级亚洲| 亚洲综合色视频| 成人欧美一区二区| 国产精品视频自在线| 亚洲第一在线综合在线| 国产精品7777777| 9l亚洲国产成人精品一区二三| 一本久久精品一区二区| 精品一区2区三区| 日韩av男人天堂| 欧美电影免费网站| 欧美日韩国产一区中文午夜| 精品麻豆av| 亚洲精品911| 亚洲调教视频在线观看| 自拍偷拍亚洲一区| aaa一级黄色片| 在线三级中文| 国产精品77777| 欧美久久精品一级黑人c片| 亚洲 激情 在线| 天堂а√在线资源在线| 日韩av一级电影| 精品国内亚洲在观看18黄| 91香蕉视频导航| 毛片在线看网站| 亚洲一级av毛片| 91成人在线| 国产精品国产a| 91在线|亚洲| 中文字幕人成人乱码亚洲电影| 日韩理论在线| 欧美一级视频精品观看| 精品久久久久久久久久中文字幕| 日韩一区av| 蜜臀国产一区二区三区在线播放 | 午夜视频久久久久久| 国产成人一区二区三区免费看| 97精品人妻一区二区三区| 亚洲最大黄网| 日韩av中文字幕在线| 国产一级不卡毛片| 免费电影日韩网站| 欧美在线一二三四区| 久久久国产欧美| 成人日韩av| 666欧美在线视频| 国产在线精品91| 深夜成人在线| 亚洲视频1区2区| 久久99精品久久久久久久久久| 日日夜夜精品免费| 理论电影国产精品| 91精品国产乱码久久久久久蜜臀 | 无码人妻丰满熟妇奶水区码| 国产一区毛片| 制服丝袜国产精品| 国产乱叫456| 韩日精品一区二区| 欧美午夜视频网站| 国产妇女馒头高清泬20p多| av在线免费观看网站| 成人18视频在线播放| 国产精品视频大全| 日韩av大片在线观看| 欧美aⅴ99久久黑人专区| 国产午夜精品全部视频在线播放| 国产sm在线观看| 久久综合五月婷婷| 制服丝袜在线91| 国产一线在线观看| 欧美禁忌电影| 日韩精品视频观看| 受虐m奴xxx在线观看| 欧美一区在线观看视频| 欧美三级日韩三级| 黄色高清无遮挡| 超碰99在线| 亚洲一级二级三级| 国产精品波多野结衣| 牛牛影视精品影视| av在线不卡免费看| 在线免费观看不卡av| 自拍偷拍亚洲精品| 久久国产一级片| 日韩制服丝袜av| 午夜精品久久久久久久久久久久久| 亚洲视频重口味| 少妇精品久久久| 久久躁狠狠躁夜夜爽| 国产精品18在线| 日韩免费一区| 97成人在线视频| a级片在线视频| 九九久久精品视频| 久久精品五月婷婷| av在线免费观看网址| 成人免费一区二区三区在线观看| 亚洲一区三区电影在线观看| 浮生影视网在线观看免费| 亚洲乱码中文字幕| av片在线免费| 香蕉久久aⅴ一区二区三区| 1024成人网| 久久国产色av免费观看| 风间由美性色一区二区三区四区| 精品国产免费久久| 日韩成人av一区二区| 精品按摩偷拍| 欧美精品在线观看91| 中文字幕丰满人伦在线| 久久网站热最新地址| 日本亚洲欧洲精品| 国产毛片av在线| 天天色图综合网| 国内自拍视频一区| 理论片一区二区在线| 欧美国产日韩一区二区| 国产精品久久久久久久妇| 国产精品一级黄| 国产视频在线观看一区| 男男激情在线| 欧美午夜美女看片| 色一情一区二区三区| 岛国av免费观看| 久草网站在线观看| 国产精品福利在线观看播放| 91av视频在线观看| 天堂网在线中文| 亚洲va韩国va欧美va精品| 稀缺呦国内精品呦| 国内精品福利| 精品国产一区二区三区四区精华 | 精品国产第一国产综合精品| 日韩精品一区在线观看| 亚洲乱妇老熟女爽到高潮的片 | h无码动漫在线观看| 久久丁香四色| 欧美精品999| 欧美日韩 一区二区三区| 久久综合成人精品亚洲另类欧美| 国产日产欧美视频| 91成人精品观看| 亚洲成人久久网| 精品一区二区6| 黄色av一区| 精品一区二区三区视频日产| 九九色在线视频| 亚洲成人动漫在线播放| 天天操天天摸天天干| 久久久久久一二三区| 999一区二区三区| 国产精伦一区二区三区| 奇米4444一区二区三区| 国产手机精品视频| 国产校园另类小说区| 蜜臀在线免费观看| 自拍偷拍欧美视频| 在线精品高清中文字幕| 日韩久久精品视频| 久久精品夜色噜噜亚洲a∨| 狠狠躁狠狠躁视频专区| 欧美激情网址| 国产精品美女网站| 丝袜在线视频| 亚洲欧美精品一区二区| 久久久久亚洲av无码专区体验| 国产成都精品91一区二区三| 日韩亚洲视频在线| 欧亚av在线| 中文字幕综合在线| 国精产品一品二品国精品69xx| 欧美性猛交xxxx黑人猛交| 中文字幕精品亚洲| 成人v精品蜜桃久久一区| 蜜臀视频一区二区三区| 影音先锋日韩资源| 亚洲精品乱码久久久久久蜜桃91 | 18禁一区二区三区| 亚欧美中日韩视频| av噜噜色噜噜久久| 色黄视频在线观看| 久久婷婷国产麻豆91天堂| 亚洲欧美色视频| 亚洲一区二区五区| 在线不卡av电影| 成人高清免费观看| 嫩草视频免费在线观看| 国产农村妇女毛片精品久久莱园子| av在线不卡一区| 高清av不卡| 久久久亚洲影院| 国产强伦人妻毛片| 色88888久久久久久影院按摩| 视频一区免费观看| 国产精品一级在线观看| 日韩视频亚洲视频| 亚洲色图27p| 91在线视频在线| 妺妺窝人体色www在线小说| 在线日韩成人| 国产精品视频免费在线观看| 九九精品调教| 久久精品成人一区二区三区| 黄色在线小视频| 欧美在线免费视屏| 狠狠躁夜夜躁人人爽天天高潮| 亚洲婷婷综合色高清在线| 国产精品高清无码在线观看| 波多野结衣在线一区| 国产一级二级av| 亚洲黄网站黄| 日韩欧美猛交xxxxx无码| 欧美激情欧美| 操人视频欧美| 精品一区二区三区中文字幕| 国产精品亚洲人在线观看| 久久精品国产精品国产精品污 | 国产精品视频最多的网站| 亚洲va中文在线播放免费| 亚洲美女性视频| 天天av天天翘| 亚洲国产欧美一区二区三区同亚洲| 五月婷婷激情网| 亚洲成人av免费| 日本熟女一区二区| 亚洲成av人片在线观看| 国产在线成人精品午夜| 99久久99久久精品国产片果冻| 欧美xxxxxbbbbb| 亚洲国产精品一区| 美女av免费观看| 久久av影视| 欧美日韩亚洲综合一区二区三区激情在线| 国产伊人久久| 久久久久久久久久国产| 欧美aaaaaaa| 一区二区三区国产视频| 高清美女视频一区| 中文字幕av一区二区| 95在线视频| 亚洲黄色在线看| 天天干视频在线观看| 亚洲国内高清视频| 精品资源在线看| 中文字幕在线观看亚洲| 国产视频在线播放| 日韩精品中文字幕有码专区| 国产精品久久久久久久久久久久久久久久久久| 亚洲一区二区三区在线| 国产精品二区一区二区aⅴ| 亚洲18色成人| 精品一区二三区| 精品成人乱色一区二区| 中文字幕国产在线观看| 亚洲人精品一区| 精品视频一区二区在线观看| 国产精品水嫩水嫩| 久久久久麻豆v国产精华液好用吗| 精品亚洲国产成人av制服丝袜| 91精品91久久久中77777老牛| 国产精品尤物| www.99r| 国产成人精品一区二区三区网站观看 | 国产精品一区在线观看| 亚洲精品aaa| 国产精品成人一区二区| 爱情岛论坛亚洲首页入口章节| 成人激情开心网| 国产在线一区二区三区播放| 中文字幕伦av一区二区邻居| 国产激情美女久久久久久吹潮| 欧美交a欧美精品喷水| 午夜精品视频在线观看一区二区| 五月天综合网站| 黄色免费视频大全| 亚洲视频高清| 日韩中文字幕免费在线| 国产另类ts人妖一区二区| 在线免费观看日韩av| 99久久精品国产观看| 国产真实乱人偷精品人妻| aaa国产一区| 超碰人人人人人人人| 亚洲国产精品久久久男人的天堂| 嫩草影院一区二区三区| 欧美本精品男人aⅴ天堂| 电影在线一区| 97国产精品视频人人做人人爱| 免费日韩成人| 欧美激情论坛| 很黄很黄激情成人| 欧美精品 - 色网| 国产午夜一区二区三区| 中文在线观看免费网站| 91麻豆精品国产| 第九色区av在线| 欧洲亚洲妇女av| 国产精品99久久免费观看| 中文字幕一区二区三区最新 | 热三久草你在线| 亚洲自拍欧美色图| 色小子综合网| 在线视频日韩一区| 久久亚洲春色中文字幕久久久| 免费人成视频在线| 欧美精选在线播放| 国产裸体无遮挡| 中文字幕日韩av| 欧美性理论片在线观看片免费| 国产精品久久久久久久久久久新郎 | 麻豆av电影在线观看| 国模gogo一区二区大胆私拍| 精品国产第一国产综合精品| 最新国产精品久久| 另类调教123区| 国产wwwwxxxx| 欧美日韩激情一区二区三区| 成人性爱视频在线观看| 奇米四色中文综合久久| 亚洲欧洲美洲国产香蕉| 国内自拍在线观看| 99久久久无码国产精品| 在线观看免费国产视频| 电影91久久久| 国产麻豆日韩| 国产欧美高清| 大黑人交xxx极品hd| 国产亚洲精品中文字幕| 9i精品福利一区二区三区| 日韩精品中文字幕在线播放| 人在线成免费视频| 欧美精品一区二区视频| 久久一区激情| 杨幂一区二区国产精品| 亚洲人成网站精品片在线观看| 国产影视一区二区| 欧美xxxx做受欧美.88| 超碰精品在线| 免费在线激情视频| 国产日产欧美精品一区二区三区| 中文字幕欧美色图| 久久手机精品视频| 成人av动漫| 国产日韩一区二区在线| 国产婷婷色一区二区三区| 亚洲天堂avav| 欧美极品欧美精品欧美视频 | 欧美jizz18性欧美| 91久久精品国产| 精品1区2区3区4区| 国产呦小j女精品视频| 在线视频欧美精品| 精品176二区| 久久99精品国产一区二区三区| 日韩高清国产一区在线| 澳门黄色一级片| 日韩国产精品一区| 激情中国色综合| 免费看欧美黑人毛片| 麻豆国产91在线播放| www.超碰在线观看| 欧美色手机在线观看| 成人免费看片| 美女视频久久| 99在线观看免费视频精品观看| 男人操女人下面视频| 无码av中文一区二区三区桃花岛| 国产午夜视频在线观看| 亚洲在线一区二区| 欧美专区一区二区三区|