SimLab is agent-agnostic. The default reference agent uses a tool-calling loop with any LLM API (via LiteLLM), but you can bring your own agent by implementing the BaseAgent contract. Install via:
Contract
Your agent extends BaseAgent and implements four methods:
self.call_llm() is your own LLM integration — use any provider (OpenAI, Anthropic, etc.). SimLab is model-agnostic.
Lifecycle
- The runner calls
setup() once, then run().
- If the agent exceeds the timeout, the run is terminated and artifacts captured up to that point are saved.
Running Your Agent
Register your agent at runtime via the CLI:
If --agent-import-path is omitted, the CLI uses the built-in reference agent.