Instrumentation layer for multi-agent AI pipelines
Project description
summitsdk
Instrument multi-agent AI pipelines and capture every agent-to-agent interaction as a structured trace. Works transparently alongside your existing Anthropic or OpenAI client -- no changes to your agents or pipeline logic required.
Installation
pip install summitsdk
Requires Python 3.8+. OpenAI support is optional:
pip install summitsdk[openai]
Quickstart
Anthropic
from anthropic import Anthropic
from summitsdk.tracer import Tracer
from summitsdk.exporters.local import LocalExporter
exporter = LocalExporter(output_dir="traces/")
tracer = Tracer(exporter=exporter)
client = Anthropic()
wrapped = tracer.wrap_anthropic(
client,
from_agent="planner",
to_agent="worker",
task_id="task-001",
round_trip=1
)
response = wrapped.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": "your prompt"}]
)
# trace written to traces/
OpenAI
from openai import OpenAI
from summitsdk.tracer import Tracer
from summitsdk.exporters.local import LocalExporter
exporter = LocalExporter(output_dir="traces/")
tracer = Tracer(exporter=exporter)
client = OpenAI()
wrapped = tracer.wrap_openai(
client,
from_agent="planner",
to_agent="worker",
task_id="task-001",
round_trip=1
)
response = wrapped.chat.completions.create(
model="gpt-4o-mini",
max_tokens=1024,
messages=[{"role": "user", "content": "your prompt"}]
)
# trace written to traces/
How it works
wrap_anthropic() and wrap_openai() return a
proxy client. Every subsequent API call through
the proxy is intercepted after the response
returns, a trace is recorded, and the original
response is passed back unchanged. Your agents
never know the wrapper is there.
Each call to wrap_* accepts four arguments:
| Argument | Type | Description |
|---|---|---|
from_agent |
str | Name of the sending agent |
to_agent |
str | Name of the receiving agent |
task_id |
str | Identifier for the current task |
round_trip |
int | Interaction number within the task |
Trace schema
Each interaction produces a JSON file:
{
"trace_id": "550e8400-e29b-41d4-a716-446655440000",
"task_id": "task-001",
"from_agent": "planner",
"to_agent": "worker",
"content": "response text",
"model": "claude-sonnet-4-20250514",
"input_tokens": 412,
"output_tokens": 156,
"round_trip": 1,
"framework": "anthropic",
"timestamp": "2026-06-10T14:07:00Z"
}
Traces are written to the output_dir specified
in LocalExporter. Filenames are generated from
task_id, agent names, round trip number, and
a short UUID fragment to avoid collisions.
Error handling
Trace recording failures log a warning to stderr and never raise an exception or interrupt the underlying API call. If a trace cannot be written, your pipeline continues unaffected.
[summitsdk] Warning: trace recording failed
for planner->worker: PermissionError: ...
Streaming is not supported. Calling
messages.stream() through a wrapped client
raises NotImplementedError with a clear message.
Compatibility
summitsdk wraps the raw Anthropic and OpenAI Python clients directly. It works with any framework or orchestration layer built on top of these clients including LangGraph, CrewAI, AutoGen, and custom implementations.
Summit
summitsdk is the instrumentation layer for Summit.
Summit ingests the traces produced by this SDK, scores every agent handoff across a set of collaboration dimensions using a reward model, and automatically rewrites agent system prompts to fix the patterns that score lowest. The reward model compounds in accuracy as more pipelines are observed.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file summitsdk-0.1.2.tar.gz.
File metadata
- Download URL: summitsdk-0.1.2.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ecda4539387238d723a31f9f49f46277f46f1ff751d5640e932834f54555ad8
|
|
| MD5 |
545365efcb3d686f427326ef4ce39705
|
|
| BLAKE2b-256 |
e46227de09909c5a9793acb4de48d17edbc18ec61eb860a353d1f9eb2f44cdba
|
File details
Details for the file summitsdk-0.1.2-py3-none-any.whl.
File metadata
- Download URL: summitsdk-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89af926e41c5c4cb11b395e33358cbb4d88c26562dc38df5fe1971abb5389f40
|
|
| MD5 |
e07352f6c539c0f468c2c31ac902c2d5
|
|
| BLAKE2b-256 |
ceccde9302cc8a6bb95cb4e1a2c6da11b1ea5fca35f5bcf850f07e3a1f8209a4
|