You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This week, our focus shifted from theory to implementation as we began shaping our first **agentic refactoring prototype**.
9
11
10
12
## 1. Visualising the Workflow
@@ -18,8 +20,8 @@ Thanks to **Vamsi**, who drafted the base structure, we’ve now consolidated ou
18
20
This visual helps guide our implementation roadmap, defining how agents interact, what tools they invoke, and how decisions flow through the system.
19
21
20
22
### Agents
21
-
-**Patern Scanner** - Is provided a Java file and uses RAG with the help of our Anti-Pattern Trove and (optionally) static analysis tools to find any and all instances of anti-patterns in the provided code. It then compiles a list of these anti-patterns and where they are located.
22
-
-**Refactor Strategist** - Given the aforementioned list, it uses the knowledge from the Anti-Pattern Trove to define a comprehensive strategy to fix all anti-patterns, taking into consideration the effect of the cumulative changes.
23
+
-**Pattern Scanner** - Is provided a Java file and uses RAG with the help of our Anti-Pattern Trove and (optionally) static analysis tools to find any and all instances of anti-patterns in the provided code. It then compiles a list of these anti-patterns and where they are located.
24
+
-**Refactor Strategist** - Given the aforementioned list, it uses the knowledge from the Anti-Pattern Trove to define a comprehensive strategy to fix all anti-patterns, taking into account the cumulative impact of all changes.
23
25
-**Code Transformer** - Applies the generated strategy by creating a new Java file with the necessary changes to remove the anti-patterns.
24
26
-**Explainer** - Uses the information from the Strategist and Transformer to create a human-readable explanation of the anti-patterns discovered, why they are problematic, and the steps taken to solve them. Optionally, this information will be used to create commit and/or pull request messages for automatic code updates.
25
27
-**Orchestrator** - Orchestrates the other agents (and tools) and ensures a proper control flow.
@@ -43,6 +45,16 @@ LangGraph allows us to explicitly define agent transitions, tool dependencies, a
43
45
44
46
Special thanks to **Maoqin** for setting up the first working version of our agentic pipeline in LangFlow, then LangGraph!
Welcome to the official blog for our **UCL MSc** project in collaboration with **IBM**!
9
11
10
12
Over the coming weeks, we'll share progress updates, key learnings, and reflections as we build an AI-powered tool to help modernise legacy software systems.
0 commit comments