Seshat AIDocumentation

Documentation / Learn

Why Go for AI agents?

Why Seshat is written in Go, what that gives you, and what it costs.

Python is the natural language for research and for experimenting with models. Seshat does not argue against that. The question is different: what language suits the layer that runs agents, the part that owns sessions, tools, permissions, streaming and recovery, and has to be deployed and kept alive?

That layer behaves like infrastructure, and infrastructure has different needs from a notebook.

What the runtime does all day

It waits on a model that streams its answer, runs several tools at once, keeps connections to MCP servers open, saves sessions, emits events, handles timeouts and retries, and does this for many sessions in the same process. Most of this is waiting and coordinating, not computing.

What Go gives it

NeedWhat Go offersEffect on Seshat
Many things at onceGoroutines and channels in the languageTool calls run in parallel while streaming and permission checks continue, without a heavy framework
Simple deploymentThe toolchain produces one native executableThe CLI and the gRPC server are single files, with no interpreter or virtual environment to install
One codebase on several systemsCross-compilation, and the CLI builds without CGOThe same code runs on Linux, macOS and Windows
Solid networkingHTTP, JSON, contexts and profiling in the standard libraryFewer critical foundations depend on deep dependency stacks
Long-lived codeA small language, fast compiles, readable codeThe runtime stays understandable as providers, tools and permissions grow
Many surfaces, one behaviourThe same compiled runtime behind CLI, SDK and gRPCExecution semantics do not drift between implementations

A measurement, since it is easy to claim and rarely checked: seshat version starts in about 90 milliseconds on a laptop running Windows. That matters for a command-line tool and for processes started per request.

What it costs

AreaHonest cost
Model experimentationPython still has the richer ecosystem for research, notebooks and model-adjacent libraries
InterfacesA Go core is a good engine, but you still want a UI stack at the edge. SeshatOS uses a desktop shell for that
Library expectationsMany developers expect a Python or JavaScript package first. Seshat answers with gRPC and a clear contract, not a rewrite in each language
FamiliarityMost AI engineers reach for Python first, so this choice has to be explained, which is the point of this page
Binary sizeThe executable is large, around 118 MB for the CLI on our test machine. “One file” does not mean “small file”

How other languages use it

You do not have to write Go to use Seshat. Teams in other languages call the runtime through gRPC with stubs generated from the .proto file, or through the HTTP API of SeshatOS. Go developers embed it directly with the SDK.

Updated on 2026-10-07