如何建立 AI 代理程式 — 第 2 部分:建立 MVP

如何使用 GMI 雲構建 AI 代理系列的第 2 部分

May 12, 2025

Why managing AI risk presents new challenges

Aliquet morbi justo auctor cursus auctor aliquam. Neque elit blandit et quis tortor vel ut lectus morbi. Amet mus nunc rhoncus sit sagittis pellentesque eleifend lobortis commodo vestibulum hendrerit proin varius lorem ultrices quam velit sed consequat duis. Lectus condimentum maecenas adipiscing massa neque erat porttitor in adipiscing aliquam auctor aliquam eu phasellus egestas lectus hendrerit sit malesuada tincidunt quisque volutpat aliquet vitae lorem odio feugiat lectus sem purus.

  • Lorem ipsum dolor sit amet consectetur lobortis pellentesque sit ullamcorpe.
  • Mauris aliquet faucibus iaculis vitae ullamco consectetur praesent luctus.
  • Posuere enim mi pharetra neque proin condimentum maecenas adipiscing.
  • Posuere enim mi pharetra neque proin nibh dolor amet vitae feugiat.

The difficult of using AI to improve risk management

Viverra mi ut nulla eu mattis in purus. Habitant donec mauris id consectetur. Tempus consequat ornare dui tortor feugiat cursus. Pellentesque massa molestie phasellus enim lobortis pellentesque sit ullamcorper purus. Elementum ante nunc quam pulvinar. Volutpat nibh dolor amet vitae feugiat varius augue justo elit. Vitae amet curabitur in sagittis arcu montes tortor. In enim pulvinar pharetra sagittis fermentum. Ultricies non eu faucibus praesent tristique dolor tellus bibendum. Cursus bibendum nunc enim.

Id suspendisse massa mauris amet volutpat adipiscing odio eu pellentesque tristique nisi.

How to bring AI into managing risk

Mattis quisque amet pharetra nisl congue nulla orci. Nibh commodo maecenas adipiscing adipiscing. Blandit ut odio urna arcu quam eleifend donec neque. Augue nisl arcu malesuada interdum risus lectus sed. Pulvinar aliquam morbi arcu commodo. Accumsan elementum elit vitae pellentesque sit. Nibh elementum morbi feugiat amet aliquet. Ultrices duis lobortis mauris nibh pellentesque mattis est maecenas. Tellus pellentesque vivamus massa purus arcu sagittis. Viverra consectetur praesent luctus faucibus phasellus integer fermentum mattis donec.

Pros and cons of using AI to manage risks

Commodo velit viverra neque aliquet tincidunt feugiat. Amet proin cras pharetra mauris leo. In vitae mattis sit fermentum. Maecenas nullam egestas lorem tincidunt eleifend est felis tincidunt. Etiam dictum consectetur blandit tortor vitae. Eget integer tortor in mattis velit ante purus ante.

  1. Vestibulum faucibus semper vitae imperdiet at eget sed diam ullamcorper vulputate.
  2. Quam mi proin libero morbi viverra ultrices odio sem felis mattis etiam faucibus morbi.
  3. Tincidunt ac eu aliquet turpis amet morbi at hendrerit donec pharetra tellus vel nec.
  4. Sollicitudin egestas sit bibendum malesuada pulvinar sit aliquet turpis lacus ultricies.
“Lacus donec arcu amet diam vestibulum nunc nulla malesuada velit curabitur mauris tempus nunc curabitur dignig pharetra metus consequat.”
Benefits and opportunities for risk managers applying AI

Commodo velit viverra neque aliquet tincidunt feugiat. Amet proin cras pharetra mauris leo. In vitae mattis sit fermentum. Maecenas nullam egestas lorem tincidunt eleifend est felis tincidunt. Etiam dictum consectetur blandit tortor vitae. Eget integer tortor in mattis velit ante purus ante.

第一部分我們通過定義願景、使用案例和成功標準,為我們的 AI 代理人奠定了基礎。現在,是時候將這個願景實現。在第二部分中,我們將逐步介紹構建最低可行產品 (MVP) AI 代理程式的過程,該程序可幫助用戶根據相關性、成本和潛在的投資報酬率決定哪些行業會議值得參加。

讓我們直接深入了解構建。

