使用LangGraph和Strands在AgentCore上構建市場監控智能體
本文展示瞭如何使用LangGraph和Strands在Amazon Bedrock AgentCore上構建生產級的多智能體AI系統。以市場監控為例,詳細説明了狀態驅動的工作流編排、基於檢查點的恢復機制以及AgentCore的內存和可觀測性功能。
隨着人工智能應用從簡單聊天機器人演變為複雜的自主系統,組織在編排可處理真實生產場景的多智能體工作流方面面臨新的挑戰。傳統單智能體方法難以應對需要專業專長、動態決策和強大錯誤恢復機制的複雜業務流程。金融服務行業是典型例子:市場監控系統必須協調多個專業智能體來分析交易模式、調查可疑活動並生成全面報告,同時保持嚴格的合規和可靠性標準。
該解決方案結合了兩大框架:LangGraph用於宏觀工作流編排,Strands用於智能推理。LangGraph擅長管理多智能體協調中的狀態和有向圖,提供對工作流執行和智能體間共享狀態的精細控制。其中心化持久層支持生產級關鍵特性,包括人機交互和基於檢查點的故障恢復。Strands智能體作為單個工作流節點內的推理引擎,提供模型無關能力,可集成多種大語言模型(LLM)提供商,同時保持靈活的工具集成和全面的可觀測性。
Amazon Bedrock AgentCore的發佈簡化了智能體解決方案的生產化過程。該組合為生產級智能體AI系統提供了堅實基礎,可處理複雜用例,同時提供企業應用所需的基礎設施可靠性和可觀測性。
文章演示瞭如何在AWS基礎設施上使用LangGraph和Strands構建和部署多智能體AI系統。讀者將學習如何實現基於狀態的工作流編排(利用LangGraph的檢查點系統)、集成Strands進行專用推理任務,以及使用AgentCore進行可擴展生產部署。完整解決方案可在GitHub上獲取。
Strands智能體基於模型無關架構運行,適應現有基礎設施而不強加架構約束。其實現了一個智能推理循環,持續評估工具輸出並根據中間結果做出決策,從而構建複雜的多步驟分析工作流。框架包含全面的會話和狀態管理以及多種對話管理器,防止上下文窗口溢出。
在市場監控智能體中,為了減少幻覺並加強防注入攻擊,數據發現與檢索被分離。使用了get_report_list、get_report_schema和run_report等工具:run_report通過驗證參數構建參數化SQL查詢,避免LLM直接編寫SQL。安全監控智能體配置了系統提示和這些工具,代碼示例展示瞭如何定義和集成這些工具。
編排器使用狀態圖定義工作流:從“分發”節點開始,根據所需智能體列表索引進行動態路由,依次調用安全監控、交易分析等節點,最後使用“報告編寫”節點生成最終報告。每個節點從共享狀態獲取任務並返回結果更新。LangGraph的檢查點系統確保在失敗時可以從最後保存狀態恢復。
部署方面,Amazon Bedrock AgentCore提供完全託管服務,可將本地智能體代碼轉化為雲原生部署。通過AgentCore Python SDK和啓動工具包部署LangGraph編排器和Strands智能體,運行時自動處理容器化、網絡和計算資源。代碼示例展示了定義入口點、配置運行時和調用已部署智能體的過程。
內存集成通過langgraph-checkpoint-aws包實現:AgentCoreMemorySaver類處理檢查點對象,包含用户消息、AI響應、圖執行狀態和元數據。每次節點完成後,LangGraph自動將檢查點保存到AgentCore內存,實現有狀態對話和工作流恢復。AgentCoreMemoryStore提供智能內存能力,自動從對話中提取見解、摘要和用户偏好,智能體可在後續交互中搜索這些記憶,實現個性化體驗。
可觀測性方面,AgentCore內置與Amazon CloudWatch和AWS X-Ray的集成,捕獲日誌和追蹤,便於監控和調試。