跳转到主要内容
ToolPotion

Oscar - Git at Google

Oscar 是一个开源贡献者代理架构,旨在减少软件开发中的维护者辛劳。它利用 LLM 进行语义分析和确定性代码执行任务,旨在自动化问题处理、文档匹配等,从而提高开源项目的维护效率。

访问URL
Oscar - Git at Google screenshot

描述

Oscar,一个开源贡献者代理架构,是一个专注于通过创建自动化代理来增强开源软件开发项目维护的项目。核心理念是,可以减轻维护大小型开源项目中的大量辛劳。大型语言模型 (LLM) 为代理通过自然语言(如问题报告和维护者指令)的语义分析,以及将自然语言指令转换为程序代码,从而与人们顺畅交互提供了新的可能性。虽然 LLM 是一个关键组成部分,但代理的大部分操作将涉及执行标准的、确定性的代码。与许多以开发为中心的 LLM 用途不同,Oscar 不旨在增强或取代代码编写过程。相反,它专注于维护中不太吸引人的方面,例如处理传入的问题、将问题匹配到现有文档以及类似的任务。

Oscar 本质上是一个实验,其未来方向和学习成果尚未完全确定。第一个原型 @gabyhelp 机器人已经在 Go 问题跟踪器中展示了许多成功的交互。Oscar 目前在 Go 项目下开发,未来可能会被剥离成一个独立的项目。该项目的具体目标包括减少维护者在解决问题和更改列表 (CL/pull requests) 方面的努力,减少解决论坛问题所需的精力,并使更多人能够成为高效的维护者。一个关键的非目标是自动化编码;重点仍然是自动化维护者的辛劳。

该方法的核心是构建一个可重用且可扩展的架构,任何软件项目都可以对其进行改编以创建定制的代理。Oscar 旨在解决维护者辛劳问题,这并非 Go 项目独有。已识别的关键能力包括在贡献者交互期间索引和呈现相关的项目上下文,使用自然语言控制确定性工具,以及分析问题报告、CL/PR 和群组讨论以实时改进它们、标记和路由它们。由于 LLM 在自然语言处理方面的优势,它们对于这些能力至关重要,而确定性代码则负责执行。该项目强调使用 LLM 进行语义分析和自然语言到程序的翻译,并依赖确定性代码来处理其余部分。

一项关键能力是索引和呈现相关的项目上下文。软件项目非常复杂,维护者无法始终保留所有相关细节。Oscar 使用 LLM 嵌入来创建一个项目搜索引擎,索引文档、问题和讨论。当出现新问题时,代理可以使用此索引查找相关上下文,例如过去类似的问题或相关的文档,并回复链接。这已显示出诸如呈现重复问题、为贡献者提供上下文以及通过指向相关过去讨论或错误报告来节省维护者时间等好处。代理在报告提交后立即进行的交互对于在报告者仍然可用和参与时进行互动至关重要。

另一项关键能力是使用自然语言控制确定性工具。随着项目的发展,工具的数量会增加,使得跟踪和使用它们变得困难。Oscar 设想了根据自然语言请求编辑问题评论、添加标签或分配人员的设施。LLM 擅长将自然语言意图转换为可执行形式,如工具调用。与 Gemini 的初步实验在选择和调用工具方面显示出希望。这种使用 LLM 将自然语言转换为确定性工具使用的方法,被认为比纯粹的 LLM“魔法棒”方法更有效,因为它允许确定性执行和更轻松的验证。

第三项重要能力涉及分析问题报告和 CL/PR。除了链接相关问题之外,Oscar 还计划纳入语义分析,例如识别问题的首要主题以进行适当标记(例如,“性能”)。它还旨在确定报告是否需要更多信息才能有用,例如请求提供重现程序的链接或内联代码。代理可能能够运行沙盒执行工具来识别包含错误的版本或使用 git bisect 来精确定位引入错误的提交。这些分析在报告提交后立即进行时最为有效,利用了代理的 24/7 可用性。

