A protocol-first approach to LLM agents

ZipperGen is a Python DSL and runtime for structured multi-agent LLM systems. It is based on a simple idea: instead of wiring agents together locally and hoping the pieces interact correctly, write the global protocol first.

A protocol describes who talks to whom, which participant performs each action, and who owns each decision. ZipperGen projects this protocol to local agents and runs them concurrently.

Motivation

LLM-agent systems often combine tool calls, callbacks, queues, retries, and human approval steps. As these systems grow, the coordination logic can become difficult to inspect and easy to break.

ZipperGen makes the coordination explicit. The global workflow is the source of truth, and executions can be inspected as message sequence charts.

Design principles

Research and implementation

ZipperGen builds on ideas from Message Sequence Charts and choreographic programming. A workflow is written from a global point of view and then projected to local participants. ZipperGen adapts this idea to LLM agents, tool calls, human approval steps, and inspectable runtime traces.

The implementation is available as an open-source Python project on GitHub, together with examples, tests, and links to the Lean formalization. The goal is practical: make multi-agent LLM systems easier to program, run, inspect, and audit.