AWS Amarathon 2025 回顧

實務建置代理式 AI:Nova Act 與 Strands Agents

回顧系列

場次筆記

代理式 AI 的未來趨勢

  • 生成式 AI 的演進遵循明確的發展歷程,每個階段都為企業帶來新的優先事項與挑戰。
  • 系統的代理自主程度從低度(規則導向、高度人工監督)到高度(獨立運作、策略決策)不等。
  • 目前大多數系統仍處於代理式 AI 的早期階段。更高的代理自主程度需要進階技術、治理、信任與組織整備度。展望由 AI 代理驅動的未來
  • Sequoia Capital 預測,未來的 AI 系統將演進為可自主運作的智慧型代理,具備推理、規劃、協作與高度自主能力。
  • 預測中的 2030 年代代理經濟將如同全球神經網路般運作,由眾多代理作業組成相互連結的網路。
  • 這讓開發人員有機會讓自己居於此網路的關鍵節點;如果其 AI 代理獲得廣泛採用,便可能帶來可觀的財務收益。
  • Sequoia Capital 也預測「一人獨角獸」將會興起,也就是由單一個人建立及營運、估值達 10 億美元的公司。這項轉變將催生新的組織模式,創辦人將協調 AI 代理工作流程,而非建立傳統團隊。
  • 創辦人的角色將轉變為策略編排者,決定哪些功能應自動化、委派,以及應在何處整合人工監督。隨機性思維與規格驅動開發
  • AI 代理的世界需要隨機性思維,也就是一種不同的思考方式。開發人員可能需要調整與大型語言模型溝通的方法,以提高輸出準確度。
  • Kiro 等未來 AI IDE 將具備規格驅動開發功能,凸顯出我們需要針對組織結構與心智框架等新領域做好心理準備。代理式 AI 的基礎設施
  • 未來代理式 AI 世界的基礎設施正在建設中,其中包括對 AI 代理及其工具之間互通性不可或缺的通訊協定。
  • MCP 與 A2A 等新興標準正處理此互通性挑戰,且已獲 Amazon、Anthropic、Meta 與 Google 等產業領導者採用。
  • 這些通訊協定促進代理應用程式、模型與各種資源之間的連線。
  • AWS 積極參與 MCP 與 A2A 的標準委員會,貢獻其分散式系統經驗以強化這些通訊協定。

代理式 AI 實務應用:擷取當地天氣資訊

情境概述:

  • 示範使用 MCP 通訊協定、Amazon Bedrock 與香港天文台網站開發的當地天氣應用程式。
  • AI 代理使用 Nova Act 建置,並透過自然語言提示與天氣網站互動。功能:
  • 使用者向代理提供特定天氣網站的 URL。
  • 代理會回應「香港目前的天氣如何?」之類的自然語言提示。
  • 代理的運作方式如同真人網頁資料擷取工程師,自主從香港天文台網站找出天氣資訊。
  • 代理式 AI 時代已經來臨,因此必須為未來做好準備。
  • Nova Act 等 AWS 服務可協助完成這項轉型。技術細節:
  • 使用 Nova Act 設計代理應用程式。
  • 使用 MCP 實作 AI 代理,展示 MCP 如何銜接 AI 模型與真實世界資料來源之間的落差,以建立功能更強大的應用程式。

使用 Strands Agents 建置自訂代理式 AI 應用程式

