AI Agents:完整課程

@sairahul1
英語2 個月前 · 2026年5月24日
212K
528
85
19
1.2K

TL;DR

深入探討建構與擴展 AI Agents 的技術,詳細說明任務拆解、多 Agent 系統、評估策略,以及成本與安全性等生產環境挑戰。

每個人都在談論 2026 年的 AI Agent。

但大多數人根本不知道它們實際上是如何運作的。

今天,這一切都將改變。

我花了數週時間,提煉出所有精華:課程、書籍、實際建置、生產環境中的失敗經驗。

以下是你需要真正了解的內容。

無論你是要自動化自己的工作流程,還是為公司建構生產級的 AI 系統——這都是你的路線圖。

存好這份資料。它很長。但它值得。

第一部分:基礎篇 AI Agent 究竟是什麼

1. 什麼是 AI Agent?

Rahul - inline image

一般的 LLM 只做一件事:

你問。它回答。結束。

一次性。線性。沒有迭代。

而 AI Agent 的運作方式截然不同。

它就像你在處理困難任務時實際的工作方式:

→ 先規劃 → 研究 → 起草 → 自我審查 → 修正 → 重複

這就是所謂的 ReAct 循環:

思考 → 行動 → 觀察 → 重複

模型會思考下一步該做什麼。採取行動(通常是呼叫工具)。觀察結果。然後給你答案,或者回到循環中。

為什麼這很重要?

每一次循環都會增加深度。更強的推理能力。更少的幻覺。更完善的組織。

所有你在一次完成時會失去的東西——Agent 都能幫你找回來。

2. Agent 到底擅長做什麼?

Rahul - inline image

不是每項任務都需要 Agent。

一個好的思維模型:2×2 矩陣。

軸線:複雜度 vs. 所需精確度。

→ 低複雜度 + 高精確度 = 直接用程式碼即可

→ 低複雜度 + 低精確度 = 只需一個 LLM 提示詞

→ 高複雜度 + 高精確度 = 配備嚴格護欄的 Agent(稅務表單、法律文件)

→ 高複雜度 + 低精確度 = 最佳起步點

最後這個象限是你最快能取得初步成果的地方。

適合 Agent 任務的範例:

→ 研究並撰寫報告

→ 回覆客戶郵件(查詢訂單 → 草擬回覆)

→ 處理發票

→ 存入資料庫

→ 回答「你們有沒有 80 美元以下的藍色牛仔褲?」——實際檢查庫存

當任務需要以下條件時,Agent 就能發揮所長:

→ 多個步驟

→ 外部資訊

→ 迭代與自我修正

如果你能用一個提示詞解決問題——那就不要建構 Agent。

3. 自主性光譜

Rahul - inline image

建構 Agent 時的首要決策:

你要給它多少控制權?

想像一個光譜。

腳本化(左端)

你硬編碼每一個步驟。

→ 生成搜尋詞

→ 呼叫網路搜尋

→ 擷取網頁

→ 撰寫文章。

模型只負責產生文字。其他所有環節都由你決定。可預測。易於除錯。彈性有限。

半自主(中間)

Agent 從你定義的工具中挑選。在你設定的護欄範圍內做出決策。這是大多數實際生產系統的運作模式。

完全自主(右端)

LLM 決定一切。搜尋什麼。擷取多少網頁。是否要反思。是否要撰寫並執行新的程式碼。更強大。但也更難控制。

你該從哪裡開始?

光譜的中間。給它工具。設定護欄。只有在你有信心之後,再逐步增加自主性。

4. 情境工程

Rahul - inline image

以下是真正讓 Agent 展現「智慧」的關鍵。

這不僅僅是模型本身。

而是你圍繞它建構的「情境」。

情境工程 = 決定 Agent 在每個時刻可以獲取哪些資訊。

這包括:

→ 背景 — 任務是什麼?使用者是誰?

→ 角色 —「你是一個專注於市場分析的研究型 Agent」

→ 記憶 — 先前步驟中發生過什麼

→ 可用工具 — 它可以呼叫哪些功能?

→ 知識 — 它可以參考的文件、資料庫、PDF

將這些工程做好 → 模型就會表現一致。

工程做得差 → 產生無法預測的垃圾輸出。

模型本身是一樣的。

情境是區分優秀 Agent 與故障 Agent 的關鍵。

5. 任務分解

Rahul - inline image

建構 Agent 最重要的技能。

從這個問題開始:人類會如何完成這項任務?

然後對每個步驟提問:LLM 能做到嗎?一小段程式碼能處理嗎?一個 API 呼叫能解決嗎?

如果答案是否定的 → 就繼續細分,直到答案是肯定的為止。

