Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ADR Agents - AgentChat Serialization Design #6972

Merged
merged 33 commits into from
Jul 23, 2024
Merged

Conversation

crickman
Copy link
Contributor

Motivation and Context

Users of the Agent Framework are unable to store and later retrieve conversation state when using an AgentChat to coordinate Agent interactions. This limits the ability for an agent conversation to single use as it must be maintained with memory of the process that initiated the conversation.

Formalizing a mechanism that supports serialization and deserialization of any AgentChat class provides an avenue to capture and restore state across multiple sessions as well as compute boundaries.

Description

Design in ADR form for input, exploration of alternatives, and review.

Contribution Checklist

@crickman crickman added PR: ready for review All feedback addressed, ready for reviews experimental Associated with an experimental feature enhancement agents labels Jun 26, 2024
@crickman crickman self-assigned this Jun 26, 2024
@crickman crickman linked an issue Jun 26, 2024 that may be closed by this pull request
@crickman crickman requested a review from moonbox3 July 2, 2024 21:39
@crickman crickman added this pull request to the merge queue Jul 23, 2024
Merged via the queue into main with commit de2f1bf Jul 23, 2024
12 checks passed
@crickman crickman deleted the adr_agent_serialization branch July 23, 2024 14:51
@crickman crickman removed the PR: ready for review All feedback addressed, ready for reviews label Jul 24, 2024
LudoCorporateShark pushed a commit to LudoCorporateShark/semantic-kernel that referenced this pull request Aug 25, 2024
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Users of the Agent Framework are unable to store and later retrieve
conversation state when using an AgentChat to coordinate Agent
interactions. This limits the ability for an agent conversation to
single use as it must be maintained with memory of the process that
initiated the conversation.

Formalizing a mechanism that supports serialization and deserialization
of any AgentChat class provides an avenue to capture and restore state
across multiple sessions as well as compute boundaries.

### Description
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

Design in ADR form for input, exploration of alternatives, and review.

### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] I didn't break anyone 😄
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agents documentation enhancement experimental Associated with an experimental feature
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

.Net Agents - Design AgentChat serialization / deserialization
5 participants