建置自訂代理的挑戰:

  • 輸入端:需要連接器讓代理與各種企業系統互動、提取即時資料,並呼叫 API 來執行工作流程(例如預訂、更新、觸發程序)。工具與 MCP 有助於編排這些輸入。
  • 記憶:同時需要短期記憶(工作階段情境脈絡)與長期記憶(隨時間學習及改善),才能讓代理具備適應能力並感知情境脈絡。
  • 大腦 (LLM):需要使用 ReAct、Reflexion 與 Chain-of-Thought 等推理框架加以擴充,以進行規劃、反思與逐步推理;這對可靠性與可追溯性至關重要。
  • Persona:每個代理都需要一組明確定義的角色與指示(persona),以區分功能(例如 HR 代理 vs. DevOps 代理)。
  • 可觀測性與防護機制:自訂 AI 代理需要相關機制,以確保安全性、可偵錯性並與目標保持一致。Strands Agents:
  • Amazon 推出的 SDK,可用最少的程式碼建置 AI 代理。
  • 藉由處理複雜編排來簡化開發,並運用最先進的模型進行規劃、思維鏈、工具呼叫與反思。
  • 開發人員在程式碼中定義提示與工具清單、於本機測試,再部署至雲端。示範:使用 Manim 製作數學動畫:
  • 展示如何使用 Manim 建立數學動畫;Manim 是一個用於高品質數學視覺化的 Python 程式庫。
  • Strands Agents 會處理使用者提示、撰寫 Manim 指令碼並生成動畫。
  • 重點:
  • Strands Agents 簡化了複雜、真實世界代理式 AI 應用程式的建立過程。
  • 此示範突顯將代理工作流程與專門化開放原始碼工具結合後所展現的強大能力。

核心實作程式碼分析

1 匯入必要元件:

  • 程式碼從 strands 模組匯入 Agent 類別,並從 strands.tools.mcp 匯入 MCPClient 類別
  • 這些匯入項目為在 Strands 框架內使用代理與訊息控制協定的系統建立必要元件。2 設定與 Manim MCP 伺服器的連線:
  • 程式碼使用標準輸入/輸出 (stdio) 作為傳輸機制,設定與 Manim MCP 伺服器的連線。3 建立互動情境脈絡:
  • 程式碼建立與 Manim MCP 伺服器互動的情境脈絡。
  • 它使用 MCP 用戶端從伺服器擷取可用工具。
  • 使用這些工具初始化 Agent,為接下來的聊天迴圈做好準備。4 處理自然語言提示:
  • 程式碼使用 Agent 處理要求製作 Manim 動畫的自然語言提示。
  • 此提示指定要將一個特定三次函數從 x=-3 到 x=3 繪製成 9 秒的視覺化內容。

示範流程

環境設定:

  • 使用 VS Studio 中的兩個終端機視窗:
  • 左側終端機:執行 MCP Server,並連線至 Manim MCP Server — MCP 的本機實作模式。
  • 右側終端機:執行 MCP Client 程式,啟動影片生成聊天介面。使用者互動:
  • 使用者透過聊天介面輸入自然語言命令,以生成數學公式動畫。
  • 命令範例:「建立一個 Manim 場景,在 9 秒內繪製某個 x 範圍的三次函數。」代理處理:
  • 提交後,右側終端機會顯示代理正在處理自然語言要求。
  • 代理發起第一次工具呼叫「execute manim code」。自適應問題解決:
  • 偵測到本機環境的編譯問題後,代理會智慧地建立簡化版本來完成任務,展現其自適應問題解決能力。任務完成與輸出:
  • 代理順利完成任務並提供輸出摘要,將其效能評為「Perfect!」,同時提供實作主要功能的詳細資料。
  • AI Agent 最終生成的 MP4 影片檔案位於「videos」目錄中。
  • 影片確認代理已針對要求的數學函數建立動畫影片。
  • 值得注意的是,代理主動新增了依比例縮放的 X 軸與 Y 軸;這項功能並非自然語言輸入直接要求,展現了 AI Agent 的智慧及預測使用者需求的能力。

AWS 代理式 AI 產品組合架構

三層服務:

  • [ 1 ] 基礎設施層:
  • 提供執行代理式 AI 應用程式所需的基礎資源與能力。
  • [ 2 ] AI 與代理開發軟體及服務層:
  • 包含專為開發及管理 AI 代理而設計的工具、SDK 與服務。
  • [ 3 ] 子層:代理 SDK
  • 包含 Amazon Nova 與 Bedrock Agents。
  • [ 4 ] 應用程式層:
  • 包含使用較低層所提供的 AI 代理與基礎設施建置的終端使用者應用程式及服務。專門化服務類別:
  • 每一層都包含更專門化的服務類別,針對代理式 AI 開發與部署需求量身打造。