Agent Framework 代理将代理抽象、模型或远程代理连接、指令、工具、中间件、上下文提供程序和会话状态组合在一致的运行接口后面。
运行时和执行
代理类型
聊天客户端代理
聊天客户端代理是应用程序拥有的代理,由模型推理客户端提供支持。 它们支持函数工具、多轮对话、提供程序托管的工具,可在可用、结构化输出、流式处理、中间件以及本地或服务托管的对话历史记录。
实现Microsoft.Extensions.AI.IChatClient的任何推理客户端都可以返回:ChatClientAgent
using Microsoft.Agents.AI;
AIAgent agent = new ChatClientAgent(
chatClient,
instructions: "You are a helpful assistant.");
所有代理实现共享 AIAgent 抽象,因此应用程序代码和业务流程可以通过一个接口处理聊天客户端代理、自定义代理和远程代理代理。
有关提供程序功能、对话历史记录支持和 SDK 终结点选择,请参阅 模型提供程序。
从实现SupportsChatGetResponse以下任何客户端创建标准Agent:
from agent_framework import Agent
agent = Agent(
client=client,
instructions="You are a helpful assistant.",
)
同一 Agent 接口适用于受支持的模型提供程序。 直接代理类型,例如FoundryAgent,A2AAgentGitHubCopilotAgent并ClaudeAgent连接到托管或远程代理运行时。
有关可用的推理客户端,请参阅 模型提供程序。
Go 模型提供程序包通过提供程序特定的构造函数构造标准 *agent.Agent 类型。 这为应用程序代码提供了一致的运行、会话、工具、中间件和流式处理接口,而每个提供程序都拥有客户端初始化。
有关构造函数和导入路径,请参阅 模型提供程序。
对话和内存
对话概念 涵盖会话、上下文提供程序、存储、压缩和内置的聊天历史记录内存提供程序。
Middleware
中间件概念 涵盖定义、范围、排序、共享状态、运行时上下文、终止、错误和结果替代。
Safety
代理安全 描述了限制代理行为和降低操作风险的设计模式。 FIDES 的安全强制仍然是 代理功能。