初试 Microsoft Agent Framework
<p>跟着 .NET 官方博客的博文 Introducing Microsoft Agent Framework (Preview): Making AI Agents Simple for Every Developer 中的示例代码基于 Microsoft Agent Framework 创建非常简单的写博文 Agent 与多 Agent 工作流初步体验一下。</p><p>先准备好访问 GitHub 模型市场 的 PAT(Personal Access Token)。</p>
<p>在 GitHub 的 Settings / Developer Settings 页面,点击 Personal access tokens / Fine-grained personal access tokens,进入 PAT 管理页面,点击 <code>Generate new token</code> 按钮,进入创建 token 的界面,输入 taken name,在最下面的 <code>Permissions</code> 部分添加 <code>Models</code>,点击 <code>Generate token</code> 生成 token 并保存。</p>
<p></p>
<p>接着,创建 .NET 控制台项目</p>
dotnet new console -o HelloWorldAgents
cd HelloWorldAgents
<p>添加 Microsoft Agent Framework 的 nuget 包</p>
dotnet add package Microsoft.Agents.AI --prerelease
<p>添加访问 github models 所需的 nuget 包</p>
dotnet add package OpenAI
dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease
dotnet add package Microsoft.Extensions.AI
<p>然后,基于 Agent Framework 的核心抽象类 <code>AIAgent</code> 与聊天智能体实现类 <code>ChatClientAgent</code> 实现一个简单的写博文 agent,代码如下:</p>
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);
<p>用之前创建的 PAT 设置 GITHUB_TOKEN 环境,并运行控制台程序</p>
export GITHUB_TOKEN=github_pat_*****
dotnet run
<p>运行结果如下</p>
### 什么是Agentic AI?
Agentic AI(自主智能体)是指具有一定自主性的人工智能系统,能够独立地进行决策和行动。这种AI不仅仅执行预设的任务,还能够根据环境变化和自身学习进行调整。
#### 核心特征:
1. **自主决策**:Agentic AI能够在复杂环境中,基于当前信息和目标,做出自己的决策,而不是单纯依赖人类指令。
2. **自我学习**:通过不断吸收新的数据,Agentic AI可以优化其决策过程,提升解决问题的能力。
3. **适应性强**:这种AI可以根据不同情境或任务自动调整策略,处理各种未知或变化的情况。
#### 应用场景:
- **自动驾驶**:能够在各种道路和交通条件下自行决定行驶路线。
- **智能助理**:更好地理解用户需求,提供个性化建议。
- **机器人**:在复杂环境中(如灾后救援)独立行动,寻找受困者。
### 总结
Agentic AI代表着智能技术的未来,它将改变我们与机器的互动方式,推动更智能化和自动化的世界。随着技术的不断进步,我们期待看到这种AI在更多领域的应用。
<p>基于 <code>Microsoft.Agents.AI.Workflows</code> 创建多 agent 工作流</p>
<p>添加所需的 nuget 包</p>
dotnet add package Microsoft.Agents.AI.Workflows --prerelease
<p>创建 writer agent 与 editor agent 并组成一个简单的 sequential 工作流,代码如下:</p>
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);
<p>运行这个控制台程序,输出如下</p>
Agentic AI是指能够自主执行任务、做出决策并与环境互动的人工智能系统。——博主AI小助手
这句话简洁明了地概括了Agentic AI的核心特征,非常准确。——编辑AI小助手<br>来源:程序园用户自行投稿发布,如果侵权,请联系站长删除<br>免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 鼓励转贴优秀软件安全工具和文档! 这个好,看起来很实用 分享、互助 让互联网精神温暖你我 感谢分享,学习下。
页:
[1]