Configure & record your first run
Option A: context manager — explicit control over every step.
agent.py — context manager
import blackbox_sdk as bb
bb.configure(api_url="https://blackbox-gold.vercel.app
")
SYSTEM_PROMPT = "You are a helpful research assistant."
with bb.run(
"my_agent_run_001",
model="claude-sonnet-4-6",
system_prompt=SYSTEM_PROMPT,
tools=["web_search", "calculator"],
sampling={"temperature": 0.3, "max_tokens": 1024},
) as run:
# Your agent logic here
run.reasoning("Searching for Q3 earnings data")
run.tool_call("web_search",
inputs={"query": "Q3 earnings"},
result={"hits": [{"title": "Q3 Report", "snippet": "$4.2M revenue"}]})
run.output(
"Q3 earnings were $4.2M",
tokens_in=520, tokens_out=180,
cost_usd=0.0042, latency_ms=1340,
)
# ↑ Run sealed automatically. Chain is provable.Option B: auto-instrumentation — zero agent changes, patches openai + anthropic globally.
agent.py — auto-instrumentation
import blackbox_sdk as bb
# Call once at startup — before any LLM calls
bb.configure(api_url="https://blackbox-gold.vercel.app
")
bb.instrument() # patches openai + anthropic clients
# Every client.messages.create() or client.chat.completions.create()
# is now automatically recorded as a BLACKBOX run. No other changes needed.
✓ 37 runs recorded