检索:在这一类别中,检索工具包括grep、find和ls等基本CLI工具,以及更复杂的基于嵌入的技术 。
这些技术能让代理查找类似的代码片段,从而提高他们从代码库中检索相关信息的能力 。
例如 , retrieve <content> 命令允许代理执行与所提供内容类似的基于嵌入的片段检索 。
-构建与执行:这类命令允许代理使用简单直观的命令毫不费力地编译、构建和执行代码库 。底层构建命令的复杂性已被抽象化,从而简化了评估环境基础架构中的流程 。这类命令的示例包括:构建、运行 <文件> 。
-测试与验证:这些命令使代理能够通过执行单个测试用例、特定测试文件或整个测试套件来测试代码库 。代理可以执行这些操作,而无需依赖特定测试框架的底层命令 。
这类工具还包括校验工具 , 如筛选器和错误查找工具 。这类命令的例子包括:检查语法正确性的 syntax <file> 和运行整个测试套件的 test 。
-Git:用户可以为Git操作配置细粒度权限 。包括提交、推送和合并等操作 。例如,可以授予代理只执行本地提交的权限,或者在必要时将更改推送到源代码库 。
-通信:代理可以调用一系列旨在促进与其他代理和/或用户交流的命令 。值得注意的是,talk命令可以发送自然语言信息(不解释为版本库操作命令),ask命令用于请求用户反?。?而stop命令可以中断进程 , 表示目标已实现或代理无法继续 。
因此,AutoDev中的工具库为人工智能代理提供了一套多功能且易于使用的工具,使其能够与代码库进行交互 , 并在协作开发环境中进行有效交流 。
评估环境(Eval Environment)
评估环境在Docker容器中运行,可以安全地执行文件编辑、检索、构建、执行和测试命令 。
它抽象了底层命令的复杂性,为代理提供了一个简化的界面 。评估环境会将标准输出/错误返回给输出组织器模块 。
整合
用户通过指定目标和相关设置启动对话 。
对话管理器初始化一个对话对象,整合来自人工智能代理和评估环境的信息 。随后,对话管理器将对话分派给负责协调人工智能代理行动的代理调度器 。
作为人工智能代理,语言模型(大型或小型 LM)通过文本互动提出指令建议 。
命令界面包含多种功能 , 包括文件编辑、检索、构建和执行、测试以及 Git 操作 。对话管理器会对这些建议的命令进行解析,然后将其引导至评估环境 , 以便在代码库中执行 。
这些命令在评估环境的安全范围内执行,并封装在 Docker 容器中 。
执行后,产生的操作将无缝集成到对话历史中 , 为后续迭代做出贡献 。
这种迭代过程一直持续到代理认为任务完成、用户干预发生或达到最大迭代限制为止 。
AutoDev 的设计确保了系统、安全地协调人工智能代理,以自主和用户控制的方式完成复杂的软件工程任务 。
实证评估设计
在研究人员的实证评估中,评估了AutoDev在软件工程任务中的能力和有效性 , 研究它是否能够提升人工智能模型的性能 , 而不仅仅是简单的推理 。
此外,研究人员还评估了AutoDev在步骤数、推理调用和token方面的成本 。
主要是确定了三个实验研究问题:
-
推荐阅读
- 惊艳登场!杨紫的复古齐刘海,瞬间化身时尚icon
- 谢霆锋回香港演出情绪激昂,以长发登场有型有款,狄波拉现身捧场
- 当prompt策略遇上分治算法,南加大、微软让大模型炼成「火眼金睛」
- 李彦宏称程序员职业将不复存在,周鸿祎:程序员热十年内不会减弱,AI时代更需要程序员
- 李彦宏最新发声,“程序员”职业将不复存在!
- 有了LLM,所有程序员都将转变为架构师?
- 定了?周星驰与中国女足两大美女见面!新片登场能否逆风翻盘
- 微软商店怎么卸载应用 一分钟快速看懂!
- 鸿蒙开发岗平均月薪超1.8万,成为计算机人才和程序员的求职新选择!
- 微软 Win11 画图 Canary / Dev 更新,更接近 Photoshop 使用体验