Skip to content

Conversation

@bibryam
Copy link
Contributor

@bibryam bibryam commented Dec 19, 2025

Thank you for helping make the Dapr documentation better!

Please follow this checklist before submitting:

  • Commits are signed with Developer Certificate of Origin (DCO - learn more)
  • Read the contribution guide
  • Commands include options for Linux, MacOS, and Windows within tabpane
  • New file and folder names are globally unique
  • Page references use shortcodes instead of markdown or URL links
  • Images use HTML style and have alternative text
  • Places where multiple code/command options are given have tabpane

In addition, please fill out the following to help reviewers understand this pull request:

Description

  • Getting Started guide: Reworked to align with the latest Dapr Agents quickstarts, using 06_durable_agent_http.py as the primary walkthrough. Updated the flow to cover cloning the repo, environment setup, durable agent creation, Dapr component configuration, HTTP execution via AgentRunner, durability behavior, and inspection with Diagrid Dashboard.
  • Introduction docs: Updated and clarified the benefits and positioning of Dapr Agents, including durable execution, agent identity, and workflow-backed behavior.
  • Quickstarts docs: Updated the introduction to reference the new Dapr Agents Fundamentals quickstart instead of the older Hello World example.

Issue reference

Signed-off-by: Bilgin Ibryam <bibryam@gmail.com>
@bibryam bibryam requested review from a team as code owners December 19, 2025 20:05
Copy link
Member

@msfussell msfussell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs another pass to make it consistent with component naming defaults

# Configure the agent to use Dapr State Store for conversation history.
memory=AgentMemoryConfig(
store=ConversationDaprStateMemory(
store_name="conversation-statestore",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the names here should match those that we agree as the default names. Should this not be "agent-memory" ?

* `06_durable_agent_http.py` – the main durable weather agent application exposed over HTTP
* `function_tools.py` – contains `slow_weather_func`, the tool used by the agent
* `resources/llm-provider.yaml` – Conversation API and LLM configuration
* `resources/conversation-statestore.yaml` – conversation memory state store
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be called conversation or just memory store? And where does the term session come into this?

)
),
# This is where the execution state is stored
state=AgentStateConfig(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually think this class should be renamed to AgentWorkflowConfig() and not AgentStateConfig() so it is explicit

),
```

This tells the agent to store conversation history in a Dapr state store named `conversation-statestore`, under a given `session_id`. The matching Dapr component is `resources/conversation-statestore.yaml`:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comment above about renaming this to memory-statestore

kind: Component
metadata:
name: openai
name: conversation-statestore
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should use the same as the default names here IMO. So agent-memory

def get_weather() -> str:
"""Get current weather."""
return "It's 72°F and sunny"
* This is again a Redis-backed store holds durable workflow state.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* This is again a Redis-backed store holds durable workflow state.
* This is another Redis state store that holds the durable workflow state.



Dapr Agents is a developer framework for building durable and resilient AI agent systems powered by Large Language Models (LLMs). Built on the battle-tested Dapr project, it enables developers to create autonomous systems that reason through problems, make dynamic decisions, and collaborate seamlessly. It includes built-in observability and stateful workflow execution to ensure agentic workflows complete successfully, regardless of complexity. Whether you're developing single-agent applications or complex multi-agent workflows, Dapr Agents provides the infrastructure for intelligent, adaptive systems that scale across environments.
Dapr Agents is a developer framework for building durable and resilient AI agent systems powered by Large Language Models (LLMs). Built on the battle-tested Dapr project, it enables developers to create autonomous systems that have identity, reason through problems, make dynamic decisions, and collaborate seamlessly. It includes built-in observability and stateful workflow execution to ensure agentic workflows complete successfully, regardless of complexity. Whether you're developing single-agent applications or complex multi-agent workflows, Dapr Agents provides the infrastructure for intellI want to organise only the section below. igent, adaptive systems that scale across environments.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks to be a grammar mistake here
"for intellI want to organise only the section below. igent, adaptive "

| [**MCP Support**]({{% ref "dapr-agents-core-concepts.md#mcp-support" %}}) | Built-in support for [Model Context Protocol](https://modelcontextprotocol.io/) enabling agents to dynamically discover and invoke external tools through standardized interfaces.
| [**Memory Management**]({{% ref "dapr-agents-core-concepts.md#memory" %}}) | Retain context across interactions with options from simple in-memory lists to vector databases, integrating with [Dapr state stores]({{% ref state-management-overview.md %}}) for scalable, persistent memory.
| [**Durable Agents**]({{% ref "dapr-agents-core-concepts.md#durable-agents" %}}) | Workflow-backed agents that provide fault-tolerant execution with persistent state management and automatic retry mechanisms for long-running processes.
| [**Agent Runner**]({{% ref "dapr-agents-core-concepts.md#agent-runner" %}}) | Expose agents over HTTP or subscribe to a PubSub for long-running tasks, enabling API access to agents without requiring a user interface or human intervention.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could not find a good example of what the Agent Runner does? Must it be 1:1 to an agent, or can it have many agents associated with it? I think you have to have much more than this in the docs.

),
)

# This runner will run the agent and expose it on port 8001
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would love to have a longer more detailed description of what a runner can do here. in particular is this 1:1 to an agent?

),
)

# This runner will run the agent and expose it on port 8001
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# This runner will run the agent and expose it on port 8001
# The AgentRunner expose the weather agent on HTTP port 8001 using the serve capability. You could also expose the weather agent as standalone or to send message with XXX" <- Complete this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants