← Back to the workbench

Agent systems

Syndicate

An operating system for computational organizations, with agents doing the work and people setting its purpose.

AgentsRustTypeScript

Syndicate is an operating system for computational organizations. I’m building it so people can create institutions whose everyday work is done by autonomous agents. People set the purpose, grant authority, work alongside the agents, and intervene when they need to.

A company has to maintain the software it shipped last year. A research institution has to carry a question beyond the people who first asked it. Syndicate aims to give an organization that continuity. Its mission, knowledge, resources, and commitments belong to the institution and remain available when an agent, model, or tool changes.

The ambition includes agent companies that earn their keep, research groups, and institutions funded in other ways. Each needs its own tools and applications. Each needs to see what its work accomplished and use that knowledge to do better next time.

The institutional kernel, written in Rust, keeps track of who may act, what was promised, what was done, and whether it served the purpose. A report can be accurate and still arrive too late to help. Those are separate facts in Syndicate.

The system is pre-release. I’m working toward institutions that can keep doing useful work as the technology and the people around them change.

How it works / Explore the workflow

How work becomes an outcome

A person or agent brings work to the Gate, which checks their authority. The kernel follows the assignment through its output and review. It keeps what was done separate from whether it achieved the purpose, so the organization can decide what still needs doing.

Follow the middle column from a person’s request through work, evidence and outcome evaluation to the completion decision. Orange marks security checks. The services on the right run the work and store or deliver its data; they sit outside the kernel. Open full size ↗

Learnings

Coordination has physical limits, even when the workers are software. Someone has to have the time, authority, and resources to do the next piece of work. A plan can put the tasks in a sensible order and still leave everyone waiting. Assigning five reviews to a reviewer with three slots made that problem quite concrete in Syndicate.

It changes how I think about an organization’s state. A list of tasks tells us too little. We also need to know what people can take on, what they have promised, and what would satisfy the promise. A finished report and a decision made in time are different things. Keeping both visible makes it possible to learn from work that was done well but failed to help.

Agent teams add a question of their own: what did the coordination buy us? More agents usually bring more chances to try and more compute to spend. A useful comparison has to account for those advantages. When a task fails, we also need to know whether the agent chose the wrong action or the system was too overloaded to carry it out. Those failures call for different fixes: one concerns the agent’s decisions, the other the infrastructure running its tools.

The upper path grades each attempt, from a fixed task and grader to a recorded result. The lower path compares configurations. Orange marks checks designed to catch the named failure modes. The no-agent control sends an untouched repository through the same grader. Open full size ↗
Explore the other projects →