I'm a wedding photographer. Over the past couple of months I fell down a rabbit hole and built something I honestly can't evaluate, because I don't fully understand what I built. I need your take.
What it does
AgentFlow DSL — you write a .aflow file describing agents, phases, and loops. It auto-exposes as an MCP tool in Claude Code. Zero Python glue.
Example: a 3-agent workflow with a quality loop:
workflow code_quality
agents:
agent writer → model: "local-fast"
agent tester → model: "openrouter-smart"
agent critic → model: "claude-sonnet"
loop quality_gate
phases: [write, test, review]
repeat_while: review.verdict == "needs_work"
max_iterations: 10
Writer generates code → Tester tries to break it → Critic reviews. If the critic says "needs_work", it loops back with feedback. 68 lines total.
Does it actually work?
Yes, somehow. Tested with real OpenRouter calls (Gemini Flash). 92 tests pass. Three executors: Claude SDK, OpenRouter API, Ollama. MIT license.
But here's the thing: I coded most of this without fully understanding what I was doing. The tokenizer, the parser, the compiler. I wrote them, but if you asked me to explain the theory, I'd struggle. Claude Code (the irony) helped me write a lot of it. I'm genuinely not sure if I built a real compiler or just a fancy string processor with a loop.
My honest questions
- Does this solve a real problem or did I reinvent Python with extra characters?
- LangGraph, CrewAI, AutoGen already exist, is a declarative DSL actually better, or do developers prefer writing code?
- Is "docker-compose for AI agents" a useful framing or marketing fluff?
- If you look at the code, is it architecturally solid or fundamentally wrong?
Links
- Repo: github.com/anhonestboy/agentflow
-
npm:
@anhonestboy/agentflow
I'm a photographer, not a professional developer. Tear it apart. If it's trash, say so. If there's something here, tell me what to focus on.
Top comments (0)