1.它會如何工作?

在構建任何功能之前,我們需要一個堅實的開發基礎。這包括選擇正確的工具、配置我們的環境,以及設置可實現快速迭代的工作流程。

現在,設計怎麼樣?以下是從輸入到預期輸出的整體工作流程:

Workflow diagram

我們將每個步驟分為個別的模塊,以防因某種原因我們決定我們想改變事情。該架構實現了靈活性,並允許系統的不同部分(例如內容檢索或投資回報(ROI)評分)獨立進化,而不會破壞系統的其他部分。

或者,我們希望這樣!

您需要什麼:

  • 大型語言模型 (LLM) 端點
  • Dify.ai 帳戶(不用擔心,它們是免費的!)用於管理 AI 工作流程
  • 火焰 — 用於將網站抓取到可用於 LLM 的數據中。我們將使用他們的免費計劃。

取得您的端點

為了我們的目的,我們將使用具有 OpenAI API 兼容性的 GMI 託管 LLM 端點,但您可以使用任何具有類似配置的端點執行此操作。在我們的情況下,只需轉到設置 → 添加「模型提供商」→ 添加與 OpenAI API 兼容。

使用聊天流程創建 Dify 項目

前往 https://cloud.dify.ai/apps,確保您已登錄,然後您可以開始創建一個項目。為了我們的目的,我們將使用聊天流程。

二.資料輸入

我們有我們的流程,現在我們組裝每個單獨的模塊。首先,讓我們看看哪些將被視為輸入,因為正如我們所知:垃圾進入 = 垃圾出!

我們的 AI 代理人需要找出哪些行業活動值得將我們的團隊發送到,因此我們將需要為其提供一種方法,以便基礎 LLM 處理的格式來搜索、提取和彙總該信息。

是時候建造了。

添加輸入參數:

透過 API 搜尋

我們將在搜索結果上添加一個迭代器,以了解源上下文。這個步驟很重要,因為搜索引擎會根據相關性排序的許多結果。事件網站和聚合器往往是頂級結果,迭代器的工作是提取有關這些事件的詳細信息。

這就是火焰火花進行抓取的地方。

加入 GMI 法學碩士

使用者提示:

**Instructions:**
You are provided with Markdown content containing information about one or more events.  Your task is to extract the event details and return them in a list of JSON objects. Each JSON object should represent a single event and conform to the following schema:

```json
{
 "title": "string",
 "start_date": "string",
 "location": "string",
 "topic/focus": "string",
 "audience": "string",
 "summary": "string"
}
```

Important Considerations:
Strict Adherence to Schema: Ensure that the output is a valid JSON array containing JSON objects that strictly adhere to the provided schema. Do not include any extra text or explanations outside the JSON array.
Handle Missing Information: If the Markdown content does not provide information for a particular field in the JSON schema, set the value of that field to "N/A".
Multiple Events: If the Markdown describes multiple events, return a JSON array containing one JSON object for each event.
Markdown Variations: Be prepared to handle variations in how event information might be presented in the Markdown. Look for keywords like "Date:", "Time:", "Location:", "Topic:", "Audience:", "Summary:", etc., but also be able to infer information from surrounding text.
Data Extraction: Extract the most relevant information for each field. For example, for the "time" field, extract the start date of the event in format of YYYY-MM-DD. For the "summary" field, provide a concise summary of the event.
JSON Output Only: The only output you should provide is the JSON array. Do not include any introductory or concluding remarks.
Markdown Content:
<Scrape text>

此時,您需要將 LLM 輸出解析為 JSON 格式。 通過轉換為 JSON(結構化格式),這使下游步驟可以輕鬆準確地處理結果。

這是我們使用的代碼:

import json
import re

def main(arg1: str) -> dict:
   json_blocks = re.findall(r'(\[\s*\{.*?\}\s*\])', arg1, re.DOTALL)
   all_events: List[dict] = []
   for block in json_blocks:
       try:
           parsed_str = block.encode('utf-8').decode('unicode_escape')
           parsed_json = json.loads(parsed_str)

           # If the parsed JSON is a list, extend the result
           if isinstance(parsed_json, list):
               all_events.extend(parsed_json)
           # If it's a single object, append it
           elif isinstance(parsed_json, dict):
               all_events.append(parsed_json)
       except json.JSONDecodeError:
           continue

   return {
       "events": all_events
   }

