mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
Design doc draft (#5)
* wip * wip * wip * wip * wip * wip * Update docs/design/main.md Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com> * Update docs/design/main.md Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com> * wip * wip * wip * wip * wip * wip * wip * wip * wip * update * update * update * wip * wip * wip * wip * address comment * update * add custom agent example * address comment * update code teaser * Update docs/design/main.md Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com> * update * address comments * update guardrails * address some of mark's comments * add new separate sections for agents and workflows * update agent doc * Update agent.md Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com> * add foundry agent doc * wip * refine the component registration interface with agent runtime * update * workflows * update * update * Update * Update * update * Update design doc to remove runtime * Update * Update * Update * update * Add eval section notes (#9) * add notes on eval * remove duplicate title * update docs * update docs * save updates before merge * update evaluation script * Update agents.md * update workflows * Update Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com> * update workflow * Updated design doc * Update * Update * update * update * Update * update * update * Update * update * Update with agent abstraction alternatives * Update discussion * Update * update * Update * Update * Update * Update --------- Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com> Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com> Co-authored-by: Victor Dibia <chuvidi2003@gmail.com>
This commit is contained in:
co-authored by
Evan Mattson
Jack Gerrits
Victor Dibia
parent
d0531bb93b
commit
6089446f04
@@ -0,0 +1,29 @@
|
||||
# Threads
|
||||
|
||||
Threads are stateful objects to manage the conversation context of an agent or a workflow.
|
||||
They are meant to be shown to the user as part of a user interface.
|
||||
They can be persisted to a database or a file system, and used to
|
||||
resume a previous user session.
|
||||
|
||||
Thread should use message and content types as defined in [Core Data Types](types.md).
|
||||
|
||||
A thread can contain sub-threads as a dictionary of threads.
|
||||
This is to ensure agents in a workflow can run concurrently on different threads.
|
||||
The default thread has the key `main` and the sub-threads having keys that are usually
|
||||
corresponding to the agents in a workflow.
|
||||
|
||||
For workflows, thread should also support the concept of execution state, which includes:
|
||||
- The history of steps taken.
|
||||
- The current step in the workflow.
|
||||
- The next steps to be taken.
|
||||
|
||||
This is to ensure the workflow can be resumed from where it left off, without losing
|
||||
the state of execution.
|
||||
|
||||
The framework should provides default implementations of a thread class that:
|
||||
- Can be backed by a database (i.e., Redis) or a file system (i.e., JSON file).
|
||||
- Can be backed by the Foundry Agent Service.
|
||||
- Can be copied and forked.
|
||||
- Can be serialized and deserialized to/from JSON.
|
||||
- Can support checkpointing, rollback, and time travel, for both agent and workflow.
|
||||
- Can automantically export truncated views to be used by model clients to keep the context size within limits.
|
||||
Reference in New Issue
Block a user