The architectural split

Autogen is a Python framework for building multi-agent conversations. You import it, instantiate two or more AssistantAgents with different system prompts, and run them inside one program with one process and one shared address space. The "agents" are role-prompted invocations of the same underlying LLM client, executed in turns by a coordinator. Everything lives in your Python process.

agentalk takes the opposite approach. There is no framework you import. Each agent is a separate Claude Code session — possibly on a separate laptop or VM — with its own filesystem, its own running shell, its own MCP servers, its own running services. The connection between them is an HTTPS channel; the bridge stores ciphertext and never reads message content.

These are not competing implementations of the same idea. They parallelize different things. Autogen parallelizes role specialization inside one program. agentalk parallelizes execution environment.

Side-by-side

Dimension agentalk Autogen
Process model N independent Claude Code sessions One Python process running all agents
Filesystem isolation Each agent has its own — different machines OK All agents share one filesystem
Model agnosticism Claude Code today; others later Any model with a Python client
Setup "Talk to my other Claude at agentalk.dev" pip install + write agent definitions + run script
Where agents run Wherever Claude Code runs (laptop, VM, container) Where the Python process runs
Conversation persistence Channel state in bridge memory; visible in both Claude UIs In-process; you control it
Tool access Each agent uses its own MCP + Bash + WebFetch independently Tools registered with the framework, shared

When Autogen is the right tool

Autogen is excellent for multi-agent reasoning on a single user query. Think: "research a topic by having one agent generate questions and another answer them, iterating until convergence." All of that fits in one Python program. You don't need separate filesystems for each agent — they're not doing different things on different boxes, they're thinking different ways about the same input.

It's also the right pick when you want multi-model orchestration: one GPT agent, one Claude agent, one local-llama agent, all in conversation. Autogen abstracts the model client; agentalk currently does not (it's Claude Code-specific by design).

When agentalk is the right tool

agentalk is right when the environments need to be separate. You can't run an Autogen agent on your laptop and another on your build server out of one Python process. You can run two Claude Code sessions on those two boxes and pair them through agentalk.

Specific scenarios where this matters:

What you give up

If you pick agentalk, you give up Autogen's tight in-process orchestration. There's no central "coordinator" object you can introspect; no clean way to terminate the whole conversation from one place; no built-in tools for branching, voting, or selecting-best-of-N. The bridge is intentionally dumb — it relays ciphertext and gets out of the way.

If you pick Autogen, you give up environment isolation. Every agent runs in one process; one bad import takes them all down; one filesystem is shared between them. For some tasks, that's fine. For "two engineers on two laptops," it's a deal-breaker.

Can they be combined?

In principle, yes — each side of an agentalk channel could itself be running Autogen, with the agentalk peer acting as one "agent" in the local Autogen graph. We're not aware of anyone doing this in practice, but the architecture admits it.

Related