August 2nd, 2024

Oscar, an open-source contributor agent architecture

Oscar is an open-source project aimed at automating software maintenance using large language models. It assists maintainers by processing issues and matching questions to documentation, enhancing project management efficiency.

Read original articleLink Icon
Oscar, an open-source contributor agent architecture

Oscar is an open-source project designed to enhance software development by creating automated agents to assist with open-source maintenance. The initiative aims to alleviate the burdens of maintaining projects by utilizing large language models (LLMs) for semantic analysis of natural language, which can improve interactions between agents and users. Unlike other applications of LLMs, Oscar focuses on automating tedious tasks such as processing issues and matching questions to documentation, rather than writing code.

The project is currently being developed under the Go project, with the potential for future expansion. Its primary goals include reducing the effort required by maintainers to resolve issues, change lists, and forum questions, while enabling more individuals to become effective maintainers. Oscar's architecture is intended to be reusable across various software projects.

Key capabilities of Oscar include indexing project context to assist contributors, using natural language to control deterministic tools, and analyzing issue reports and pull requests. The prototype agent, named Gaby, operates within the Go issue tracker, providing relevant links to related issues and documentation in response to new reports. This immediate interaction helps maintainers and contributors engage effectively, improving the overall maintenance process. Future developments will focus on enhancing Gaby's capabilities, including the integration of additional tools and analyses tailored to specific project needs.

Related

Link Icon 7 comments
By @anotherpaulg - 3 months
I feel this pain as a solo maintainer of a somewhat popular open source project. More users brings more questions in GitHub issues and Discord.

That’s one reason I added interactive help [0] to aider. Users can type `/help <question>` in the app to get AI help, based on all of aider’s docs. I’ve been considering turning it into a bot for GitHub issues and discord.

Dosu [1] is another app in this “triage issues” space that looks really good when I encounter it in the wild.

[0] https://aider.chat/docs/troubleshooting/support.html

[1] https://dosu.dev/

By @seveibar - 3 months
I think they should expand the scope to direct contribution for easy issues (right now Oscar seems mostly for surfacing project information to contributors), I've had a lot of luck using aider + sonnet for direct contribution, and I'm pretty sure you could do it at scale for "getting-started" issues.

[1] Github bot that does direct contributions https://github.com/tscircuit/bunaider [2] Example contribution https://github.com/tscircuit/checks/pull/8

By @lmeyerov - 3 months
It sounds like the indexer is go-specific, while aigen and others are going multilingual via treesitter (I believe)

I'm curious if there are any projects folks like for the indexing/embedding step, like Git repo -> vector index / graph index of code + comments + docs?

(I am not as interested in the RAG, LLM, UX, etc after)

By @LeSaucy - 3 months
Very interesting to see if they are successful, and/or if this type of maintainer load reducing could be adapted to something like ubuntu/debian where maintaining packages is quite time consuming.