接下來是什麼?好吧,我們現在有輸入數據,但在 AI 代理程序開始處理之前,需要清理和排序它。因此,現在是時候從不同搜索結果彙總結構化事件,刪除重複和按日期排序了。

這是我們使用的代碼:

import json
from datetime import datetime

def main(arg1: list) -> dict:
   unique_events = {event["title"]: event for event in arg1}.values()
   def sort_key(event):
       try:
           return datetime.strptime(event["start_date"], "%Y-%m-%d")
       except ValueError:
           return datetime.max  # Assign max date to push invalid dates to the end
   sorted_events = sorted(unique_events, key=sort_key)
   sorted_events = sorted_events
   return {
       "events": sorted_events,
   }

這就是數據輸入步驟!到目前為止,我們已經創建了一個工作流程模式:

  • 使用火焰收集數據
  • 為該數據添加了上下文
  • 將數據解析為可用的格式
  • 彙總、刪除重複和排序最終解析的資料

接下來,是時候教我們的代理人在這些數據中搜索我們希望它做的事情了。

三.搜尋和使用資料

現在,我們已經構建了一個簡單的模式(撰寫網絡查詢 → 網絡搜索 → 使用 LLM 解析輸出),我們可以利用它在確定 ROI 時搜索兩個關鍵因素: 機票價格和酒店價格

注意:為了更準確/高級搜索(例如,帶折扣的股票價格),我們可以擴展此步驟,詢問專門為此目的構建的單獨代理商

現在,我們彙總結果和輸出。

4.測試與版序

沒有驗證,任何 MVP 都不會完成。我們執行了多輪測試,以確保代理商提供價值。

驗證資料準確性

我們檢查了:

  • 正確的事件是否被提取?
  • 成本數據準確合理嗎?
  • 不相關的事件是否被過濾掉?

用戶反饋和細化

我們與內部利益相關者分享 MVP,以及早收集反饋。基於此,我們:

  • 提高摘要的清晰度
  • 調整投資報酬率評分公式
  • 針對利基主題的增強過濾

效能最佳化

我們還:

  • 通過緩存結果降低抓取延遲
  • 通過更好的提示提高 LLM 解析可靠性
  • 新增臨界值以最大限度地減少假陽性

5.部署與下一步

最後的階段是使 MVP 進入可用的狀態,進行更廣泛的測試。

託管注意事項

我們測試了兩種部署策略:

  • 本機碼頭部署 用於快速迭代和隔離測試
  • 雲端部署 關於可擴展性和遠端存取的 GMI 雲端基礎架構

擴展 MVP

隨著核心工作,未來的版序可以:

  • 新增更多活動資料來源 (RSS 摘要、精選電子報、LinkedIn 活動)
  • 使用微調的 ML 模型或嵌入來改善投資報酬率模型
  • 整合即時航班和酒店 API 來擴大成本估算

未來的增強功能

展望未來,潛在的下一個功能包括:

  • 根據個人目標或偏好的個人化賽事得分
  • 以團隊為基礎的建議(例如,「這是否值得發送我們的 BD 團隊?」)
  • 擴展到其他領域,例如產品發布或網絡聚會

最後的想法

這個 AI 代理起初是一個簡單的想法 —— 幫助忙碌的專業人士決定哪些活動值得參加。通過方法開發、反覆測試和正確的工具,我們通過精簡、靈活的 MVP 將這個想法實現。

在第 3 部分中,我們將探討如何將此 MVP 發展為可生產的系統,以最佳化效能,並將其更深入整合到業務決策工作流程中。

在此之前,快速建置,保持好奇心,並讓 AI 完成重大工作。

順便說一句,你看過我們的 構建 AI 驅動的語音翻譯器指南?它只使用開源工具!

構建無限制的 AI!

立即開始使用

試用 GMI Cloud 算力租賃服務,即刻體驗高效的 AI 佈建。

一鍵啟用
14 天試用
無長期合約綁定
無須安裝設定
On-demand GPU 方案

開始於

$4.39 /GPU-小時

立即開始使用
Reserved 方案

低至

$2.50/ GPU-小時

立即開始使用