GitAgent:通过工具扩展促进GitHub的自主代理

77 阅读3分钟

一、论文信息

  • 论文题目

    GitAgent: Facilitating Autonomous Agent with GitHub by Tool Extension

  • 论文链接

    arxiv.org/abs/2312.17…

二、概要

虽然ChatGPT和GPT-4等大型语言模型(llm)在自然语言处理方面表现出了非凡的能力但它们在处理复杂、多面任务方面的功效仍然有限。一个不断增长的研究领域集中在基于llm的代理上,这些代理配备了能够执行不同 任务的外部工具。然而,现有的基于llm的代理只支持一组有限的工具,无法覆盖各种各样的用户查询,特别是那些涉及专业领域的查询。对于基 于llm的代理来说,如何在面对各种用户查询时自主扩展其工具仍然是一个挑战。由于GitHub托管了大量的存储库,这些存储库可以被视为一个很 好的工具资源,一个有前途的解决方案是基于llm的代理可以根据用户查 询自动集成GitHub中的存储库,以扩展其工具集。本文介绍了一个能够实 现GitHub工具自主扩展的GitAgent。它遵循一个四阶段的过程来合并存储库,它可以通过诉诸GitHub问题/PRs来解决过程中遇到的问题来学习人类的经验。通过对30个用户查询进行实验,GitAgent的平均成功率达到了69.4%。

要点:

  • 提出GitAgent,一个自主的基于llm的代理。它可以自主集成GitHub中的仓库,扩 展工具以满足用户查询的多样化需求。
  • 为了解决非标准化的挑战,GitAgent可以基于GitHub Issues/PRs自主学习人类经验,以 解决工具扩展过程中的问题。
  • 实验结果展示了GitAgent在跨专业知识领域自主集成工具以完成任务方面的有效性。

图片

三、讨论

1.GitAgent的总体框架是什么样的?

  • GitAgent采用分层任务分解策略来实现GitHub的工具扩展。GitAgent第一个 包含4个关键阶段:搜索,设置,应用和存储。每个阶段将继续分解为若干子任务,其中包含一系列实现的行动:

图片

  • GitAgent的分层任务分解策略的说明

图片2.GitAgent如何根据用户查询调整搜索策略?

GitAgent根据用户查询调整搜索策略的方法是:首先,GitAgent会通过搜索GitHub存储库来寻找与查询相关的存储库。然后,GitAgent会根据查询中的关键词和主题来调整搜索策略,以便更准确地找到与查询相关的存储库。最后,GitAgent会根据搜索结果对存储库进行评估,以确定哪些存储库最适合处理用户查询。

  1. GitAgent有在哪些仓库上进行实践研究?

主要在四个仓库上进行了实践研究,分别是:Qlib、Bringing-Old-Photos-Back-to-Life、Sniffles、AiZynthFinder。

  • 关于AiZynthFinder存储库设置的示例

图片

  • 一个关于Qlib库搜索的示例。

图片