範例——文章寫作 Agent:

  1. 大綱 → LLM 生成架構
  2. 搜尋詞 → LLM 生成,然後呼叫搜尋 API
  3. 擷取網頁 → 工具呼叫
  4. 撰寫草稿 → LLM 使用擷取到的來源
  5. 自我批判 → LLM 列出缺口與弱點
  6. 修正 → LLM 根據批判意見重寫

每個步驟都是:→ 小規模 → 可檢查 → 有明確的輸入與輸出

當最終輸出品質不佳時,你就能確切知道該修正哪個步驟。

這就是分解的超能力。

第二部分:進階篇 建構真正能運作的多 Agent 系統

6. 評估(這件無聊的事,區分了專業人士與業餘愛好者)

Rahul - inline image

沒有人想討論評估。

但每個真正上線系統的人都在做。

你要如何衡量你的 Agent 是否正常運作?

簡單任務 → 計算正確答案。客服機器人正確回答了庫存問題嗎?是 / 否。

複雜任務 → 使用 LLM 作為評審。讓第二個模型根據固定評分標準,對輸出進行 1-5 分的評分。這篇文章論點有力嗎?引用恰當嗎?語氣正確嗎?

你需要兩個層次的評估:

→ 元件層級 — 每個獨立步驟是否正常運作?(搜尋查詢夠具體嗎?批判意見是否提供了實質反饋?)

→ 端到端 — 最終輸出是否良好?(這篇文章真的好嗎?)

如果端到端失敗,但元件評估過關 → 交接有問題。如果特定元件失敗 → 那個 Agent 需要改進。

從第一天就開始評估。不要等到擁有「完美」的評估系統。快速推出,然後迭代。

7. 記憶與知識

Rahul - inline image

這是兩個截然不同但人們經常混淆的概念。

記憶 = 動態。每次執行都會更新。

→ 短期記憶:Agent 在運作過程中會寫下筆記。其他 Agent 可以讀取這些筆記。

→ 長期記憶:任務完成後,Agent 進行反思。哪些做得好?哪些不好?儲存經驗教訓。

下一次執行 → 載入這些經驗 → 加以應用。

這就是你如何在無需微調的情況下「訓練」Agent。給予反饋 → Agent 在每次執行中進步。

知識 = 靜態。一開始就載入。

→ PDF、CSV、內部文件、資料庫存取

→ Agent 的參考資料庫

→ 給予一次後,它就能在需要時隨時查閱以獲得準確答案。

可以這樣理解:

記憶 = 你從經驗中學到的東西。知識 = 你可以查閱的教科書。

兩者都很重要,無法互相取代。

8. 護欄

Rahul - inline image

一個能運作的 Agent,並不代表它是安全的 Agent。

LLM 具有非確定性。

它們可能格式錯誤、陳述虛假事實、偏離任務。

護欄是介於「Agent 說它完成了」與「任務真正定案」之間的品質把關。

三種類型:

類型 1 — 程式碼檢查(快速 + 便宜)用於確定性事項。

→ 輸出格式是否正確?長度是否適當?必要欄位是否存在?

撰寫一個簡單的驗證函數。立即執行。只要可能,總是優先採用這種方式。

類型 2 — LLM 評審用於細微的品質檢查。

→「這個回覆在事實上是否與來源文件一致?」

→「語氣是否專業且正面?」

如果評審說不通過 → 說明原因 → Agent 修正 → 再試一次。

類型 3 — 人機協作用於高風險決策。Agent 在定案前停止。將輸出送交人工審查。人工核准、拒絕或要求修改。

大多數生產系統至少會使用這三種中的兩種。

9. 能提升每個 Agent 表現的 4 種設計模式

Rahul - inline image

這四種模式能可靠地讓 Agent 變得更好。

模式 1:反思

不要停留在第一版草稿。

模型產生輸出 → 批判自己的輸出 → 根據批判意見重寫。

郵件第一版:「嘿,我們下個月見個面吧。謝謝。」批判:日期模糊、沒有結尾敬語、語氣太隨意。郵件第二版:「Hi Alex,我們約 1 月 5 日至 7 日見面。請告知您方便的時間。祝好,Sai。」

在程式碼方面更強大——撰寫程式碼、執行、捕捉錯誤、回饋、模型修復。

適用於:結構化輸出、長篇寫作、程式碼、程序性步驟。

模式 2:工具使用

給 LLM 一個它可以呼叫的功能選單。

由模型決定何時以及使用哪個工具。

網路搜尋。資料庫查詢。程式碼執行。日曆。電子郵件。API 呼叫。

LLM 本身無法獨立完成這些。工具是 Agent 與世界互動的方式。

模式 3:規劃

