Fix: agent saving wrong rows to AP table
12% drop in tool errors
Please note sudoiq’s agents-api will be open source and publicly available soon. It’s currently in a beta period—sign up for free to get started.
Build and launch production agents in minutes
Don't spend time on custom agent infrastructure when what matters is launching quickly and improving agent performance.
Give me a customer service agent that verifies the user account and can look up orders.
12% drop in tool errors
parse_pdf failing to retrieve full document
Claude Code is waiting for your review.
Eval: no occurences since the change.
Integration to your app
Unified production + Sandbox
Automation
Add the dev package
pip install agentserviceapi
Run the agent
import agent_service as agents_api
client = agents_api.get_client("api_key")
client.register_tools(tools)
result = await client.execute_agent('existing_agent_id', inputs='hello world')
# passing back user feedback thumbs up / down for agent metrics
result.register_feedback(feedback)
Add the dev package
npm install agents-api
Run the agent
import * as agentsApi from "agents-api";
(async () => {
const client = agentsApi.getClient("api_key");
await client.registerTools(tools);
const result = await client.executeAgent("existing_agent_id", { inputs: "hello world" });
// passing back user feedback thumbs up / down for agent metrics
result.registerFeedback(feedback);
})();
Launch an agent
# call agents-api from your local coding loop
agentservice execute --agent-id AGENT_ID --input 1="Hello from Claude Code" --wait
Modify an agent
agentservice agents modify pull AGENT_ID
Run an experiment
# split traffic between two agent versions and collect comparison metrics
agentservice experiment run --baseline-agent BASELINE_AGENT_ID --candidate-agent CANDIDATE_AGENT_ID --traffic-split 0.5
Traffic split metrics → DataFrame (evals vs errors) → push update
import agent_service as agents_api
import pandas as pd
client = agents_api.get_client("api_key")
agent_id = "support-agent"
# Current performance under the live traffic split (per arm: evals, errors, latency, …)
split_perf = client.get_traffic_split_performance(agent_id=agent_id)
df = pd.DataFrame(split_perf.rows)
# Custom analysis: compare eval signals vs errors across variants (slice, plot, regressions, …)
analysis = df.groupby("variant").agg({"eval_score": "mean", "error_count": "sum"})
# Push the workflow update you derived from that analysis
client.push_workflow_update(agent_id=agent_id, workflow=workflow_from_analysis(analysis))
Traffic split metrics → DataFrame (evals vs errors) → push update
import * as agentsApi from "agents-api";
(async () => {
const client = agentsApi.getClient("api_key");
const agentId = "support-agent";
const splitPerf = await client.getTrafficSplitPerformance({ agentId });
// Into a DataFrame / table: group by variant — eval vs error rates (your custom analysis)
// df.groupby("variant").agg({ eval_score: "mean", error_count: "sum" })
await client.pushWorkflowUpdate({
agentId,
workflow: workflowFromAnalysis(splitPerf),
});
})();
agents-api is an open source package and application available under the elasticlicense 2.0. Use it in via api.sudoiq.com or self-host it with a docker container in your own cloud.