Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
5dd05d7
Update simple-sequential-workflow.md
hkamel Oct 4, 2025
19aefa6
Fix link to aggregate_results_of_different_types.py
hkamel Oct 4, 2025
2bff28f
Fix link to azure_ai_agents_streaming.py sample
hkamel Oct 4, 2025
dbafef4
Fix link to edge_condition.py in documentation
hkamel Oct 4, 2025
507e38a
Fix link path in requests-and-responses.md
hkamel Oct 4, 2025
52def47
Merge pull request #722 from MicrosoftDocs/repo_sync_working_branch
westey-m Oct 7, 2025
3231764
Add documentation to show how chat reduction works (#721)
westey-m Oct 7, 2025
fa3dc85
Add page for agents based on AzureAIFoundry models
westey-m Oct 7, 2025
7f62a82
Update TOC
westey-m Oct 7, 2025
ae2a33b
Fix next links.
westey-m Oct 7, 2025
61902a4
Fix heading.
westey-m Oct 7, 2025
e9e5d99
Miscellaneous edits to conform to style guide (#713)
gewarren Oct 7, 2025
764539a
Update quick-start.md
ssalgadodev Oct 8, 2025
98332bc
Update TOC.yml
ssalgadodev Oct 8, 2025
0f41248
Merge pull request #724 from ssalgadodev/patch-20
TaoChenOSU Oct 8, 2025
827931e
Merge pull request #717 from hkamel/patch-2
markwallace-microsoft Oct 9, 2025
e83ae2a
Merge pull request #723 from westey-m/azure-ai-foundry-models-agent
markwallace-microsoft Oct 9, 2025
e50c73b
Merge pull request #720 from hkamel/patch-5
markwallace-microsoft Oct 9, 2025
c584abc
Merge pull request #719 from hkamel/patch-4
markwallace-microsoft Oct 9, 2025
ac5df48
Merge pull request #718 from hkamel/patch-3
markwallace-microsoft Oct 9, 2025
f5328fe
Merge pull request #716 from hkamel/patch-1
markwallace-microsoft Oct 9, 2025
7d637ae
Agent Framework tutorials edit pass (#715)
gewarren Oct 9, 2025
2f41b4d
Merge pull request #725 from MicrosoftDocs/main
westey-m Oct 9, 2025
76cc670
Add link to the .Net API docuemntation
markwallace-microsoft Oct 9, 2025
b6b01d1
Update agent-framework/api-docs/TOC.yml
markwallace-microsoft Oct 10, 2025
f74f716
Merge pull request #726 from markwallace-microsoft/users/markwallace/…
markwallace-microsoft Oct 10, 2025
49d1275
Merge pull request #727 from MicrosoftDocs/main
markwallace-microsoft Oct 10, 2025
18a08e0
Updated link to Python API reference
dmytrostruk Oct 15, 2025
647dd11
Merge pull request #730 from dmytrostruk/python-api-reference
dmytrostruk Oct 15, 2025
9b3ca67
Merge pull request #732 from MicrosoftDocs/main
dmytrostruk Oct 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions .openpublishing.publish.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@
"type_mapping": {
"Conceptual": "Content"
},
"build_entry_point": "docs"
"build_entry_point": "docs",
"xref_query_tags": [
"/dotnet"
]
},
{
"docset_name": "semantic-kernel",
Expand All @@ -25,7 +28,10 @@
"Conceptual": "Content"
},
"build_entry_point": "docs",
"template_folder": "_themes"
"template_folder": "_themes",
"xref_query_tags": [
"/dotnet"
]
}
],
"notification_subscribers": [
Expand Down Expand Up @@ -75,4 +81,4 @@
"template_folder": "_themes.pdf"
}
}
}
}
5 changes: 3 additions & 2 deletions agent-framework/TOC.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
items:
- name: Agent Framework
href: overview/agent-framework-overview.md
- name: Quickstart Guide
- name: Quick Start Guide
href: tutorials/quick-start.md
expanded: true
- name: Tutorials
Expand All @@ -19,4 +19,5 @@ items:
- name: Migration Guide
href: migration-guide/TOC.yml
- name: API Reference Guide
items:
href: api-docs/TOC.yml
expanded: true
4 changes: 4 additions & 0 deletions agent-framework/api-docs/TOC.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- name: .NET API reference
href: /dotnet/api/microsoft.agents.ai
- name: Python API reference
href: /python/api/agent-framework-core/agent_framework
8 changes: 4 additions & 4 deletions agent-framework/index.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ metadata:

