Documentation

Instrument your agent in five minutes, then replay and regression-test every failure it ever produces.

Quickstart

Install the SDK and point it at your existing agent. Synaptico wraps your model client and tool calls — no rewrite, no proxy.

npm install synaptico
# or
pip install synaptico

1. Initialize

import synaptico

client = synaptico.wrap(
    project="research-summarizer",
    api_key=os.environ["SYNAPTICO_KEY"],
)

2. Wrap your model client

Pass your existing Anthropic (or any) client through client.llm(). Every call is traced automatically.

resp = client.llm(
    model="claude-sonnet",
    messages=[{"role": "user", "content": prompt}],
)

3. Declare your tools

Tools are traced with full input/output, latency and retry counts. Wrap any callable.

@client.tool
def web_search(query: str) -> list:
    return search_api(query)
Traces stream to Synaptico asynchronously and are batched — the SDK adds well under 1 ms of overhead to each call.

Replaying a failure

Every trace gets a short id. Replay reconstructs the exact state and re-runs the agent locally:

$ synaptico trace --last
# run 8f2c19a  FAILED

$ synaptico replay 8f2c19a --break
# paused at step 03 (tool.read_url)

Turning failures into regression tests

A regression is a saved trace plus a pass condition. One command promotes any failing run:

$ synaptico regression create 8f2c19a \
    --name summarizer_timeout \
    --assert "run.status == 'ok'" \
    --assert "run.latency_ms < 3000"

Run the full suite before every deploy, or wire it into CI:

$ synaptico test --suite default --fail-fast

Drift & cost alerts

Synaptico tracks pass-rate and cost-per-task across model versions. Configure a webhook or Slack alert when either drifts beyond a threshold:

client.alert(
    on="pass_rate",
    below=0.95,
    window="24h",
    webhook="https://hooks.slack.com/...",
)

Supported models

ProviderModelsStreamingTool use
AnthropicClaude (all)yesyes
OpenAIGPT-4 / o-seriesyesyes
GoogleGeminiyesyes
Self-hostedany OpenAI-compatibleyesyes

Self-hosting

The collector ships as a single static binary and a Helm chart. Your traces never have to leave your VPC — the hosted control plane is optional.

helm install synaptico synaptico/collector \
  --set storage=postgres \
  --set controlPlane=false

Need help?

Private beta members get direct access to the founding team. Email founder@synaptico.biz.id.