Understand the AgenticAI SDK structure, including design-time and runtime components, the workspace CLI, deployment workflow, memory stores, and logging.
The AgenticAI SDK separates operations into two phases: design-time (configuration) and runtime (execution). During design-time, you define your app, agents, and tools. At runtime, those definitions execute as a deployed application.The SDK has two major components:
agentic-core — A Python library that provides design-time configuration models and runtime interfaces.
Workspace — A project scaffold with a CLI for building, packaging, and deploying your app.
agenticai_core.designtime provides builder-pattern classes for configuring entities. The builder classes capture entity relationships and offer an autocomplete-friendly API for configuring:
Abstract interfaces — Base classes (abstract_agent, abstract_orchestrator) that your custom implementations must extend.
Request/response classes — Classes that parse and encapsulate agentic conversation state across a session.
MCP server — An SSE (Server-Sent Events) transport server for real-time communication. The MCP server lifecycle is tied to the application — calling app.start() automatically starts the MCP server.
At runtime, a separate set of classes manages agent execution and message passing. The following class diagram shows the runtime components and their relationships.
The commands and their purposes are summarized below.
┌─────────────────────────────────────────────────────────────────────┐
│ CLI COMMANDS │
├──────────────────────────────┬──────────────────────────────────────┤
│ config -u <name> │ Selects the .env config file to │
│ │ use as default. │
├──────────────────────────────┼──────────────────────────────────────┤
│ package -o <name> │ Generates application.config.json │
│ │ and bundles source code into a │
│ │ .kar archive. │
├──────────────────────────────┼──────────────────────────────────────┤
│ start │ Starts the MCP server with │
│ │ registered agents and tools. │
├──────────────────────────────┼──────────────────────────────────────┤
│ test │ Tests the deployed app end to end. │
├──────────────────────────────┼──────────────────────────────────────┤
│ deploy -f <kar> │ Creates resources on the Platform │
│ │ and triggers package deployment. │
├──────────────────────────────┼──────────────────────────────────────┤
│ publish -a <appId> │ Creates an environment for the │
│ -n <name> │ deployed app. │
├──────────────────────────────┼──────────────────────────────────────┤
│ status -a <appId> │ Checks the status of an app │
│ -n <name> │ environment. │
├──────────────────────────────┼──────────────────────────────────────┤
│ undeploy -f <path> │ Undeploys the app environment. │
└──────────────────────────────┴──────────────────────────────────────┘
Memory stores provide persistent data storage scoped to the user, application, or session. You configure them at design-time and access them in your tools at runtime.