動態

詳情 返回 返回

初試 Microsoft Agent Framework - 動態 詳情

跟着 .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小助手

Add a new 評論

Some HTML is okay.