第一个原型 Gaby(“Go AI 机器人”)在 Go 问题跟踪器中运行,以 @gabyhelp 的身份发布。其源代码位于 internal/gaby。Gaby 索引了来自 Go 问题、Go 文档、Gerrit 代码审查和 Go 项目/golang-nuts 讨论的内容,使其能够用相关链接回复新问题。Gaby 的架构设计灵活,允许它在各种托管服务上运行,使用不同的 LLM、存储层和向量数据库。当前原型使用 GCP Cloud Run 和 Google 的 Gemini LLM 以及 Google Cloud Firestore。该项目还承认 Go 项目中长期存在的确定性代理 @gopherbot 的存在,并旨在通过将 @gopherbot 重建为 Oscar 代理来最终将 @gabyhelp 合并到 @gopherbot 中,寻求一种使用自然语言的更轻量级的配置方法。

Oscar的核心功能

  • 开源维护的自动化代理

  • 通过处理问题和请求来减少维护者的辛劳

  • 利用 LLM 进行自然语言理解和语义分析

  • 利用确定性代码进行可靠的任务执行

  • 索引和呈现相关的项目上下文(文档、问题、讨论)

  • 实现自然语言对确定性工具的控制

  • 分析问题报告和更改列表以改进路由和标记

  • 原型代理 @gabyhelp 在 Go 问题跟踪器中活跃

  • 可扩展的架构,用于自定义代理开发

  • 支持与各种 LLM、存储层和向量数据库集成

  • 旨在自动化开源维护的非编码方面

  • 通过即时响应促进更快的贡献者参与

如何使用 Oscar?

  1. 配置:定义代理功能并连接到项目数据源

  2. 部署:将代理部署到合适的平台(例如,云服务)

  3. 集成:连接到项目存储库和通信渠道(例如,GitHub webhooks)

  4. 训练/索引:允许代理使用 LLM 处理和索引项目上下文

  5. 监控:观察代理在问题跟踪器和论坛中的交互和性能

  6. 扩展:开发新的代理行为并集成自定义确定性工具

  7. 优化:根据项目需求和反馈调整代理响应和分析

Oscar的使用案例

  • 问题分类自动化
  • 文档助手
  • 重复问题检测
  • 减少维护者辛劳
  • 贡献者支持
  • 更改列表分析
  • 上下文呈现
  • 工具集成

Oscar的常见问题

Oscar 评价

加载中...

与 Oscar 类似的热门AI工具

AI 智能体

GitHub Copilot 是一款人工智能结对编程助手,通过直接在编辑器中建议代码行和整个函数来协助开发人员。它能加速从代码补全到企业级代理管理的整个工作流程,从而提高跨各种平台和语言的生产力和开发人员满意度。

精选AI 编程助手

Aider是一个AI配对编程工具,集成于您的终端,允许您与大型语言模型(LLMs)在新项目或现有代码库上协作,从而提高生产力和代码质量。

精选AI 编程助手

Devin是一个AI编码助手,旨在帮助开发人员更高效地构建更好的软件。它利用并行云代理来提升严肃工程团队的生产力。

精选AI 编程助手

AI 智能体

ChatGPT中的Codex通过提供AI编码代理来增强软件工程,帮助团队更快地构建。它自动化诸如拉取请求、代码审查等任务,使工程师能够专注于复杂问题,提高整体生产力。

精选AI 编程助手

AI GitHub 仓库

Goose是一个开源、可扩展的AI代理,通过允许用户安装、执行、编辑和测试任何大型语言模型(LLM),增强编码体验,为寻求高级代码建议的开发者提供了一个多功能工具。

精选AI 编程助手

AI 智能体

SWE-agent 是一款 AI 智能体,旨在自主使用工具来完成修复 GitHub 问题和查找网络安全漏洞等任务。它由研究人员构建,利用 GPT-4o 和 Claude Sonnet 4 等语言模型。Mini-SWE-Agent 是一个更简单、更灵活的版本,已经取代了目前处于维护模式的 SWE-agent。

AI 编程助手

AI 智能体

Devin Desktop 是用于管理本地和云端 AI 编码代理的指挥中心。直接在编辑器中规划、委托、审查和发布代码。它提供完整的 IDE 体验和调试工具,实现无缝协作和高效的代理管理。

AI 编程助手

AI 智能体

OpenHands 是一个开源的、与模型无关的云编码代理平台,安全透明地自动化工程任务。它允许团队在完全控制其编码代理和工作流程的情况下更快地构建。

精选AI 智能体构建工具