使用 Spring AI 實作 Evaluator-Optimizer 代理程式模式
在此單元中,您將瞭解 AI 代理程式,這是能夠根據其環境和目標做出決策和執行工作的自發實體。 此外,您可以藉由評估和精簡輸出,探索各種 代理模式 ,包括 Evaluator-Optimizer 模式,以改善 AI 系統的效能和決策能力。
什麼是 AI 代理程式?
AI 代理程式是一種軟體實體,其設計目的是藉由接收輸入、處理資訊,以及採取動作來達成特定目標,以自主或半自主地執行工作。
代理程式可以使用模型、工具、人工輸入和其他可自定義元件的組合來傳送和接收訊息,以產生回應。
AI 代理程式可以解決哪些問題?
AI 代理提供了數個優勢,用於應用程式開發,透過建立相互協作的模組化元件,減少對複雜任務的手動介入。 這些優點包括下列主要優點:
模組化元件:您可以針對數據抓取、API 互動和自然語言處理等工作定義特製化代理程式。 這種模組化可讓您更輕鬆地隨著需求而調整應用程式。
共同作業:多個代理程式可以一起運作。 其中一個可能會處理數據收集,另一個可能會執行分析,而另一個可能會做出決策,建立分散式智慧。
人類與代理程式的合作:代理程式可以與人類一起合作,以提升決策能力,例如,藉由準備供人類審查和完善的分析。
流程協調流程:代理程式可以跨系統、工具和 API 協調工作,自動化端對端程式,例如雲端協調流程、部署和創意工作流程。
代理程式工作流程和模式
您可以使用各種代理模式來設計新式 AI 應用程式。 Spring AI 部落格文章中的代理模式概述了以下關鍵工作流程:
鏈結工作流程:將複雜的工作分成一系列循序步驟。 每個步驟都會處理前一個步驟的輸出,以逐步轉換和精簡數據。
平行處理工作流程:使用線程集區和未來等技術,同時執行多個大型語言模型 (LLM) 呼叫。 此模式適用於處理大量獨立專案,或透過多數投票取得多樣化觀點。
路由工作流程:根據內容將輸入導向特製化處理程式。 藉由將輸入分類並路由傳送至對應的提示,系統可確保以最佳方式處理每種類型的工作。
Orchestrator-Workers 工作流程:使用中央協調器,將複雜的工作分解為專門的工作代理程式所處理的子工作。 此模式支持分散式問題解決,同時維護整體程式控制。
Evaluator-Optimizer 工作流程:著重於反覆精簡,這種雙模型方法會使用產生器(寫入器)來產生初始輸出,以及評估工具(編輯器)來檢閱和建議改進。 此程式會重複執行,直到輸出符合定義的品質標準為止。
使用 Evaluator-Optimizer 代理程式模式產生進階內容
以核心RAG功能為基礎,進階 AI 應用程式受益於反覆精簡以產生高質量內容。 Evaluator-Optimizer 代理程式模式會採用下列清單所述的雙重模型程式:
- 產生器(寫入器)會產生初始草稿,例如部落格文章。
- 評估工具(編輯器)會檢閱草案,提供詳細的意見反應和識別改進領域。
運作方式
下列步驟說明此模式的運作方式:
初稿撰寫:作者根據指定的主題撰寫草稿。
評估:評估者會根據清晰度、吸引力和結構等準則來檢閱草稿。
反覆改進:如果需要改進,意見反應會納入,且作者會產生修訂的草稿。
迴圈直到核准為止:程式會重複,直到內容符合所需的品質標準或達到反覆運算次數上限為止。
範例應用程式:部落格文章產生
在練習中,您可以實作使用 Evaluator-Optimizer 模式的部落格寫入器代理程式來擴充 RAG 應用程式。 部落格寫入器服務示範如何完成下列工作:
- 產生初始部落格文章草稿。
- 評估草稿並擷取可採取動作的意見反應。
- 反覆精簡草稿,直到內容獲得核准為止。
單元摘要
在此單元中,您已瞭解 AI 代理程式和各種代理模式,包括鏈結、平行處理、路由和 Orchestrator-Workers 工作流程。 不過,本課程模組僅著重於 Evaluator-Optimizer 代理程式模式,這是一種反覆優化生成內容的雙 LLM 方法,如部落格撰寫代理程式範例所示。 在下一個練習中,您會在RAG應用程式中實作此模式,以提供增強的內容產生功能。