Agentic software should feel like software.
Build agents, tools and workflows as normal software. AgentDeck gives them one execution model you can observe, control and extend.
Built to stay out of your way.
Agent systems accumulate infrastructure quickly, and the decisions that look small early are the hardest to change later. Execution, control, state, observability, reporting, interaction and integration already have their place in AgentDeck, and they were designed to work together: less machinery to build today, and nothing to retrofit around your application when you need the next one.
The model
Simple code. Serious capabilities.
Your code stays about the behavior and the structure of your application. Tools do work, agents make decisions, workflows manage process, and a Deck is where they come together.
jack = Agent(
name="Jack",
instructions="Help developers build with AgentDeck.",
tools=[search_docs, read_doc, read_changelog],
)
deck = Deck(agents=[jack], context=DocsCorpus)
deck.serve(Native.http("/api"), AGUI.http("/agui"), Terminal.stdio())- Run
- Jack
- search_docs
- read_doc
- read_changelog
- Events
- One ordered stream of what happened.
- Reporting
- Progress and status, sent from inside the work.
- Control
- Execution can be paused, resumed or cancelled.
- Interaction
- Branches can wait for external input.
- State
- Sessions that outlive a single call.
- Bindings
- Native HTTP/SSE, the terminal, AG-UI clients such as Assistant UI, and any binding you write reach the same run.
Needing more costs one call, not a redesign.
- Concurrency
ctx.parallel(...)Child runs whose failures and cancellation compose.- A human
ctx.ask(...)The run suspends in place, durably, and resumes on the next line.- Another agent
ctx.invoke(...)A child run with its own cost, cancel cascade and events.- A protocol
deck.serve(AGUI.http("/agui"))One more surface onto the same runs and controls.
The complexity is still there. It just lives in the layer built for it. The outside reaches them through bindings: the runtime never learns which one is talking.
Jack, running
Anything you want to ask?
Jack is an AgentDeck developer agent running on this site. Ask him about the SDK, architecture, integration, or paste code you are working with. The tree beside him is his actual run: every node is an event the runtime emitted, in the order it emitted it.
Try one
Execution
Ask Jack something. Every node that appears here is an event his run emitted.
Jack is built entirely with AgentDeck.
See how Jack is builtBuild agentic software like software.
pip install agentdeck-sdk