3.1 KiB
status, contact, date, deciders, consulted, informed
| status | contact | date | deciders | consulted | informed |
|---|---|---|---|---|---|
| proposed | markwallace-microsoft | 2025-08-06 | markwallace-microsoft, westey-m, quibitron, trrwilson |
Azure.AI.Agents.Persistent package Extensions Methods for Agent Framework
Context and Problem Statement
To align the Azure.AI.Agents.Persistent package and Agent Framework a set of extensions methods have been created which allow a developer to create or retrieve an AIAgent using the PersistentAgentsClient.
The purpose of this ADR is to decide where these extension methods should live.
Decision Drivers
- Provide the optimum experience for developers.
- Avoid adding additional dependencies to the
Azure.AI.Agents.Persistentpackage (and not in the future)
Considered Options
- Add the extension methods to the
Azure.AI.Agents.Persistentpackage and change it's dependencies - Add the extension methods to the
Azure.AI.Agents.Persistentpackage without changing it's dependencies - Add the extension methods to a
Microsoft.Extensions.AI.Azurepackage
Add the extension methods to the Azure.AI.Agents.Persistent package and change it's dependencies
-
Azure.AI.Agents.Persistentwould depend onMicrosoft.Extensions.AIinstead ofMicrosoft.Extensions.AI.Abstractions -
Good because, extension methods are in the
Azure.AI.Agents.Persistentpackage and can be easily kept up-to-date -
Good because, developers don't need to explicitly depend on a new package to get Agent Framework functionality
-
Bad because, it introduces additional dependencies which would possibly grow overtime
- Add the extension methods to the Azure.AI.Agents.Persistent package without changing it's dependencies
-
Azure.AI.Agents.Persistentwould depend onMicrosoft.Extensions.AI.Abstractions(as it currently does) -
ChatClientAgentandFunctionInvokingChatClientwould move toMicrosoft.Extensions.AI.Abstractions -
Good because, extension methods are in the
Azure.AI.Agents.Persistentpackage and can be easily kept up-to-date -
Good because, developers don't need to explicitly depend on a new package to get Agent Framework functionality
-
Good because, it introduces minimal additional dependencies
-
Bad because, it adds additional dependencies to
Microsoft.Extensions.AI.Abstractionsand these additional dependencies add up as transitive toAzure.AI.Agents.Persistent`
Add the extension methods to a Microsoft.Extensions.AI.Azure package
-
Introduce a new package called
Microsoft.Extensions.AI.Azurewhere the extension methods would live -
Azure.AI.Agents.Persistentdoes not change -
Good because, it introduces no additional dependencies to
Azure.AI.Agents.Persistentpackage -
Bad because, extension methods are not in the
Azure.AI.Agents.Persistentpackage and cannot be easily kept up-to-date -
Bad because, developers need to explicitly depend on a new package to get Agent Framework functionality
Decision Outcome
Chosen option: "Add the extension methods to a Microsoft.Extensions.AI.Azure package", because
it introduces no additional dependencies to Azure.AI.Agents.Persistent package.