Watch: Complete SDK setup walkthrough—install, configure, and see real performance gains in 2 minutes.
Beta notice: The Atlas SDK runtime is in beta. APIs and configuration keys may evolve—check release notes before upgrading.
Prerequisites
Install the SDK directly from PyPI:
- Install and upgrade the SDK
- Store your LLM credentials
- Use a modern version of Python. The SDK is tested with Python 3.10 and newer (the repo is developed with Python 3.13).
We recommend keeping credentials in a
.env file and loading them with dotenv or your process manager so they never land in shell history.Step 1 – Run the Quickstart Task
Working directory: The SDK installs globally via
pip install arc-atlas. You can run atlas commands from any directory. Config files can live in your project root (for CLI autodiscovery) or in the ATLAS Core repository (for example configs).
The adaptive runtime probes capability and routes every task into the right lane before the dual-agent loop (student + verifying teacher) executes.
Option A – CLI Autodiscovery (recommended for new stacks)
atlas env initscans for@atlas.environment/@atlas.agentdecorators or factory functions, loads.env, and writes.atlas/discover.json,.atlas/generated_factories.py, and.atlas/generated_config.yaml.atlas run --configloads the generated config, verifies module hashes, streams telemetry into.atlas/runs/, and injects learning playbooks when available.- Need to exercise the full orchestrator? Point
atlas run --config configs/examples/sdk_quickstart.yaml --task "..."at a config file to bypass discovery entirely.
Option B – Python API (direct invocation)
If you want to use pre-built example configs:Run it inline if you prefer to avoid creating a file:
atlas.runtime.telemetry.ConsoleTelemetryStreamer auto-enables when stdout is a TTY; override with stream_progress=True/False.
Need a local Postgres instance? Run atlas init to scaffold and launch the Docker Postgres stack. Skip this step if you prefer ephemeral runs.
Want to see adaptive learning in action? Check out the Adaptive Tool Use example showing a LangGraph agent learning efficient MCP tool usage across 25 tasks, demonstrating 30-40% reduction in tool calls.
Bring Your Own Agent
Atlas wraps any agent that exposes an OpenAI-compatible API, HTTP endpoint, or Python callable. Three adapter types are available:- OpenAI adapter - For GPT, Claude via OpenAI-compatible APIs
- HTTP adapter - For microservices, serverless functions
- Python adapter - For LangGraph, local callables, custom agents
What Just Happened?
Think ofatlas.core.run as a project manager who never gets tired—now fronted by an adaptive controller:
- Triage & probe – a triage adapter builds context, the capability probe scores confidence, and the runtime picks a lane.
- Configure – the YAML tells the orchestrator which agent to call and how the dual-agent reasoning loop (student + verifying teacher) should behave.
- Plan – the Student drafts a step-by-step approach when a stepwise lane is chosen; in single-shot lanes the plan collapses to one step.
- Review – the Teacher approves or tweaks the plan (or just inspects the final answer in
pairedmode). - Execute – each step runs with lane-specific guidance, validation, and retries.
- Evaluate – the Reward System scores the work, deciding whether to reuse guidance and how to update persona memories.
Configuration Breakdown
Thesdk_quickstart.yaml config defines the runtime behavior. Here’s a high-level look at the key sections:
agent: Specifies the agent to run the task. The quickstart uses the OpenAI adapter withgpt-4o-miniand no tools, requiring only anOPENAI_API_KEY.student: Configures the planner, executor, and synthesizer roles with their respective prompts and token limits.teacher: Defines the review and guidance agent, which also has its own model and token budget.orchestration: Sets runtime parameters like the number of retries (default: 1) and step timeouts.rim(Reward System): Defines the judges and arbiter that score the final answer for quality and helpfulness. This score determines if a retry is needed.storage: Point at Postgres to persist episodes; remove the block or set it tonullfor in-memory experiments.student.prompts/teacher.prompts: Optional overrides. Atlas derives persona text fromatlas.prompts; customize behaviour by editing these prompt blocks directly.
SDK Configuration reference for details.
Troubleshooting Checklist
- Missing API key – ensure
OPENAI_API_KEY(or Azure equivalents) are exported in the same shell. - Time spent downloading dependencies – editable installs pull in
litellm,httpx, and friends on the first run; subsequent runs are instant. - Model limits – bump
max_output_tokensin the config if your summaries get truncated.