← Latest papers
💻 computer science

Phoenix: Safe GitHub Issue Resolution via Multi-Agent LLMs

Phoenix is a multi-agent LLM system that safely resolves GitHub issues from triage to pull-request creation by employing seven layered safety controls and a baseline-aware evaluation strategy, achieving a 75% oracle-resolution rate on a curated SWE-bench Lite slice while maintaining 100% correctness preservation on real-world issues.

Original authors: Kipngeno Koech, Muhammad Adam, Baimam Boukar Jean Jacques, Joao Barros

Published 2026-06-19
📖 5 min read🧠 Deep dive

Original authors: Kipngeno Koech, Muhammad Adam, Baimam Boukar Jean Jacques, Joao Barros

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine a massive, bustling library called GitHub, where millions of people leave sticky notes on books asking for fixes, new features, or pointing out typos. These notes are called "issues." Usually, a human librarian has to read the note, find the exact page in the book, figure out what's wrong, rewrite the text, and then ask a senior librarian to check it before it goes back on the shelf. This is slow and tiring.

Phoenix is a new team of AI robots designed to do this job, but with a very strict rule: Do no harm.

Here is how Phoenix works, broken down into simple concepts:

1. The Team of Specialists (The Six Agents)

Instead of one super-smart robot trying to do everything at once (which often leads to mistakes), Phoenix uses a team of six specialized workers, like a well-oiled assembly line:

  • The Planner: Reads the sticky note and draws a map. It decides which pages need changing and how to fix them.
  • The Reproducer (The Detective): Before fixing anything, this robot tries to recreate the problem. It says, "Okay, if I do X, does the book break?" If it can prove the book is broken, it moves on. If not, it skips this step so the team doesn't get stuck.
  • The Coder: The writer. It takes the Planner's map and actually rewrites the text on the pages.
  • The Tester: The quality inspector. It runs the book through a machine to see if the new text causes new errors.
  • The Failure Analyst: The doctor. If the Tester finds a new error, this robot diagnoses why it happened and tells the Coder how to fix it. They get two tries to fix it; if they fail twice, they stop and ask for human help.
  • The PR Agent: The messenger. Once the fix is ready, it packages everything up and hands it to a human librarian for final approval.

2. The "Safety Net" (Seven Layers of Protection)

The paper emphasizes that AI can be dangerous if it just starts rewriting books randomly. Phoenix has seven "safety guards" to prevent disasters:

  • The Fence: It won't let the robots write outside the library walls (preventing them from deleting files they shouldn't touch).
  • The ID Badge: It checks that the robots have valid keys (tokens) so they don't get locked out mid-job.
  • The Clean-Up Crew: It strips out messy, confusing parts of the sticky notes before showing them to the robots, so they don't get confused by bad formatting.
  • The "No-Go" Zone: It refuses to touch the library's security system files (workflow files) because messing with those could lock everyone out.
  • The Stop Button: If the robots get stuck in a loop or keep making the same mistake, the system pulls the plug.
  • The Solo Worker: Only one book is worked on at a time to prevent the robots from tripping over each other.
  • The Fresh Key: It automatically refreshes its ID badges before they expire, so the job never stops due to a timeout.

3. The "Before and After" Test (Baseline Awareness)

This is Phoenix's most clever trick. Sometimes, a library book is already broken before the robot touches it.

  • Old Way: A robot fixes a typo, but the book still fails a test because it was already broken. The robot gets blamed for the failure.
  • Phoenix Way: Before the robot changes anything, it takes a "snapshot" of the book's current state. After the robot makes changes, it compares the new state to the snapshot.
    • If the book was already broken and stays broken (but no new things break), Phoenix says, "Success! We didn't make it worse."
    • If the book was working and now it's broken, Phoenix says, "Stop! We introduced a regression."

4. What the Results Show

The researchers tested Phoenix in two ways:

  • The Practice Run (SWE-bench Lite): They gave Phoenix 24 specific, pre-defined problems. Phoenix solved 75% of them perfectly without breaking anything that was already working.
  • The Real World Test (42 Real Issues): They let Phoenix loose on 42 actual issues from 14 different real-world projects.
    • Safety: Phoenix achieved 100% "Correctness Preservation." This means it never broke a test that was previously passing. It was incredibly safe.
    • Success Rate: However, only about half of the fixes were actually the right fix. The other half were "hallucinations" where the robot wrote code in the wrong place (like writing a repair manual in the fiction section). The robot knew how to fix it, but sometimes couldn't find where the problem was.

The Bottom Line

Phoenix is like a very cautious, highly trained apprentice librarian. It is excellent at not making things worse and very good at following a strict process. However, it sometimes struggles to find the exact location of a problem if the description doesn't match the file names perfectly.

The paper concludes that for AI to be useful in the real world, safety must come before speed. Phoenix proves that by using a team of specialized agents and strict safety guards, you can automate software fixes without accidentally breaking the software. The main thing left to fix is helping the "Planner" robot find the right page in the book more often.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →