prbot
A multi-agent code repair application built on LangGraph, comprising three nodes—reviewer, patcher, and tester—that implement a self-correction loop with an iteration limit through conditional back edges.
Timeline (last 90 days)
The developer prbot is a multi-agent code-fixing application built on LangGraph, containing three nodes—reviewer, patcher, and tester—and featuring a conditional back-edge from tester to patcher, looping at most 3 times.
On the demo PR, prbot using the gpt-4.1-mini model successfully fixed all 3 bugs, with the entire process taking 24.7 seconds, consuming about 17k tokens at a cost of about $0.008.
prbot's first patch caused the sorting test to fail due to a return order error (the seen-set returned ['b','a'] instead of ['a','b']), while the second attempt passed the tests.
prbot maintains an attempted_patches list in its state, and each failed diff along with the tail of its test output is injected into the patcher's system prompt, accompanied by the instruction "pivot to a structurally different solution".
prbot's write_patch tool rejects completely duplicate patches to prevent the agent from spinning in place.
prbot's reviewer performs two focused structured outputs: one for security and one for performance, to cover more review dimensions.
prbot analyzes the code's abstract syntax tree (AST) to identify potential hotspots (such as queries inside loops or nested loops over the same iterable) and places these hints into the context as clues.
Before starting to patch, prbot runs a baseline node to test the suite; if the tests already fail, it aborts the process directly to avoid futile work on a faulty foundation.
On the final attempt, prbot narrows its scope to the most severe findings to ensure at least one partially verified fix is obtained.
The developer has open-sourced prbot's complete repository at https://github.com/ayanag5076-commits/prbot, including the graph diagram and telemetry data.
1 more timeline events
All Facts (11)
prbot's current implementation relies on predefined test suites and has a limited loop count (3 times), so more complex tasks may require more flexible termination conditions; the accuracy of AST hints depends on the coverage of the rule base.
50%UnverifiedOn the demo PR, prbot using the gpt-4.1-mini model successfully fixed all 3 bugs, with the entire process taking 24.7 seconds, consuming about 17k tokens at a cost of about $0.008.
50%UnverifiedOn the final attempt, prbot narrows its scope to the most severe findings to ensure at least one partially verified fix is obtained.
50%UnverifiedThe developer prbot is a multi-agent code-fixing application built on LangGraph, containing three nodes—reviewer, patcher, and tester—and featuring a conditional back-edge from tester to patcher, looping at most 3 times.
50%Unverifiedprbot maintains an attempted_patches list in its state, and each failed diff along with the tail of its test output is injected into the patcher's system prompt, accompanied by the instruction "pivot to a structurally different solution".
50%Unverifiedprbot's write_patch tool rejects completely duplicate patches to prevent the agent from spinning in place.
50%Unverifiedprbot's reviewer performs two focused structured outputs: one for security and one for performance, to cover more review dimensions.
50%Unverifiedprbot analyzes the code's abstract syntax tree (AST) to identify potential hotspots (such as queries inside loops or nested loops over the same iterable) and places these hints into the context as clues.
50%UnverifiedBefore starting to patch, prbot runs a baseline node to test the suite; if the tests already fail, it aborts the process directly to avoid futile work on a faulty foundation.
50%Unverifiedprbot's first patch caused the sorting test to fail due to a return order error (the seen-set returned ['b','a'] instead of ['a','b']), while the second attempt passed the tests.
50%UnverifiedThe developer has open-sourced prbot's complete repository at https://github.com/ayanag5076-commits/prbot, including the graph diagram and telemetry data.
50%