Add project blog post (OpenEnv Flow Debugger)
Browse files
blog.md
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Debugging Power Automate Flows with OpenEnv
|
| 2 |
+
|
| 3 |
+
Modern AI is changing. Instead of just predicting things, AI is now becoming an "agent" that can look at a problem, take action, and learn from the results. Most AI projects focus on games or robots, but in this project, I wanted to focus on a real-world problem: **fixing broken Power Automate flows.**
|
| 4 |
+
|
| 5 |
+
I created a simple environment using **OpenEnv** to model a very common issue: **HTTP 400 BadRequest** errors caused by mistakes in "Condition" steps.
|
| 6 |
+
|
| 7 |
+
## Why Power Automate?
|
| 8 |
+
|
| 9 |
+
If you work with automation, you know that debugging is a slow and annoying task. Usually, it looks like this:
|
| 10 |
+
|
| 11 |
+
1. A flow fails with a vague "400 BadRequest" error.
|
| 12 |
+
2. The error is hidden inside a Condition step.
|
| 13 |
+
3. There is a small typo in the formula (expression).
|
| 14 |
+
4. An engineer has to find the mistake and fix it manually.
|
| 15 |
+
|
| 16 |
+
This "debug-fix-check" loop is perfect for an AI agent. The agent sees the failure, tries a fix, and keeps going until the flow works.
|
| 17 |
+
|
| 18 |
+
---
|
| 19 |
+
|
| 20 |
+
## How the Environment Works
|
| 21 |
+
|
| 22 |
+
I built this environment to be simple and clear. Each "episode" is basically one debugging session.
|
| 23 |
+
|
| 24 |
+
### The Task
|
| 25 |
+
|
| 26 |
+
The agent gets a failed flow run. The goal is simple: **Fix the broken expression so the flow succeeds.**
|
| 27 |
+
|
| 28 |
+
### What the Agent Sees (Observations)
|
| 29 |
+
|
| 30 |
+
The agent receives a JSON-like summary of the problem, including:
|
| 31 |
+
|
| 32 |
+
* The error message and status.
|
| 33 |
+
* Which step failed.
|
| 34 |
+
* The inputs and outputs of the flow.
|
| 35 |
+
* How many attempts are left.
|
| 36 |
+
|
| 37 |
+
### What the Agent Can Do (Actions)
|
| 38 |
+
|
| 39 |
+
To keep things simple for now, the agent has one job: **Send a patch.** It tells the system which step to change and provides the new, corrected expression. If the string matches the correct fix, the flow succeeds.
|
| 40 |
+
|
| 41 |
+
### The Reward System
|
| 42 |
+
|
| 43 |
+
I used a very simple scoring system:
|
| 44 |
+
|
| 45 |
+
* **+1.0:** The flow is fixed!
|
| 46 |
+
* **-0.1:** Wrong fix (but you can try again).
|
| 47 |
+
* **-0.2:** Out of attempts (failed).
|
| 48 |
+
|
| 49 |
+
---
|
| 50 |
+
|
| 51 |
+
## The Data and the Demo
|
| 52 |
+
|
| 53 |
+
* **The Dataset:** I created a set of JSON files with real-world bug examples. The agent has to figure out the fix based only on the error logs; it never sees the "correct answer" beforehand.
|
| 54 |
+
* **The Demo Agent:** I built a simple agent that uses basic rules to find typos. It solved all the cases, which proves that the environment works and the feedback loop is solid.
|
| 55 |
+
|
| 56 |
+
---
|
| 57 |
+
|
| 58 |
+
## Keeping it Simple (Limitations)
|
| 59 |
+
|
| 60 |
+
This is an MVP (Minimum Viable Product). To keep it fast and easy to use:
|
| 61 |
+
|
| 62 |
+
* It only focuses on **Condition** expressions.
|
| 63 |
+
* It doesn't actually connect to the real Power Automate website.
|
| 64 |
+
* It is deterministic (no random surprises).
|
| 65 |
+
|
| 66 |
+
---
|
| 67 |
+
|
| 68 |
+
## Why This Matters
|
| 69 |
+
|
| 70 |
+
Debugging is a huge part of real work, but it’s not often used in AI benchmarks. By turning Power Automate errors into an **OpenEnv** environment, I’m trying to bridge the gap between practical automation and AI research.
|
| 71 |
+
|
| 72 |
+
In the future, I want to add more complex errors (like "Filter array" issues) and try training smarter agents using LLMs.
|
| 73 |
+
|
| 74 |
+
**Conclusion:** AI agents need to learn how to handle messy, real-world systems. This project is a small step toward making AI more helpful in our daily office tasks.
|