SuperAPI AI 工具集

AutoPR

AutoPR 是一个基于 GitHub 的实验性自动化工具,能够根据 issue 自主生成 pull request。当在 issue 上添加包含 AutoPR 的标签时,该工具会触发并尝试自动打开一个 pull request,以回应 issue 中的需求。它使用 Guardrails 来引导大语言模型生成符合 JSON Schema 的结构化数据,并在不符合时重新请求。AutoPR 被认为是首个自主生成 pull request 的机器人,但据作者描述,其成功率约为 20%,且存在若干已知限制,例如可能引用其他文件中的错误代码、产生重复行、调用不存在的函数,并且仅支持 GitHub 平台。

访问官网

工具介绍

AutoPR 是一个 GitHub 仓库,名称来自 irgolic/AutoPR。根据仓库说明,AutoPR 能够自主地根据 issue 编写 pull request,构建时使用了 Guardrails。

用途

AutoPR 旨在自动化响应 GitHub issue 的过程:当用户在某个 issue 上添加包含 AutoPR 的标签时,AutoPR 会被触发,然后打开一个 pull request。它试图让机器人代替开发者完成从 issue 到代码变更的初步工作。仓库描述提到,撰写良好的 issue 通常能带来更好的结果。

主要能力

据资料显示,AutoPR 可以:

  • 根据 issue 自主生成 pull request。
  • 在触发后打开 pull request。
  • 使用 Guardrails 来提示大语言模型生成结构化数据(JSON Schema),并在不符合时重新询问。

仓库还列出了一些由 AutoPR 生成的示例,包括:创建掷骰子机器人、创建“技术术语生成器”、创建用户友好的天气应用、编写三个编程面试挑战、将 GPT2FastTokenizer 替换为 tiktoken。

使用方式

触发方式:在 issue 上添加包含 AutoPR 的标签。

该工具以 GitHub Action 的形式存在,资料称其“处于开发中,且为 alpha 版本”。更多信息可查看仓库中的 USAGE.md 和 CONTRIBUTING.md。

适用场景

AutoPR 适用于 GitHub 上的 issue 自动化处理场景,尤其是希望由机器人根据 issue 内容自动生成 pull request 的初步尝试。

限制

仓库明确列出以下已知问题:

  • 可能错误地引用其他文件中的代码。
  • 可能产生重复行。
  • 可能调用不存在的函数。
  • 仅适用于 GitHub(见 issue #46)。

此外,作者表示它“大约只有 20% 的时间能正常工作”。

背景

资料提到,AutoPR 是作者在 2023 年 3 月的一个周末编码冲刺中创建的,当时 OpenAI 刚推出首个“ChatGPT API”。作者认为 AutoPR 是首个自主生成 pull request 的机器人。灵感来自 Guardrails,后者通过 JSON Schema 提示大语言模型生成结构化数据,并在不符合时重新询问,这发生在语法驱动的结构化数据生成出现之前。