DEV Community

Maurizio
Maurizio

Posted on

I'm a photographer. I built a DSL for multi-agent workflows.

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
Enter fullscreen mode Exit fullscreen mode

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

  1. Does this solve a real problem or did I reinvent Python with extra characters?
  2. LangGraph, CrewAI, AutoGen already exist, is a declarative DSL actually better, or do developers prefer writing code?
  3. Is "docker-compose for AI agents" a useful framing or marketing fluff?
  4. If you look at the code, is it architecturally solid or fundamentally wrong?

Links


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)