與其使用固定的流程,不如讓 Agent 自行決定步驟。

給它一套工具。提示它制定計畫。一步一步執行。

零售範例:「有沒有 100 美元以下的圓形太陽眼鏡?」Agent 規劃:搜尋商品描述 → 檢查庫存 → 按價格篩選 → 回答。

你並沒有硬性編寫這些確切步驟。是 Agent 自己選擇的。

模式 4:多 Agent 協作

將複雜工作拆分給專門的 Agent。

研究員 → 設計師 → 撰稿人。

每個 Agent 都擅長自己的特定工作。由於沒有單一 Agent 試圖包辦所有事情,最終輸出品質會更好。

10. 多 Agent 系統設計

Rahul - inline image

實際上要如何建構一個多 Agent 系統?

四種協調模式,從最簡單到最複雜。

模式 1:順序式每個 Agent 完成後 → 將輸出傳遞給下一個 Agent。就像組裝線一樣。研究員 → 設計師 → 撰稿人 → 完成。易於除錯。可預測。從這裡開始。

模式 2:並行式同時執行獨立的 Agent。研究員和設計師同時工作。撰稿人整合他們的輸出。速度更快。協調的複雜度較高。

模式 3:管理階層式一個管理型 Agent 協調多位專家。管理者負責規劃、分派任務與審查。專家直接向管理者報告,而不是彼此報告。這是當前實際生產系統中最常見的模式。

模式 4:全連通式任何 Agent 都可以向其他任何 Agent 發送訊息。混亂。難以預測。僅適用於創意性或低風險的工作,可以容忍變化。不要在生產環境中使用。

基本原則:從順序式開始。只有在需要時才增加複雜性。

第三部分:生產篇 如何真正從原型走到上線

11. 進階任務分解

Rahul - inline image

在複雜的多 Agent 系統中,分解方式至關重要。

4 種模式:

功能性 — 按技術領域拆分。前端 Agent。後端 Agent。資料庫 Agent。工程團隊的經典做法。

空間性 — 按檔案或目錄結構拆分。Agent 1 處理 /services/users/。Agent 2 處理 /services/orders/。適合大型程式碼庫。可最大程度減少衝突。

時間性 — 按順序階段拆分。階段 1:研究。階段 2:規劃。階段 3:建構。階段 4:上線。每個階段完成後才開始下一個階段。

資料驅動 — 按資料分割區拆分。Agent 1 處理第 1 週的日誌。Agent 2 處理第 2 週的日誌。以此類推。對於大型資料集非常有效。可進行平行分析。

你可以混合使用這些模式。

主要結構採用功能性分解 + 每個 Agent 內部採用時間性分解。

使用任何符合你任務自然邊界的方式。

12. 在生產環境中提升品質

Rahul - inline image

系統能運作,但還不夠好。

兩種元件類型。兩種不同的修復策略。

非 LLM 元件(網路搜尋、RAG、OCR、程式碼執行):

→ 調整參數:搜尋日期範圍、top-k 結果、區塊大小、相似度閾值

→ 更換供應商:嘗試不同的搜尋 API、視覺模型、解析器

LLM 元件(生成、推理、萃取):

→ 改善提示詞:增加限制條件、範例、輸出結構

→ 嘗試不同的模型:有些模型擅長程式碼,有些擅長遵循指令

→ 將更困難的任務分解成更小的部分

→ 微調(僅限最後手段——成本高,保留到最後的百分之幾)

順序很重要。

先修提示詞。再試不同模型。進一步分解。最後才微調。

大多數團隊在第二步就能達到足夠好的品質。

13. 延遲與成本

Rahul - inline image

品質優先。然後再考慮速度與成本。

降低延遲:

  1. 測量每個步驟。找出真正的瓶頸。
  2. 將不依賴其他步驟的任何環節平行化。
  3. 選擇適當大小的模型——簡單步驟用快速便宜的 LLM,推理用大型模型。
  4. 嘗試更快的供應商——Token 串流速度差異很大。
  5. 精簡上下文——較短的提示詞解碼更快。

降低成本:

典型研究型 Agent 一次執行的實際成本明細:

→ LLM 生成呼叫:約 $0.04

→ 網路搜尋 API 呼叫:約 $0.02

→ 嵌入呼叫:約 $0.005

→ 基礎設施:約 $0.015

→ 每次執行總計:約 $0.08

每天 1,000 次執行 = 每天 $80 = 每月 $2,400。

如何降低成本:

→ 先從最大的成本項目著手

→ 分級使用模型——簡單任務用便宜的,困難任務用貴的

→ 積極快取結果(搜尋結果、嵌入、摘要)

→ 限制輸出(「回傳 JSON。最多 5 個欄位。」)