productDirectory:
items:
- title: Getting Started
imageSrc: /agent-framework/media/getting-started.svg
- title: Overview
imageSrc: /agent-framework/media/overview.svg
links:
- url: /agent-framework/overview/agent-framework-overview
text: Introduction to Agent Framework
- title: Quick Start
- title: Get Started
imageSrc: /agent-framework/media/quick-start.svg
links:
- url: /agent-framework/tutorials/quick-start
text: Agent Framework Quick Start
text: Agent Framework Quick-Start Guide
- url: /agent-framework/tutorials/overview
text: Learn how to use Agent Framework
- url: https://github.com/microsoft/agent-framework/tree/main/python/samples
Expand Down
25 changes: 13 additions & 12 deletions agent-framework/migration-guide/from-autogen/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,11 @@ many important features came from external contributors.
[Microsoft Agent Framework](https://github.com/microsoft/agent-framework)
is a new multi-language SDK for building AI agents and workflows using LLMs.
It represents a significant evolution of the ideas pioneered in AutoGen
and incorporates lessons learned from real-world usage. It is developed
by the core AutoGen team and Semantic Kernel team at Microsoft,
and incorporates lessons learned from real-world usage. It's developed
by the core AutoGen and Semantic Kernel teams at Microsoft,
and is designed to be a new foundation for building AI applications going forward.

What follows is a practical migration path: we’ll start by grounding on what stays the same and what changes at a glance, then cover model client setup, single‑agent features, and finally multi‑agent orchestration with concrete code side‑by‑side. Along the way, links to runnable samples in the Agent Framework repo help you validate each step.
This guide describes a practical migration path: it starts by covering what stays the same and what changes at a glance. Then, it covers model client setup, single‑agent features, and finally multi‑agent orchestration with concrete code side‑by‑side. Along the way, links to runnable samples in the Agent Framework repo help you validate each step.

## Key Similarities and Differences

Expand Down Expand Up @@ -277,10 +277,10 @@ Stateless by default: quick demo
```python
# Without a thread (two independent invocations)
r1 = await agent.run("What's 2+2?")
print(r1.text) # e.g., "4"
print(r1.text) # for example, "4"

r2 = await agent.run("What about that number times 10?")
print(r2.text) # Likely ambiguous without prior context; may not be "40"
print(r2.text) # Likely ambiguous without prior context; cannot be "40"

# With a thread (shared context across calls)
thread = agent.get_new_thread()
Expand Down Expand Up @@ -487,9 +487,10 @@ Requirements and caveats:

- Hosted tools are only available on models/accounts that support them. Verify entitlements and model support for your provider before enabling these tools.
- Configuration differs by provider; follow the prerequisites in each sample for setup and permissions.
- Not every model supports every hosted tool (e.g., web search vs code interpreter). Choose a compatible model in your environment.
- Not every model supports every hosted tool (for example, web search vs code interpreter). Choose a compatible model in your environment.

**Note**: AutoGen supports local code execution tools, but this feature is planned for future Agent Framework versions.
> [!NOTE]
> AutoGen supports local code execution tools, but this feature is planned for future Agent Framework versions.

**Key Difference**: Agent Framework handles tool iteration automatically at the agent level. Unlike AutoGen's `max_tool_iterations` parameter, Agent Framework agents continue tool execution until completion by default, with built-in safety mechanisms to prevent infinite loops.

Expand Down Expand Up @@ -599,7 +600,7 @@ coordinator = ChatAgent(
)
```

Explicit migration note: In AutoGen, set `parallel_tool_calls=False` on the coordinators model client when wrapping agents as tools to avoid concurrency issues when invoking the same agent instance.
Explicit migration note: In AutoGen, set `parallel_tool_calls=False` on the coordinator's model client when wrapping agents as tools to avoid concurrency issues when invoking the same agent instance.
In Agent Framework, `as_tool()` does not require disabling parallel tool calls
as agents are stateless by default.

Expand Down Expand Up @@ -652,7 +653,7 @@ For detailed middleware examples, see:

### Custom Agents

Sometimes you dont want a model-backed agent at all—you want a deterministic or API-backed agent with custom logic. Both frameworks support building custom agents, but the patterns differ.
Sometimes you don't want a model-backed agent at all—you want a deterministic or API-backed agent with custom logic. Both frameworks support building custom agents, but the patterns differ.

#### AutoGen: Subclass BaseChatAgent

Expand Down Expand Up @@ -739,7 +740,7 @@ Notes:

---

Next, lets look at multi‑agent orchestration—the area where the frameworks differ most.
Next, let's look at multi‑agent orchestration—the area where the frameworks differ most.

## Multi-Agent Feature Mapping

Expand Down Expand Up @@ -1033,8 +1034,8 @@ workflow = (

What to notice:

- GraphFlow broadcasts messages and uses conditional transitions. Join behavior is configured via target‑side `activation` and per‑edge `activation_group`/`activation_condition` (e.g., group both edges into `join_d` with `activation_condition="any"`).
- Workflow routes data explicitly; use `target_id` to select downstream executors. Join behavior lives in the receiving executor (e.g., yield on first input vs wait for all), or via orchestration builders/aggregators.
- GraphFlow broadcasts messages and uses conditional transitions. Join behavior is configured via target‑side `activation` and per‑edge `activation_group`/`activation_condition` (for example, group both edges into `join_d` with `activation_condition="any"`).
- Workflow routes data explicitly; use `target_id` to select downstream executors. Join behavior lives in the receiving executor (for example, yield on first input vs wait for all), or via orchestration builders/aggregators.
- Executors in Workflow are free‑form: wrap a `ChatAgent`, a function, or a sub‑workflow and mix them within the same graph.

#### Key Differences
Expand Down
Loading