OREL-group / GSoC

A place to investigate potential Google Summer of Code opportunities.
MIT License
10 stars 5 forks source link

Added LLAMOSC Framework #53

Closed sarrah-basta closed 1 month ago

sarrah-basta commented 1 month ago

LLAMOSC stands for LLM Agent-Based Modeling for Open Source Communities. The name encapsulates the core components and objectives of the framework:

Key Components and Features implemented so far

  1. Environment:

    • GitHub (CodeSpace Environment): A simulated code space (powered by AutoCodeRover) where agents contribute to open-source projects, mirroring real-world GitHub repositories.
  2. Environment Variables:

    • Issues: Issues are categorized with varying difficulty from 1 to 5, resembling real-life variation from "Good First Issues" to "Expert Required Issues", assigned based on the contributor agent's experience level.
  3. Agents:

    • Coding Ability: Skill level in writing and reviewing code, (powered by AutoCodeRover).
  4. Agent Variables (Internal States):

    • Experience Level: Categorized from 1 to 5 resembling real-life contributors ranging from Novice to Experienced.

Framework Capabilities

LLAMOSC integrates multiple capabilities to automate and optimize open-source community activities:

  1. AutoCodeRover Integration:

    • Combines LLMs with advanced code navigation and debugging capabilities.
    • Operates in two stages: Context retrieval and Patch generation.
    • Features Program Structure Aware code search APIs to navigate codebases and generate patches.
  2. Automated Pull Request Lifecycle:

    • ContributorAgent: Automates issue identification, solution proposal, and pull request creation.
    • MaintainerAgent: Automates pull request review and merging based on predefined criteria.
    • Utilizes Docker for environment consistency and isolation.
    • Implements diff extraction and automated pull request submission (powered by AutoCodeRover).
  3. Multi-Agent Decision Making Algorithms:

    • Authoritarian Algorithm (Benevolent Dictator Model):
      • Central maintainer manages and allocates tasks.
      • Contributors are rated and assigned tasks based on maintainer’s discretion.
    • Decentralized Algorithm (Meritocratic Model):
      • Distributed decision-making among contributors.
      • Contributors bid on tasks based on their suitability and experience.

Accomplishments of LLAMOSC so far

Orthogonal-Research-Lab commented 1 month ago

Thanks for your contribution!