→ 盡可能進行批次操作

14. 可觀測性:大規模監控你的 Agent

Rahul - inline image

傳統軟體:追蹤執行路徑。A 呼叫 B。B 呼叫資料庫。回傳結果。

AI Agent 的運作方式並非如此。

它們是非確定性的。相同輸入 → 不同輸出。分散式執行。依賴可能失敗的外部元件。

你需要兩種層面的可視性:

放大檢視指標(單次執行除錯)

→ 完整軌跡:每個提示詞、每個工具呼叫、每個 Token 使用量

→ Agent 為什麼選擇這個工具?

→ 每個步驟回傳了什麼?

→ 它到底在哪裡失敗?

不僅要記錄發生了什麼,還要記錄為什麼:「Agent 選擇了網路搜尋而非 RAG,因為查詢中包含『recent』」;「反思發現了 3 個問題:缺少引用、日期模糊、語氣錯誤」

宏觀指標(多次執行的系統健康狀況)

→ 品質分數隨時間的變化

→ 幻覺發生率

→ 成功率

→ 改動是有幫助還是有害?

你無法在大規模情況下手動檢查每條軌跡。

使用品質抽樣——評估所有執行中的一定比例。建立趨勢線。

這就是你在使用者發現問題之前,先捕捉到回歸問題的方法。

15. 安全性:鮮少有人提及(但應該重視)的部分

Rahul - inline image

AI Agent 的安全性不同於傳統應用程式安全性。

你不僅要防範外部攻擊者。

你還要防範你自己的系統做出危險的決策。

威脅包括:

→ 提示注入——使用者輸入中的惡意內容劫持 Agent 的指令

→ 不安全的程式碼生成——Agent 撰寫能存取敏感資料或執行有害行為的程式碼

→ 資料外洩——透過輸出或工具呼叫暴露 PII 或專有資訊

→ 資源耗盡——Agent 陷入無限循環或消耗昂貴的 API 呼叫

程式碼執行是最危險的功能。

如果你啟用它,以下是安全執行的方法:

→ 在 Docker 沙盒中執行。容器在每次執行後被銷毀。

→ 設定嚴格的資源限制:超時時間、記憶體上限、CPU 限制

→ 僅白名單允許特定且安全的函式庫

→ 在輸入到達 Agent 之前,驗證所有輸入

→ 掃描所有輸出中的敏感資料(API 金鑰、PII)

→ 使用確定性 I/O——程式碼回傳結構化的 JSON,而不是自由形式的文字給使用者

大多數團隊都是透過慘痛的教訓學到這些。

在你上線之前,請先閱讀這部分。

以上就是完整的課程。

重點回顧

基礎篇:

→ Agent 以迭代方式運作——規劃、行動、觀察、重複

→ 最適合能夠接受約 90% 準確率的複雜多步驟任務

→ 從半自主開始,而非完全自主

→ 情境工程才是真正的智慧

→ 任務分解是最重要的技能

進階篇:

→ 從第一天就開始評估——使用 LLM 作為複雜任務的評審

→ 記憶(動態)≠ 知識(靜態)

→ 三種護欄類型:程式碼 → LLM 評審 → 人工

→ 4 種總是有效的模式:反思、工具使用、規劃、多 Agent

→ 從順序式開始。只有在需要時才增加協調複雜度。

生產篇:

→ 4 種分解模式:功能性、空間性、時間性、資料驅動

→ 在微調之前先改善提示詞

→ 測量每個步驟的延遲與成本,然後從最大的項目著手

→ 兩種可觀測性模式:放大檢視的軌跡 + 宏觀的健康指標

→ 安全性 = 保護系統免受自身影響,而不僅僅是防範攻擊者

大多數人開始建構 Agent。

但很少有人能讓 Agent 在規模上可靠地運作。

這其中的差距,就是這篇文章所涵蓋的一切。

如果你覺得這些內容有幫助:

→ 分享這篇文章

→ 關注 @sairahul1 獲取更多這類深入分析

→ 收藏這篇——你在建構時會需要參考它

我撰寫關於 AI 系統、產品建構以及在你睡覺時也能運作的自動化方案。

一鍵儲存

使用 YouMind AI 深度閱讀爆款文章

保存原文、追問細節、總結觀點,並在一個 AI 工作空間裡把爆款文章沉澱成可複用筆記。

了解 YouMind
寫給創作者

把你的 Markdown 變成乾淨的 𝕏 文章

圖片上傳、表格、程式碼區塊,往 𝕏 上手動重排太痛苦。YouMind 把整篇 Markdown 一鍵轉成乾淨、可直接發佈的 𝕏 文章草稿。

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章