模組 05 · 用大模型做東西

智慧體

先想清楚要不要用智慧體,再從零手寫一個:工具設計、規劃與自我檢查、記憶、多智慧體、MCP 和安全,最後讓 RepoBot 學會自己翻原始碼。

各課

  1. 01
    智慧體和工作流:先想清楚要不要用智慧體

    智慧體是讓模型自己決定下一步做什麼。同樣三個問題,固定流程 1 次呼叫就答對了,智慧體要 3 到 4 次。講清楚兩者的區別、智慧體的代價,以及一份判斷要不要用智慧體的清單。

    30 分鐘 · 進階
  2. 02
    手寫一個智慧體迴圈

    不用任何框架,一百多行程式碼寫一個智慧體:工具註冊、呼叫迴圈、停止條件、錯誤處理。先用一個按劇本出牌的假模型離線測試,再換成真模型,看它自己決定查什麼。

    50 分鐘 · 進階
  3. 03
    工具怎麼設計

    同樣三個工具,名字和說明寫得含糊,模型 30 次只選對 14 次;寫清楚之後 30 次全對。講清楚工具的名字、說明、參數、返回值和報錯資訊分別該怎麼寫。

    35 分鐘 · 進階
  4. 04
    規劃和自我檢查

    同一個多步任務,比較直接做、先列計劃再做、做完之後自我檢查三種辦法。先列計劃多花了一倍的錢,效果差不多;自我檢查真的找出了兩處出處錯誤,但花了四倍的錢。

    40 分鐘 · 進階
  5. 05
    記憶

    智慧體的短期記憶就是訊息列表,長期記憶要自己存下來、需要時再取出。給智慧體加上"記住"和"回想"兩個工具,演示它在一次全新的對話裡用上了上次記住的事實。

    35 分鐘 · 進階
  6. 06
    多個智慧體一起幹活

    讓一個主管智慧體拆分任務,交給三個上下文獨立的工人智慧體並行完成,再彙總結果。和單個智慧體比,詞元少了三分之一,主管的上下文只有 472 個詞元。講清楚多智慧體真正的價值和代價。

    40 分鐘 · 進階
  7. 07
    MCP:給智慧體接工具的標準插座

    用官方 Python SDK 寫一個最小的 MCP 伺服器,把查 httpx 文件的兩個工具放進去;再寫一個客戶端連線它,並讓 DeepSeek 通過 MCP 呼叫這些工具回答問題。

    45 分鐘 · 進階
  8. 08
    智慧體的安全問題

    做一個真實可復現的間接提示詞注入實驗:網頁裡藏著給 AI 的"指令"。一個模型從不上當,另一個在提示詞明確禁止的情況下仍有 4 次中招,只有程式層面的確認機制全部攔住了。

    45 分鐘 · 進階
  9. 09
    專案:會翻原始碼的答疑助手

    把 RepoBot 改成一個智慧體:先查文件,文件裡沒有就去翻 httpx 的原始碼。v2 答不上來的預設值、異常邏輯,v3 都能答對,並註明原始碼的檔案和行號。

    60 分鐘 · 進階

智慧體就是一個迴圈:模型決定下一步做什麼,程式去執行,結果交還給模型,直到它覺得可以回答了。這個模組不用任何框架,從這個迴圈出發,一點點加上真實系統需要的東西。

每一課都有對比實驗,而且結果不總是"更高階的辦法更好":同樣的問題,固定流程 1 次呼叫就答對了,智慧體要花 4 倍的錢;先列計劃多花了一倍的錢,結論沒有變化;而工具的說明寫清楚,選對工具的比例就從 47% 升到了 100%。

為什麼是這個順序

第 1 課先回答"要不要用",這是最重要的判斷。第 2 課手寫迴圈,後面每一課都在這個迴圈上加東西。第 3 到 5 課分別講影響智慧體效果最大的三件事:工具、做事的方式(規劃和檢查)、記憶和上下文。第 6 課從一個智慧體擴充套件到多個。第 7 課講 MCP,讓你寫的工具能被各種智慧體使用。第 8 課講安全,智慧體能動手,就一定要講安全。第 9 課把這些裝進 RepoBot。

學完的標準

  • 拿到一個需求,能判斷該用一次呼叫、工作流還是智慧體,並說出理由。
  • 不用框架,寫出一個帶工具註冊、錯誤處理、步數上限的智慧體迴圈,並能用指令碼模型離線測試它。
  • 能為一組工具寫出清楚的說明書,並用實驗驗證模型選對工具的比例。
  • 能寫一個最小的 MCP 伺服器,並在自己的智慧體裡接入它的工具。
  • 能說出間接提示詞注入是怎麼發生的,以及為什麼"在提示詞裡叮囑模型"不夠,需要在程式層面做限制。
  • RepoBot v3 能回答只有原始碼裡才有答案的問題,並註明原始碼的檔案和行號。

本模組的程式碼

程式碼和執行結果保留原樣(簡體中文),與實際執行時完全一致。