
跟着 .NET 官方博客的博文 Introducing Microsoft Agent Framework (Preview): Making AI Agents Simple for Every Developer 中的示例代码基于 Microsoft Agent Framework 创建非常简单的写博文 Agent 与多 Agent 工作流初步体验一下。
先准备好访问 GitHub 模型市场 的 PAT(Personal Access Token)。
在 GitHub 的 Settings / Developer Settings 页面,点击 Personal access tokens / Fine-grained personal access tokens,进入 PAT 管理页面,点击 Generate new token
按钮,进入创建 token 的界面,输入 taken name,在最下面的 Permissions
部分添加 Models
,点击 Generate token
生成 token 并保存。
接着,创建 .NET 控制台项目
dotnet new console -o HelloWorldAgents
cd HelloWorldAgents
添加 Microsoft Agent Framework 的 nuget 包
dotnet add package Microsoft.Agents.AI --prerelease
添加访问 github models 所需的 nuget 包
dotnet add package OpenAI
dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease
dotnet add package Microsoft.Extensions.AI
然后,基于 Agent Framework 的核心抽象类 AIAgent
与聊天智能体实现类 ChatClientAgent
实现一个简单的写博文 agent,代码如下:
IChatClient chatClient =
new ChatClient(
"gpt-4o-mini",
new ApiKeyCredential(Environment.GetEnvironmentVariable("GITHUB_TOKEN")!),
new OpenAIClientOptions { Endpoint = new Uri("https://models.github.ai/inference") })
.AsIChatClient();
AIAgent writer = new ChatClientAgent(
chatClient,
new ChatClientAgentOptions
{
Name = "博主",
Instructions = "文字简练,浅显易懂"
});
AgentRunResponse response = await writer.RunAsync("写一篇简短的博文介绍一下什么是Agentic AI");
Console.WriteLine(response.Text);
用之前创建的 PAT 设置 GITHUB_TOKEN 环境,并运行控制台程序
export GITHUB_TOKEN=github_pat_*****
dotnet run
运行结果如下
### 什么是Agentic AI?
Agentic AI(自主智能体)是指具有一定自主性的人工智能系统,能够独立地进行决策和行动。这种AI不仅仅执行预设的任务,还能够根据环境变化和自身学习进行调整。
#### 核心特征:
1. **自主决策**:Agentic AI能够在复杂环境中,基于当前信息和目标,做出自己的决策,而不是单纯依赖人类指令。
2. **自我学习**:通过不断吸收新的数据,Agentic AI可以优化其决策过程,提升解决问题的能力。
3. **适应性强**:这种AI可以根据不同情境或任务自动调整策略,处理各种未知或变化的情况。
#### 应用场景:
- **自动驾驶**:能够在各种道路和交通条件下自行决定行驶路线。
- **智能助理**:更好地理解用户需求,提供个性化建议。
- **机器人**:在复杂环境中(如灾后救援)独立行动,寻找受困者。
### 总结
Agentic AI代表着智能技术的未来,它将改变我们与机器的互动方式,推动更智能化和自动化的世界。随着技术的不断进步,我们期待看到这种AI在更多领域的应用。
基于 Microsoft.Agents.AI.Workflows
创建多 agent 工作流
添加所需的 nuget 包
dotnet add package Microsoft.Agents.AI.Workflows --prerelease
创建 writer agent 与 editor agent 并组成一个简单的 sequential 工作流,代码如下:
IChatClient chatClient =
new ChatClient(
"gpt-4o-mini",
new ApiKeyCredential(Environment.GetEnvironmentVariable("GITHUB_TOKEN")!),
new OpenAIClientOptions { Endpoint = new Uri("https://models.github.ai/inference") })
.AsIChatClient();
AIAgent writer = new ChatClientAgent(
chatClient,
new ChatClientAgentOptions
{
Name = "博主",
Instructions = "简明扼要并写上博主名称"
});
AIAgent editor = new ChatClientAgent(
chatClient,
new ChatClientAgentOptions
{
Name = "编辑",
Instructions = "写评语并加上编辑名称"
});
Workflow workflow =
AgentWorkflowBuilder
.BuildSequential(writer, editor);
AIAgent workflowAgent = await workflow.AsAgentAsync();
AgentRunResponse workflowResponse =
await workflowAgent.RunAsync("用一句话介绍什么是Agentic AI");
Console.WriteLine(workflowResponse.Text);
运行这个控制台程序,输出如下
Agentic AI是指能够自主执行任务、做出决策并与环境互动的人工智能系统。——博主AI小助手
这句话简洁明了地概括了Agentic AI的核心特征,非常准确。——编辑AI小助手