# 一部影片看完 Stanford AI 系統課程，從 LLM 到 Agentic Workflow

https://www.youtube.com/watch?v=eKW9ITaltWw
Translation: zh-CN

[00:00] 如果你有在關注 AI 這一兩年最炙手可熱的工作一定是 AI Engineer，AI Builder
  如果你有在关注 AI 这一两年来最炙手可热的工作一定是 AI Engineer，AI Builder

[00:05] 大型語言模型越強，這群人越吃香
  大型语言模型越强，这群人越吃香

[00:08] 他們有能力幫公司打造內部工具
  他们有能力帮公司打造内部工具

[00:10] 優化運營流程
  优化运营流程

[00:11] 也已經有一堆人自己動手把想法做成產品
  也已经有一堆人自己动手把想法做成产品

[00:13] 成立了自己的公司
  成立了自己的公司

[00:15] 而這種人，現在每間公司都在搶
  而这种人，现在每间公司都在抢

[00:17] 想學 AI 的人很多
  想学 AI 的人很多

[00:19] 但大多數人都不知道從哪裡下手
  但大多数人都不知道从哪里下手

[00:21] 市面上的資源不是太破碎，就是太過艱澀
  市面上的资源不是太破碎，就是太过艰涩

[00:24] 看完還是不知道自己學到了什麼
  看完还是不知道自己学到了什么

[00:26] 或者下一步該往哪走
  或者下一步该往哪走

[00:28] 史丹佛大學有一堂課叫做 Beyond LLM
  斯坦福大学有一堂课叫做 Beyond LLM

[00:32] 我認為這是目前最接近那個答案的東西
  我认为这是目前最接近那个答案的东西

[00:34] 從大型語言模型的本質講起
  从大型语言模型的本质讲起

[00:36] 一路帶到 Prompt Engineering
  一路带到 Prompt Engineering

[00:38] RAG，Fine-Tuning
  RAG，Fine-Tuning

[00:39] Agentic Workflow
  Agentic Workflow

[00:40] 還有 Multi-Agent 的框架
  还有 Multi-Agent 的框架

[00:42] 這堂課時長兩小時
  这堂课时时长两小时

[00:44] 今天我就用一支影片的時間把核心整理給你
  今天我就用一支影片的时间把核心整理给你

[00:47] 你看完之後
  你看完之后

[00:48] 會對 AI 在商業領域上的應用有一套完整的認知框架
  会对 AI 在商业领域上的应用有一套完整的认知框架

[00:51] 知道這些技術怎麼組合在一起
  知道这些技术怎么组合在一起

[00:53] 也能規劃自己接下來的學習路線
  也能规划自己接下来的学习路线

[00:56] 那我們廢話不多說，直接開始
  那我们废话不多说，直接开始

[00:58] 首先我們要先知道大型語言模型的限制是什麼
  首先我们要先知道大型语言模型的限制是什么

[01:02] LLM 要變強有兩條路
  大型语言模型要变强有两条路

[01:04] 第一條是橫軸
  第一条是横轴

[01:05] 就是換更強的 base model
  就是换更强的基础模型

[01:07] 比方說從 GPT-4 升級到 GPT-5
  比如说从 GPT-4 升级到 GPT-5

[01:10] 但橫軸是 OpenAI 跟 Anthropic 在做的
  但横轴是 OpenAI 和 Anthropic 在做的

[01:13] 一般人沒有那個能力
  一般人没有那个能力

[01:14] 也沒有那個金錢去訓練自己的大型語言模型
  也没有那个金钱去训练自己的大型语言模型

[01:18] 你能施力的地方是縱軸
  你能施力的地方是纵轴

[01:20] 也就是在現有的 LLM 上面疊各種工程技術
  也就是在现有的 LLM 上面叠各种工程技术

[01:23] 又叫做 Augmenting LLM
  又叫做 Augmenting LLM

[01:25] 也就是想辦法提升這些 base model 的能力
  也就是想办法提升这些基础模型的能力

[01:28] 而這整堂課，包括這支影片
  而这整堂课，包括这支影片

[01:30] 講的都是縱軸的事情
  讲的都是纵轴的事情

[01:32] 如果你只會使用 base model
  如果你只会使用基础模型

[01:34] 在商業場景上一定會撞牆
  在商业场景上一定会撞墙

[01:36] 舉個例子，ChatGPT 剛出來的時候
  举个例子，ChatGPT 刚出来的时候

[01:39] 沒有連網功能，沒辦法調用工具
  没有联网功能，没办法调用工具

[01:41] 充其量就是一個很聰明的問答機器人
  充其量就是一个很聪明的问答机器人

[01:44] 沒辦法實際幫你做完一件事
  没办法实际帮你做完一件事

[01:46] Stanford 的教授整理了 base model 幾個常見的限制
  Stanford 的教授整理了基础模型几个常见的限制

[01:49] 第一是缺乏 domain knowledge
  第一是缺乏领域知识

[01:51] 比方說有一組學生在做自動化農業設備
  比如说有一组学生在做自动化农业设备

[01:54] 要用相機判斷作物有沒有生病
  要用相机判断作物有没有生病

[01:57] 這種農業病害的 dataset 市面上根本找不到
  这种农业病害的数据集市面上根本找不到

[01:59] 換句話說你的公司資料，內部文件，產品規格
  换句话说你的公司资料，内部文件，产品规格

[02:03] base model 都不知道
  基础模型都不知道

[02:04] 它也沒辦法根據這些資料幫你解決問題
  它也没办法根据这些资料帮你解决问题

[02:07] 第二是資訊落後
  第二是资讯落后

[02:09] 模型不可能每幾個月重訓一次
  模型不可能每几个月重训一次

[02:11] 新詞，新事件，新公司它通通不認識
  新词，新事件，新公司它通通不认识

[02:14] 年輕人在用的網路流行用語
  年轻人在用的网络流行用语

[02:16] 模型大多也聽不懂
  模型大多也听不懂

[02:18] 第三個，控制很難
  第三个，控制很难

[02:20] LLM 是機率性輸出
  LLM 是机率性输出

[02:22] 同樣的 prompt 兩次跑可能結果不一樣
  同样的 prompt 两次跑可能结果不一样

[02:24] 在 ChatGPT 上聊天當然 OK
  在 ChatGPT 上聊天当然 OK

[02:26] 但你想想 production 環境
  但你想想 production 环境

[02:28] 使用者問退費
  使用者问退费

[02:29] AI 一下說可以一下說不行，公司就麻煩了
  AI 一下说可以一下说不行，公司就麻烦了

[02:32] 教授說，就連 OpenAI 跟 xAI 這種資金最多
  教授说，就连 OpenAI 跟 xAI 这种资金最多

[02:36] 人才最齊的團隊
  人才最齐的团队

[02:37] 都還沒辦法把 LLM 完全控制好
  都还没办法把 LLM 完全控制好

[02:39] 更何況一般公司
  更何况一般公司

[02:41] 第四個，當 context 太長
  第四个，当 context 太长

[02:43] 模型的表現會顯著退步
  模型的表现会显著退步

[02:45] 現在主流模型的 context window
  现在主流模型的 context window

[02:47] 已經拉到 100 萬 token
  已经拉到 100 万 token

[02:49] 差不多十幾本書的長度
  差不多十几本书的长度

[02:50] 但在這麼大的 context 裡
  但在这么大的 context 里

[02:52] 還是會出現 lost in the middle 的現象
  还是会出现 lost in the middle 的现象

[02:54] 簡單講
  简单讲

[02:55] 你把一個 Gary 午餐吃了一顆蘋果這樣的小細節
  你把一个 Gary 午餐吃了一颗苹果这样的小细节

[02:57] 藏進公司過去一年的會議記錄裡
  藏进公司过去一年的会议记录里

[03:00] 再問模型 Gary 午餐吃了什麼
  再问模型 Gary 午餐吃了什么

[03:02] 雖然這個狀況現在已經顯著改善
  虽然这个状况现在已经显著改善

[03:05] 但 LLM 有時候還是會答不出來
  但 LLM 有時候还是会答不出来

[03:07] 想做 AI 產品
  想做 AI 产品

[03:08] 光換更強的 base model 不夠
  光换更强的 base model 不够

[03:10] 你需要在縱軸上施力
  你需要在纵轴上施力

[03:13] 接下來這支影片的前半段會告訴你
  接下来这支影片的前半段会告诉你

[03:15] 強化單一 LLM 的三個工具和觀念
  强化单一 LLM 的三个工具和观念

[03:18] 也就是 Prompt Engineering
  也就是 Prompt Engineering

[03:19] Fine-Tuning，還有 RAG
  Fine-Tuning，还有 RAG

[03:21] 影片後半段會進到系統設計
  影片后半段会进到系统设计

[03:23] 介紹 Agentic Workflow 跟 evaluation 評估方法
  介绍 Agentic Workflow 跟 evaluation 评估方法

[03:26] 然後用一個客服 agent 的 case study
  然后用一个客服 agent 的 case study

[03:28] 把這些東西串起來
  把这些东西串起来

[03:29] 最後也會帶到很多人感興趣的 Multi-Agent
  最后也会带到很多人感兴趣的 Multi-Agent

[03:32] 那我們直接從 Prompt Engineering 開始講
  那我们直接从 Prompt Engineering 开始讲

[03:34] Stanford 的教授說他不認為 prompt engineer 會是一個職業
  Stanford 的教授说他不认为 prompt engineer 会是一个职业

[03:38] 因為提示詞工程應該是每個工程師都該會的基本技能
  因为提示词工程应该是每个工程师都该会的基本技能

[03:42] 你不會靠 prompt engineering 當飯吃
  你不会靠 prompt engineering 当饭吃

[03:44] 但這個技能會讓你在職涯裡用一輩子
  但这个技能会让你在职涯里用一辈子

[03:46] 就像九九乘法表一樣是基本功
  就像九九乘法表一样是基本功

[03:49] 我之前有做過一部影片
  我之前有做过一部影片

[03:50] 專門在講 prompt engineering
  专门在讲 prompt engineering

[03:52] 有興趣的朋友可以去看看
  有兴趣的朋友可以去看看

[03:53] 關於 prompt engineering
  关于 prompt engineering

[03:55] 有一個很有意思的研究我想分享給你
  有一个很有意思的研究我想分享给你

[03:57] 頂級管理顧問公司 BCG 做過一個實驗
  顶级管理顾问公司 BCG 做过一个实验

[04:00] 他們把一群顧問分成三組
  他们把一群顾问分成三组

[04:02] 第一組沒有 AI
  第一组没有 AI

[04:03] 第二組可以使用 ChatGPT
  第二组可以使用 ChatGPT

[04:05] 第三組則是可以使用 ChatGPT 以外
  第三组则可以使用 ChatGPT 以外

[04:07] 還有接受撰寫提示詞的訓練
  还有接受撰写提示词的训练

[04:10] 最後研究的結果發現三件事
  最后研究的结果发现三件事

[04:12] 第一個叫 The Jagged Frontier，鋸齒邊界
  第一个叫 The Jagged Frontier，锯齿边界

[04:15] 意思是 AI 不是在所有任務上都表現得好
  意思是 AI 不是在所有任务上都表现得好

[04:19] 有些任務搭配 AI 顯著加分
  有些任务搭配 AI 显著加分

[04:21] 但有些任務 AI 反而扯後腿
  但有些任务 AI 反而扯后腿

[04:24] 第二個發現叫 Falling asleep at the wheel
  第二个发现叫 Falling asleep at the wheel

[04:26] 翻成中文就是在方向盤前打瞌睡
  翻译成中文就是在方向盘前打瞌睡

[04:29] 當你不知道任務剛好是 AI 不擅長的
  当你不知道任务刚好是 AI 不擅长的

[04:32] 卻太信任它把產出直接送出
  却太信任它把产出直接送出

[04:34] 結果比沒用 AI 還慘
  结果比没用 AI 还惨

[04:36] 也就是說，你要知道 AI 的邊界在哪
  也就是说，你要知道 AI 的边界在哪

[04:39] 才不會在它弱的地方踩雷
  才不会在它弱的地方踩雷

[04:41] 第三個現象最有趣
  第三个现象最有趣

[04:42] 他們發現使用 AI 的方式分成兩種
  他们发现使用 AI 的方式分成两种

[04:45] 分別是 Centaurs 跟 Cyborgs
  分别是 Centaurs 跟 Cyborgs

[04:47] Centaur 是半人馬，也就是分工委派型
  Centaur 是半人马，也就是分工委派型

[04:50] 丟一個長 prompt 給 AI 叫它做整份簡報
  丢一个长 prompt 给 AI 叫它做整份简报

[04:53] 自己去做別的事
  自己去做别的事

[04:55] Cyborg 是生化人，是高頻來回型
  Cyborg 是生化人，是高频来回型

[04:57] 跟模型一句一句對話協作
  跟模型一句一句对话协作

[04:59] Stanford 的教授說
  Stanford 的教授说

[05:01] 學生的使用習慣會比較像 cyborg
  学生的使用习惯会比较像 cyborg

[05:03] 而企業在自動化 workflow 時比較像 centaur
  而企业在自动化 workflow 时比较像 centaur

[05:06] 那你應該用哪一種？
  那你应该用哪一种？

[05:06] 關鍵是看任務性質
  关键是看任务性质

[05:10] 重複性高，流程清楚的任務
  重复性高，流程清楚的任务

[05:12] 用 centaur 模式委派出去就好
  用 centaur 模式委派出去就好

[05:14] 需要判斷，需要創意，需要來回校正的任務
  需要判断，需要创意，需要来回校正的任务

[05:18] cyborg 模式才能逼出 AI 的最佳輸出
  cyborg 模式才能逼出 AI 的最佳输出

[05:21] 兩者沒有好壞之分，實務上兩種都會用
  两者没有好坏之分，实务上两种都会用

[05:25] 重點是要有意識地切換
  重点是要有意识地切换

[05:27] 接著進到實作
  接着进到实作

[05:28] 通常一個好 prompt 要有三個東西
  通常一个好 prompt 要有三个东西

[05:30] 給誰看，產出格式，重點是什麼
  给谁看，产出格式，重点是什么

[05:33] 請幫我總結這篇文章是一個很爛的提示詞
  请帮我总结这篇文章是一个很烂的提示词

[05:36] 因為什麼資訊都沒給
  因为什么信息都 M没给

[05:38] 但如果你寫的是請將這份再生能源論文
  但如果你写的是请将这份再生能源论文

[05:41] 整理成 5 個重點摘要
  整理成 5 个重点摘要

[05:42] 並且聚焦在其背後的政策意涵上
  并且聚焦在其背后的政策意涵上

[05:45] 模型立刻知道對象是政策制定者
  模型立刻知道对象是政策制定者

[05:48] 長度是 5 個點，重點放在政策意涵上
  长度是 5 个点，重点放在政策意涵上

[05:51] 你的產出品質會立刻提升
  你的产出品质会立刻提升

[05:54] 但教授說，prompt engineering 裡最常用
  但教授说，prompt engineering 里最常用

[05:56] 最重要的一個技巧不是這些，是 Prompt Chaining
  最重要的一个技巧不是这些，是 Prompt Chaining

[06:00] 注意，chaining 跟 Chain of Thought 不一樣
  注意，chaining 跟 Chain of Thought 不一样

[06:03] Chain of Thought 是叫模型 step by step 思考
  Chain of Thought 是叫模型 step by step 思考

[06:06] Chaining 則是把一個複雜的 prompt 拆成多個獨立的 prompt
  Chaining 则是把一个复杂的 prompt 拆成多个独立的 prompt

[06:09] 前一個的 output 餵給下一個
  上一个的输出喂给下一个

[06:11] 有用過 n8n 的朋友應該知道我在說什麼
  用过 n8n 的朋友应该知道我在说什么

[06:14] 舉個例。
  举个例子。

[06:14] 你要做客戶投訴回信
  你要做客户投诉回信

[06:17] 單一 prompt 寫法是讀這封投訴信
  单一 prompt 写法是读这封投诉信

[06:20] 寫一封專業的回應
  写一封专业的回复

[06:22] 這就是一個黑盒子
  这就是一个黑盒子

[06:23] 最後的產出如果有問題
  最后的产出如果有问题

[06:25] 你也不會知道該調整哪裡
  你也不会知道该调整哪里

[06:27] 但如果使用 prompt chaining
  但如果使用 prompt chaining

[06:29] 拆成三個 prompt
  拆成三个 prompt

[06:30] 第一個抽出客戶在抱怨什麼
  第一个抽出客户在抱怨什么

[06:32] 第二個用抽出來的問題起草大綱
  第二个用抽出来的问题起草大纲

[06:34] 第三個用大綱寫完整回信
  第三个用大纲写完整回信

[06:37] 每一步都可以獨立測試，獨立 debug
  每一步都可以独立测试，独立 debug

[06:40] Chaining 不只讓模型表現更好
  Chaining 不只让模型表现更好

[06:42] 也讓你得到 observability
  也让你得到 observability

[06:44] 能觀察 LLM 在做什麼，哪個流程出了問題
  能观察 LLM 在做什么，哪个流程出了问题

[06:47] 講完 Prompt Engineering，下一個是 Fine-Tuning
  讲完 Prompt Engineering，下一个是 Fine-Tuning

[06:50] Stanford 教授對 fine-tuning 的立場很簡單
  斯坦福教授对 fine-tuning 的立场很简单

[06:53] 能不做就不做，原因有四個
  能不做就不做，原因有四个

[06:56] 第一，要大量的優質數據
  第一，要大量的优质数据

[06:58] 如果你想要自己 fine-tune 模型
  如果你想要自己 fine-tune 模型

[07:00] 就要有大量高品質的，標注好的資料
  就要有大量高质量的，标注好的资料

[07:02] 要做到這件事情的成本對一般人來說太高了
  要做到这件事情的成本对一般人来说太高了

[07:06] 第二，容易 overfit
  第二，容易 overfit

[07:08] 模型容易在你那個特定任務上變很強
  模型容易在你那个特定任务上变很强

[07:11] 但通用問題反而答不出來
  但通用问题反而答不出来

[07:13] 就會失去 base model 原本的廣度
  就会失去 base model 原本的广度

[07:16] 第三，時效性差，這應該是最傷的點
  第三，时效性差，这应该是最伤的点

[07:19] 你花兩個月 fine-tune 完一個模型上線
  你花两个月 fine-tune 完一个模型上线

[07:21] 下個月新一代 base model 就出來
  下个月新一代 base model 就出来

[07:23] 直接打贏你 fine-tune 的版本
  直接打赢你 fine-tune 的版本

[07:26] 第四，通常用 prompt engineering 也可以達到一樣的效果
  第四，通常用 prompt engineering 也可以达到一样的效果

[07:29] 而且成本低很多
  而且成本低很多

[07:30] 你想換新 base model
  你想换新 base model

[07:31] 原本的 prompt 大多都是 portable 的
  原本的 prompt 大多都是 portable 的

[07:34] 但 fine-tuning 的模型不行
  但 fine-tuning 的模型不行

[07:36] 當然，針對少數情境
  当然，针对少数情境

[07:38] fine-tune 還是值得做的
  fine-tune 还是值得做的

[07:40] 比方說法律，科學那種需要重複高精度輸出的領域
  比方说法律，科学那种需要重复高精度输出的领域

[07:44] 或者 base model 在某個 domain 上表現吃力
  或者 base model 在某个 domain 上表现吃力

[07:47] 這些情況下，fine-tune 都會有幫助
  这些情况下，fine-tune 都会有帮助

[07:49] 但對大多數的人來說
  但对大多数的人来说

[07:50] 其實不會有太大的效益
  其实不会有太大的效益

[07:52] 所以，如果你想要把特定的 domain knowledge 塞進模型
  所以，如果你想要把特定的 domain knowledge 塞进模型

[07:55] 單純的提示詞工程可能塞不下
  单纯的提示词工程可能塞不下

[07:58] fine-tuning 的成本效益又對不起來
  fine-tuning 的成本效益又对不起来

[08:00] 那實作端應該怎麼辦呢？
  那实作端应该怎么办呢？

[08:02] Stanford 教授給出的答案是 RAG
  Stanford 教授给出的答案是 RAG

[08:04] RAG 是 AI 工程師面試最常考的題目之一
  RAG 是 AI 工程师面试最常考的题目之一

[08:08] 面試官常常會請你用 5 歲小孩聽得懂的方式解釋什麼是 RAG
  面试官常常会请你用 5 岁小孩听得懂的方式解释什么 RAG

[08:13] 你做 AI Builder也好，做 AI 工程師也好
  无论你是做AI Builder还是做AI工程师

[08:15] 这个是你一定要知道的事情
  这是你一定要知道的事情

[08:17] RAG解的痛点有几个
  RAG解决的痛点有几个

[08:19] context window太小，长context抓不准
  上下文窗口太小，长上下文抓取不准

[08:22] 资讯有时效性，或者模型会产生幻觉
  信息有时效性，或者模型会产生幻觉

[08:25] RAG的做法很单纯
  RAG的做法很简单

[08:27] 我用药物副作用这个需要高度准确的医疗场景来说明
  我用药物副作用这个需要高度准确的医疗场景来举例说明

[08:31] 通常RAG的做法是这样的
  通常RAG的做法是这样的

[08:33] 先把所有的资料，文件用embedding模型
  先把所有的资料，文件用embedding模型

[08:36] 把这些资讯转成向量，存进向量数据库
  把这些信息转成向量，存进向量数据库

[08:38] 英文叫做vector database
  英文叫做vector database

[08:41] 所谓向量，就是把一段文字的语意转换成一串数字
  所谓向量，就是把一段文字的语义转换成一串数字

[08:45] 语意相近的文字
  语义相近的文字

[08:46] 转出来的数字阵列在数学空间里距离也会比较近
  转换出来的数字数组在数学空间里的距离也会比较近

[08:50] 所以当使用者问药物A的副作用
  所以当用户问药物A的副作用

[08:53] 我们不是在做关键字比对
  我们不是在做关键词比对

[08:55] 而是在找语意最接近的文件片段
  而是在找语义最接近的文件片段

[08:58] 就算文件里写的是不良反应而不是副作用
  就算文件里写的是不良反应而不是副作用

[09:01] 一样能找到
  一样能找到

[09:02] 使用者的问也用同个embedding模型转成向量
  用户的提问也用同一个embedding模型转成向量

[09:05] 再用距离metric从vector database里
  再用距离度量从vector database里

[09:08] 找出最相近的documents
  找出最相近的文档

[09:10] 最后把这些documents加上system prompt
  最后把这些文档加上system prompt

[09:12] 加上user query，组合成餵给LLM的最终prompt
  加上user query，组合成喂给LLM的最终prompt

[09:16] Prompt template 大概長這樣
  Prompt 模板大概是這樣

[09:18] 根據以下 documents 回答使用者的問題
  根据以下 documents 回答使用者的问題

[09:21] 如果 documents 裡沒有答案，就說『我不知道』
  如果 documents 里没有答案，就说『我不知道』

[09:23] 這樣設計是為了把模型鎖在你提供的資料範圍內
  这样设计是为了把模型锁在你提供的资料范围内

[09:27] 避免它自由發揮，憑空捏造
  避免它自由发挥，凭空捏造

[09:29] 當然，你還可以要求模型回答時附上這個答案來自第幾頁
  当然，你还可以要求模型回答时附上这个答案来自第几页

[09:34] 第幾章，第幾行加超連結
  第几章，第几行加超链接

[09:36] 這樣使用者可以自行回溯資料源進行驗證
  这样使用者可以自行回溯资料源进行验证

[09:39] 但是單純這樣做有時候不夠
  但是单纯这样做有时候不够

[09:41] 比方說一種藥的相關文件可能足足有 50 頁
  比方说一种药的相关文件可能足足有 50 页

[09:45] 整份直接轉成向量，那很多細節遺失其中
  整份直接转成向量，那很多细节遗失其中

[09:49] 所以通常會搭配 chunking
  所以通常会搭配 chunking

[09:51] 最基本的 chunking 是把文件切成固定大小的片段
  最基本的 chunking 是把文件切成固定大小的片段

[09:54] 每段各自轉成向量
  每段各自转成向量

[09:56] 更進階的做法是多層次存儲
  更进阶的做法是多层级存储

[09:58] 同時保留整篇，每章，每段的向量
  同时保留整篇，每章，每段的向量

[10:01] retrieval 時可以先找到相關的章節
  retrieval 时可以先找到相关的章节

[10:03] 再往下鑽到精確的段落
  再往下钻到精确的段落

[10:05] 這樣在大文件裡的命中率會更高
  这样在大文件里的命中率会更高

[10:08] 還有一個最近比較多人在討論的話題
  还有一个最近比较多人在讨论的话题

[10:10] 有人說，像現在已經有模型支援超長的 context window
  有人说，像现在已经有模型支持超长的 context window

[10:14] 等這個技術成熟，算力夠便宜
  等这个技术成熟，算力够便宜

[10:17] base model 直接讀完整個資料庫
  基础模型直接读取整个数据库

[10:19] RAG 就沒用了
  RAG 就没用了

[10:20] 但 Stanford 的教授認為這樣的說法理論上對
  但斯坦福的教授认为这样的说法理论上对

[10:23] 實務上錯
  实务上错

[10:25] 因為實際上你還是會遇到很多問題
  因为实际上你还是会遇到很多问题

[10:27] 比方說 Latency，你想想看
  比方说 Latency，你想想看

[10:30] 每次問問題，模型都要把整個 Google Drive 重讀一次
  每次问问题，模型都要把整个 Google Drive 重读一次

[10:33] 沒人等得了
  没人等得了

[10:35] 就像搜尋引擎也是靠預先建好的索引來快速定位資料
  就像搜索引擎也是靠预先建好的索引来快速定位数据

[10:38] 不可能每次 query 都把整個網路重新爬過一遍
  不可能每次 query 都把整个网络重新爬过一遍

[10:41] 所以 RAG 除了準確度以外
  所以 RAG 除了准确度以外

[10:43] 還有檢索效率，可即時更新這類的優勢
  还有检索效率，可即时更新这类的优势

[10:46] 而這些優勢在可預見的未來都還是有其存在的價值
  而这些优势在可预见的未来都还是有其存在的价值

[10:50] 好，到這邊我們講完了影片的第一部分
  好，到这边我们讲完了影片的第一部分

[10:53] 從 base LLM 的限制出發
  从 base LLM 的限制出发

[10:54] 我們看了 Prompt Engineering
  我们看了 Prompt Engineering

[10:56] Fine-Tuning 還有 RAG
  Fine-Tuning 还有 RAG

[10:56] 這三個工具本質上都是在強化單一個 LLM 的能力
  这三个工具本质上都是在强化单一个 LLM 的能力

[11:00] 但單一個 LLM 再強，還是有它做不到的事
  但单一个 LLM 再强，还是有它做不到的事

[11:03] 所以接下來進入第二部分 AI 系統設計
  所以接下来进入第二部分 AI 系统设计

[11:06] 我們會講 Agentic Workflow
  我们会讲 Agentic Workflow

[11:08] Evaluation 還有 Multi-Agent
  Evaluation 还有 Multi-Agent

[11:09] 這些東西讓你能把 AI 從一個會回答問題的模型
  这些东西让你把 AI 从一个会回答问题的模型

[11:13] 變成一套真正可以運作，實際產出價值的系統
  变成一套真正可以运作，实际产出价值的系统

[11:17] 看到這邊，如果你覺得這支影片對你有幫助
  看到这里，如果你觉得这部影片对你有帮助

[11:20] 想請你幫我按個讚，點個追蹤
  想请你帮我按个赞，点个关注

[11:21] 這是我持續創作下去的動力
  这是我持续创作下去的动力

[11:23] 那我們直接進 Part 2
  那我们直接进入第二部分

[11:25] 先講一下 agentic workflow 這個命名
  先讲一下 agentic workflow 这个命名

[11:27] 這個詞來自吳恩達
  这个词来自吴恩达

[11:29] 如果你不認識他
  如果你不认识他

[11:30] 吳恩達是 Coursera 的共同創辦人
  吴恩达是 Coursera 的共同创始人

[11:32] Google Brain 的創始負責人
  Google Brain 的创始负责人

[11:34] 前百度首席科學家
  前百度首席科学家

[11:35] 是在 AI 領域講話有一定份量的男人
  是在 AI 领域说话有一定分量的男人

[11:38] 吳恩達用 agentic workflow 這個詞
  吴恩达用 agentic workflow 这个词

[11:40] 是因為 AI Agent 已經被用到爛掉了
  是因为 AI Agent 已经被用到烂掉了

[11:43] 有人寫了一個很長的 prompt，叫 agent
  有人写了一个很长的 prompt，叫 agent

[11:46] 有人做了複雜的 multi-agent 系統
  有人做了复杂的 multi-agent 系统

[11:48] 也叫 agent
  也叫 agent

[11:49] 這個詞什麼都能套，反而什麼都說不清楚
  这个词什么都能套，反而什么都说不清楚

[11:52] 所以他用 agentic workflow 來精確描述一件事
  所以他用 agentic workflow 来精确描述一件事

[11:56] 把一堆提示詞，外部工具，還有各種元件
  把一堆提示词，外部工具，还有各种元件

[11:59] 組合進一個有結構的工作流程裡，成為一套系統
  组合进一个有结构的工作流程里，成为一套系统

[12:02] 這就叫做 agentic workflow
  这就叫做 agentic workflow

[12:05] 還記得我們前面講的 RAG 嗎？
  还记得我们前面讲的 RAG 吗？

[12:07] RAG 主要做一件事
  RAG 主要做一件事

[12:08] 給 LLM 外部資料當參考
  给 LLM 外部资料当参考

[12:10] 但 agent 把 RAG 當作工具之一
  但 agent 把 RAG 当作工具之一

[12:13] 外加 tool calls，memory，多步驟決策
  外加 tool calls，memory，多步骤决策

[12:15] 所以能做到 RAG 單獨做不到的事
  所以能做到 RAG 单独做不到的事

[12:18] 舉個例子，使用者說我想退這筆訂單。
  举个例子，用户说我想退这笔订单。

[12:21] RAG 只能丟政策文件給你。
  RAG 只能给你政策文件。

[12:24] agent 則是用 RAG retrieve 政策。
  Agent 则使用 RAG 来检索政策。

[12:25] 主動問訂單編號，用 tool 查訂單。
  主动询问订单号，用工具查询订单。

[12:28] 確認退費。
  确认退款。

[12:29] 告訴你 3 到 5 個工作天會處理。
  告诉你 3 到 5 个工作天会处理。

[12:31] RAG 是工具，Agent 是使用 RAG 這個工具的系統。
  RAG 是工具，Agent 是使用 RAG 这个工具的系统。

[12:35] 要打造 agentic workflow。
  要打造 agentic workflow。

[12:36] 你的工程心態要先翻轉過來。
  你的工程心态要先翻转过来。

[12:39] 因為傳統 software 跟 agentic AI software 在四個面向都很不一樣。
  因为传统 software 和 agentic AI software 在四个方面都很不一样。

[12:44] 首先是資料。
  首先是数据。

[12:45] 傳統軟體吃結構化資料。
  传统软件处理结构化数据。

[12:47] JSON，資料庫，表單，格式固定，邊界清楚。
  JSON，数据库，表单，格式固定，边界清楚。

[12:50] Agentic 系統吃的是自由文本。
  Agentic 系统处理自由文本。

[12:53] 圖片，音訊，沒有固定格式。
  图片，音频，没有固定格式。

[12:56] 第二個是邏輯。
  第二个是逻辑。

[12:57] 傳統 software 是 deterministic。
  传统 software 是确定性的。

[12:59] 同樣的 input，永遠給你同樣的 output。
  同样的输入，永远给你同样的输出。

[13:03] 可預測，可重現。
  可预测，可重现。

[13:05] Agentic 系統是 fuzzy 的。
  Agentic 系统是模糊的。

[13:07] 意思是同樣的 input，不同時間跑可能給你不同的 output。
  意思是同样的输入，不同时间运行可能给你不同的输出。

[13:11] 因為 LLM 本身有隨機性。
  因为 LLM 本身有随机性。

[13:13] 加上它會根據 context 做判斷。
  加上它会根据上下文做判断。

[13:15] 沒有一個固定答案。
  没有一个固定答案。

[13:17] 第三個是架構心態，這個最重要。
  第三个是架构心态，这个最重要。

[13:20] 傳統工程師的思維是寫 microservices
  传统工程师的思维是写微服务

[13:22] 寫 monolith
  写单体应用

[13:23] 你精確控制每一步執行路徑
  你精确控制每一步执行路径

[13:26] Agentic 系統的思維是 think like a manager
  Agentic系统的思维是像经理一样思考

[13:28] 你給 AI 一個目標和限制，讓它自己決定怎麼完成
  你给AI一个目标和限制，让它自己决定怎么完成

[13:32] 你管的是方向和邊界，不是每一行程式碼
  你管的是方向和边界，不是每一行代码

[13:36] 第四個是測試
  第四个是测试

[13:37] 傳統測試是確定性的，跑一百次結果一樣
  传统测试是确定性的，跑一百次结果一样

[13:40] Agentic 測試是迭代探索式的
  Agentic测试是迭代探索式的

[13:43] 因為系統本身是非確定性的
  因为系统本身是非确定性的

[13:45] 加上它對 context 非常敏感
  加上它对上下文非常敏感

[13:46] 你沒辦法窮舉所有情況
  你没办法穷举所有情况

[13:48] 知道這四件事之後
  知道这四件事之后

[13:49] 第一個落地原則就跟著來了
  第一个落地原则就跟着来了

[13:51] 能 deterministic 解的問題，就 deterministic 解
  能确定性解决的问题，就确定性解决

[13:54] 剩下 fuzzy 的部分，加上護欄
  剩下模糊的部分，加上护栏

[13:58] 教授舉自己的例子
  教授举自己的例子

[13:59] 他們做 skills assessment
  他们做技能评估

[14:01] 選擇題，配對題，拖拉題用 deterministic 算分
  选择题，配对题，拖拉题用确定性评分

[14:04] 因為這些有標準答案，對就是對，錯就是錯
  因为这些有标准答案，对就是对，错就是错

[14:07] 但語音題，語音加 coding 的混合題型
  但语音题，语音加编程的混合题型

[14:10] 沒有標準答案，沒辦法 deterministic 評分
  没有标准答案，没办法确定性评分

[14:12] 只能讓 LLM 去判斷
  只能让LLM去判断

[14:14] 這就是 fuzzy scoring
  这就是模糊评分

[14:15] 也就是沒有標準答案的評分
  也就是没有标准答案的评分

[14:17] 你請 LLM 聽一段語音回答
  你请LLM听一段语音回答

[14:20] 它要判斷這個人有沒有真的理解這個概念
  它要判断这个人有没有真的理解这个概念

[14:22] 表達是否清晰，邏輯有沒有跑掉
  表达是否清晰，逻辑有没有跑掉

[14:24] 這些不是對或錯，是一個程度的判斷
  这些不是对或错，是一个程度的判断

[14:28] LLM 會給你一個分數
  LLM 会给你一个分数

[14:29] 但這個分數是它覺得合理的答案，不是算出來的
  但这个分数是它觉得合理的答案，不是算出来的

[14:34] Fuzzy 的問題是它一定會犯錯
  Fuzzy 的问题是它一定会犯错

[14:36] LLM 可能誤判一個正確答案
  LLM 可能误判一个正确答案

[14:38] 或是對模稜兩可的回答給出偏低的分數
  或是对模棱两可的回答给出偏低的分数

[14:41] 在考試評分這種高風險的場景，這不可接受
  在考试评分这种高风险的场景，这不可接受

[14:44] 所以他們設計了一個 Appeal feature
  所以他们设计了一个 Appeal feature

[14:46] 受測者可以對 agent 的判分提出申訴
  受测者可以对 agent 的判分提出申诉

[14:49] 由真人介入審查並糾正
  由真人介入审查并纠正

[14:52] 這就是護欄的具體形式
  这就是护栏的具体形式

[14:53] 不是試圖讓 AI 零錯誤
  不是试图让 AI 零错误

[14:55] 而是在它出錯的時候有人接得住
  而是在它出错的时候有人接得住

[14:58] 好，原則講完了
  好，原则讲完了

[15:00] 要實際打造一個 agent，你需要哪些東西？
  要实际打造一个 agent，你需要哪些东西？

[15:03] 教授用訂機票去巴黎當範例
  教授用订机票去巴黎当范例

[15:05] 整理出三個核心要素
  整理出三个核心要素

[15:07] 第一個是 Prompts
  第一个是 Prompts

[15:08] 前面講的提示詞工程，在 agent 裡就是這一塊
  前面讲的提示词工程，在 agent 里就是这一块

[15:12] 你怎麼告訴 AI 它的角色是什麼
  你怎么告诉 AI 它的角色是什么

[15:14] 它能做什麼，不能做什麼
  它能做什么，不能做什么

[15:15] 第二個是 Context Management
  第二个是 Context Management

[15:17] 也就是怎麼管理 agent 在每一個當下看得到的資訊
  也就是怎么管理 agent 在每一个当下看得到的信息

[15:21] 這包含幾件事
  这包含几件事。

[15:23] Memory，對話歷史
  记忆，对话历史。

[15:24] 也可能有 RAG 撈回來的資料
  也可能有 RAG 捞回来的资料。

[15:26] 通通都要塞進有限的 context window 裡
  通通都要塞进有限的 context window 里。

[15:28] 你要決定什麼重要，什麼可以丟，什麼要壓縮
  你要决定什么重要，什么可以丢，什么要压缩。

[15:32] Context Management 本質上只做一件事
  Context Management 本质上只做一件事。

[15:34] 那就是把對的資訊在對的時間提供給你的 agent
  那就是把对的信息在对的时间提供给你的 agent。

[15:38] Memory 本身又分兩層
  Memory 本身又分两层。

[15:40] Working memory 是高頻，要快的
  Working memory 是高频，要快的。

[15:42] 比方說使用者的名字，這次的目的地是巴黎
  比方说使用者的名字，这次的目的地是巴黎。

[15:46] Archival memory 是低頻，可以慢一點的
  Archival memory 是低频，可以慢一点的。

[15:49] 比方說使用者過去五年的訂房紀錄
  比方说使用者过去五年的订房纪录。

[15:52] 需要的時候再去撈
  需要的时候再去捞。

[15:54] 第三個是 Tools
  第三个是 Tools。

[15:55] 也就是 agent 能呼叫的外部能力
  也就是 agent 能呼叫的外部能力。

[15:58] 通常分成兩種
  通常分成两种。

[15:59] 一種是做事的
  一种是做事的。

[16:00] 比方說 Flight Search，Hotel Booking，Payment
  比方说 Flight Search，Hotel Booking，Payment。

[16:02] 一種是查資料的
  一种是查资料的。

[16:04] 比方說去 CRM 撈客戶資料
  比方说去 CRM 捞客户资料。

[16:05] 去資料庫查訂單紀錄
  去数据库查订单纪录。

[16:07] 另外，課堂上教授把 agent 的自主性分為三層
  另外，课堂上教授把 agent 的自主性分为三层。

[16:11] 最低是 hardcoded steps
  最低是 hardcoded steps。

[16:13] 步驟全寫死，先識別用戶的意圖
  步骤全写死，先识别用户的意图。

[16:16] 再 lookup history，最後呼叫 API，照順序走
  再 lookup history，最后呼叫 API，照顺序走。

[16:19] 安全，可預測，但很僵硬
  安全，可预测，但很僵硬。

[16:22] 遇到預期外的情況就卡住。
  遇到预期外的情况就卡住。

[16:24] 第二層是 hardcoded tools。
  第二层是hardcoded tools。

[16:25] 但讓 agent 自己決定執行步驟。
  但让agent自己决定执行步骤。

[16:28] 你給它一組工具，告訴它你是 travel agent。
  你给它一组工具，告诉它你是travel agent。

[16:31] 這些是你能用的工具，怎麼用你決定。
  这些是你能用的工具，怎么用你决定。

[16:34] 掌控工具範圍，但給 agent 空間判斷怎麼組合。
  掌控工具范围，但给agent空间判断怎么组合。

[16:38] 這是目前最常見的 production setup。
  这是目前最常见的production setup。

[16:40] 也是教授推薦的起點。
  也是教授推荐的起点。

[16:42] 第三層是 fully autonomous。
  第三层是fully autonomous。

[16:44] agent 自己決定步驟，甚至自己創工具。
  agent自己决定步骤，甚至自己创工具。

[16:48] 給它 code editor，給它 web search。
  给它code editor，给它web search。

[16:50] 叫它自己寫 code 解決問題。
  叫它自己写code解决问题。

[16:52] 能力最強，但風險也最高。
  能力最强，但风险也最高。

[16:55] 你沒辦法完全預測它會做什麼。
  你没办法完全预测它会做什么。

[16:57] 如果 agent 判斷錯誤，自己訂了 100 張機票。
  如果agent判断错误，自己订了100张机票。

[16:59] 你就完蛋了。
  你就完蛋了。

[17:01] 還有一個關鍵概念是 MCP。
  还有一个关键概念是MCP。

[17:03] Model Context Protocol。
  Model Context Protocol。

[17:05] 傳統做法是你要替每一個 API 單獨寫串接邏輯。
  传统做法是你要替每一个API单独写串接逻辑。

[17:08] 教 LLM 這個 API 怎麼用。
  教LLM这个API怎么用。

[17:10] 那個 API 要傳什麼參數。
  那个API要传什么参数。

[17:11] MCP 的做法是在中間放一個協議層。
  MCP的做法是在中间放一个协议层。

[17:15] agent 不需要認識每一個 API。
  agent不需要认识每一个API。

[17:17] 它只需要跟 MCP server 溝通。
  它只需要跟MCP server沟通。

[17:19] MCP 負責幫它跟後面的服務打交道。
  MCP负责帮它跟后面的服务打交道。

[17:22] 你可以把 MCP 想成一個通用插頭
  你可以把 MCP 设想成一个通用插头

[17:24] 以前每個國家的插座規格不一樣
  以前每个国家的插座规格都不一样

[17:26] 你要帶一堆轉接頭
  你需要带一堆转接头

[17:28] 有了 MCP，插一個就全通了
  有了 MCP，插一个就全部通了

[17:31] Stanford 教授還有提到對 MCP 一個更大的想像
  斯坦福教授还提到了对 MCP 的一个更大的设想

[17:34] 那就是 agent-to-agent communication
  那就是 agent-to-agent communication

[17:36] 你可以把別人做好的 agent 當作一種工具
  你可以把别人做好的 agent 当作一种工具

[17:39] 讓你自己的 agent 去呼叫它
  让自己的 agent 去调用它

[17:40] 就像現在 agent 呼叫 API 一樣
  就像现在 agent 调用 API 一样

[17:43] 這是 multi-agent 系統的基礎
  这是 multi-agent 系统的基础

[17:44] 我們等一下會講到
  我们等一下会讲到

[17:46] 不管是單一 agent 還是 multi-agent
  不管是单一 agent 还是 multi-agent

[17:47] 上線之前都要先回答同一個問題
  上线之前都要先回答同一个问题

[17:49] 怎麼知道它真的有用？
  怎么知道它真的有用？

[17:49] 答案是 eval
  答案是 eval

[17:52] 也是 production agentic 系統的命脈
  也是 production agentic 系统的命脉

[17:54] 教授在課堂上給了一個完整的 eval 框架
  教授在课堂上给了一个完整的 eval 框架

[17:56] 是三個維度交叉
  是三个维度交叉

[17:58] 第一個維度是 End-to-End 還有 Component-based
  第一个维度是 End-to-End 还有 Component-based

[18:02] End-to-end 是看整體
  End-to-end 是看整体

[18:04] 使用者用完給幾分，滿不滿意
  使用者用完给几分，满不满意

[18:08] Component-based 是拆開每一步看
  Component-based 是拆开每一步看

[18:09] 比方說
  比如说

[18:10] 這個 tool 老是忘記更新 email
  这个 tool 老是忘记更新 email

[18:11] 送 email 那一步格式不對
  发送 email 那一步格式不对

[18:13] 光看整體你知道哪裡壞，但不知道為什麼壞
  光看整体你知道哪里坏，但不知道为什么坏

[18:16] 光看 component 你可能修了細節但整體體驗還是差
  光看 component 你可能修了细节但整体体验还是差

[18:20] 實務上兩個都要做
  实务上两个都要做

[18:22] 第二個維度是 Objective 還有 Subjective
  第二个维度是 Objective 还有 Subjective

[18:25] 也就是客觀和主觀的評價方式
  也就是客观和主观的评价方式

[18:28] Objective 是可以自動驗證的
  Objective是可以自动验证的

[18:30] 使用者說 order ID 是 X
  使用者说order ID是X

[18:31] LLM 寫進 DB 變成 Y
  LLM写进DB变成Y

[18:33] 這種東西你可以寫個 Python script 自動對齊
  这种东西你可以写个Python script自动对齐

[18:36] 因為對就是對，錯就是錯
  因为对就是对，错就是错

[18:39] Subjective 是沒有標準答案的
  Subjective是没有标准答案的

[18:41] 語氣好不好，回答夠不夠有同理心
  语气好不好，回答够不够有同理心

[18:43] 這種要靠人工評分
  这种要靠人工评分

[18:44] 或是用另一個額外的 LLM 當作評審
  或是用另一个额外的LLM当作评委

[18:47] 這個等等我會細講
  这个等等我会细讲

[18:49] 第三個維度是 Quantitative 還有 Qualitative
  第三个维度是Quantitative还有Qualitative

[18:52] Quantitative 是數字
  Quantitative是数字

[18:54] 改地址成功率幾趴，每個環節的延遲多久
  改地址成功率几趴，每个环节的延迟多久

[18:58] Qualitative 是感覺
  Qualitative是感觉

[18:59] 在哪裡幻覺，語氣哪裡不對
  在哪里幻觉，语气哪里不对

[19:02] 使用者哪一步卡住
  使用者哪一步卡住

[19:03] 這個要人工一筆一筆看，沒有捷徑
  这个要人工一笔一笔看，没有捷径

[19:06] 剛剛提到的用 LLM 當作評審
  刚刚提到的用LLM当作评委

[19:08] 又稱 LLM-as-Judge
  又称LLM-as-Judge

[19:10] 這是做 subjective eval 常用的做法
  这是做subjective eval常用的做法

[19:13] 設計上有四種主流玩法
  设计上有四种主流玩法

[19:15] 第一種是 Pair-wise comparison
  第一种是Pair-wise comparison

[19:17] 給 judge 兩個答案，問它哪個比較好
  给judge两个答案，问它哪个比较好

[19:20] 第二種是 Single-answer grading
  第二种是Single-answer grading

[19:22] 直接打一到五分
  直接打一到五分

[19:23] 第三種是 Reference-guided pair-wise
  第三种是Reference-guided pair-wise

[19:25] 多給一個標準答案做對比，讓評分更有依據。
  提供一个标准答案作为对比，使评分更有依据。

[19:29] 第四種是 Rubric-based。
  第四种是基于评分标准（Rubric-based）。

[19:30] 你自己定義評分標準。
  你来定义评分标准。

[19:32] 比方說五分等於一百字以內，含三個重點。
  比如五分代表一百字以内，包含三个重点。

[19:35] 第一句是 overview。
  第一句是概述。

[19:36] 零分等於答非所問，冗長失焦。
  零分代表答非所问，冗长且偏离主题。

[19:38] 這四種可以混用。
  这四种可以混合使用。

[19:40] 比方說 rubric-based 加上 few-shot examples。
  比如，基于评分标准（rubric-based）加上少样本示例（few-shot examples）。

[19:42] 讓評審更知道你要什麼。
  让评审更清楚你想要什么。

[19:45] 怎麼實際跑一個 subjective eval？
  如何实际进行主观评估（subjective eval）？

[19:47] 課堂上教授用 travel agent 的禮貌度評估當例子。
  课堂上，教授用旅行社客服的礼貌度评估作为例子。

[19:50] 共拆成四個步驟。
  共分为四个步骤。

[19:52] 第一步是 error analysis。
  第一步是错误分析（error analysis）。

[19:54] 從一千個使用者裡抽二十個對話，人工讀。
  从一千个用户中抽取二十个对话，进行人工阅读。

[19:58] 你可能就會發現 LLM 講話超短。
  你可能会发现大型语言模型（LLM）说话很简短。

[20:00] 有點機車，沒同理心。
  有点烦人，缺乏同理心。

[20:02] 這步不能省，你要先知道問題長什麼樣。
  这一步不能省略，你必须先了解问题是什么样的。

[20:05] 才能設計出對的 eval。
  才能设计出正确的评估。

[20:07] 第二步是設計 eval。
  第二步是设计评估。

[20:08] 用 LLM-as-Judge 加上自己寫的禮貌度 rubric。
  使用大型语言模型作为裁判（LLM-as-Judge）并结合自己编写的礼貌度评分标准。

[20:11] 把你在第一步發現的問題翻譯成評分標準。
  将你在第一步发现的问题转化为评分标准。

[20:15] 第三步是 A/B test 模型。
  第三步是进行模型的 A/B 测试。

[20:17] 固定 prompt，把底層模型從 GPT 換成 Opus 或者其他模型。
  固定提示（prompt），将底层模型从 GPT 换成 Opus 或其他模型。

[20:21] 然後跑同一批對話，judge 評分。
  然后运行同一批对话，由裁判进行评分。

[20:24] 看哪個模型禮貌度最高。
  看哪个模型的礼貌度最高。

[20:26] 第四步是 A-B test prompt

[20:28] 固定模型

[20:29] 把 act like a travel agent 改成

[20:31] act like a helpful travel agent

[20:33] 看一個詞的差距影響有多大

[20:36] 核心原則只有一個

[20:37] 先人工掃出問題，再設計自動化 eval

[20:41] 而且模型跟 prompt 這兩個變因一次只動一個

[20:43] 不然不知道是哪個改動造成了差異

[20:46] 講完 eval，教授給了一個完整的 case study

[20:48] 把前面所有東西串起來

[20:50] 題目很簡單

[20:51] 我們要做一個客服 AI agent

[20:53] 使用者可能會說

[20:54] 『我要改 A127 訂單的地址，因為我搬家到建國南路了』

[20:59] 這樣的 AI 客服 agent 你會怎麼做？

[21:02] 這題目有兩層

[21:03] 表面看是怎麼改地址

[21:04] 本質是怎麼做一個會自己處理客服請求的 agent

[21:08] 課堂上一個學生回答說

[21:10] 我會先去客服旁邊坐一到兩天

[21:12] 看他們實際怎麼處理這種請求

[21:15] 他們日常的工作流是什麼

[21:17] 教授很喜歡這個答案

[21:18] 因為你要先理解人怎麼做這件事

[21:21] 才知道怎麼讓 AI 做

[21:22] 而這就是做 agentic workflow 的第一步

[21:24] 叫做 task decomposition

[21:26] 也就是把大任務拆解成小任務

[21:29] 讓 LLM 可以逐個擊破

[21:31] 觀察之後，你會發現客服處理一個改地址請求

[21:35] 其實走了五步

[21:36] 第一步，抽出關鍵資訊

[21:38] 包含客戶的 intent 是什麼

[21:41] order ID 是哪個，新地址是什麼

[21:43] 第二步，去資料庫查客戶紀錄

[21:46] 第三步，查公司政策

[21:48] 像是這筆訂單能不能改地址？是不是已經出貨了？

[21:52] 第四步，根據前面收集到的資訊起草回信

[21:55] 第五步，送出 email

[21:57] 每一步都明確，這就是 task decomposition

[22:00] 有了拆解，下一步是決定每一步用什麼工具

[22:03] 第一步抽資訊

[22:05] 單純用 LLM 的一次 API 呼叫通常就能解決

[22:08] 第二步查和改 Database

[22:10] 要 custom tool 或 MCP server

[22:12] 第三步政策檢查，用 RAG

[22:14] 因為政策文件會更新，也需要有效率的檢索

[22:17] 不能讓客戶等太久

[22:19] 第四步是根據前幾步搜集到的資訊

[22:21] 開始撰寫 email

[22:23] 第五步送 email

[22:24] 用 agent 能夠使用的 email 寄送工具

[22:28] 做這些判斷的方式很簡單

[22:30] 先問自己哪些步驟是 fuzzy

[22:32] 哪些是 deterministic

[22:33] 再決定每一步是用 LLM one-shot

[22:36] RAG，tool，還是其他工具

[22:38] 這就是 AI Builder 真實在做的工作

[22:40] 知道每個工具，每種技術的能力和限制

[22:43] 然後炒出一盤你需要的菜

[22:45] 最後是 build evals

[22:47] 把前面講的三個維度全部用上

[22:49] End-to-end 看最終回覆正確性

[22:52] 語氣，使用者滿意度

[22:54] Component-based 拆開看每一步

[22:56] 抽資訊的準度，API 錯誤率，政策遵守率

[22:59] Objective 的部分可以自動驗證

[23:01] 抽出來的 order ID 是否正確

[23:03] 有沒有違反退費政策

[23:05] Subjective 的部分要靠人工加 LLM-as-Judge

[23:08] 比方說回信是否有禮貌，有沒有同理心

[23:11] Quantitative 看改地址成功率

[23:14] latency，退費正確率

[23:17] Qualitative 看哪裡有幻覺

[23:18] 哪裡語氣不一致

[23:20] 使用者在哪一步感到困惑

[23:22] 到這邊，一個完整的 AI 客服 agent

[23:24] 從零到上線的工程流程就出來了

[23:26] 其實總共就是三個步驟

[23:28] 先把大任務拆解成小任務

[23:30] 再設計工作流程

[23:31] 最後建立評估系統，確保產出穩定

[23:34] 這堂課的最後一個主題是 Multi-Agent

[23:36] 前面一個 agent 已經能拆步驟

[23:38] call tool，做 RAG，寫信

[23:40] 看起來夠用了

[23:42] 但 multi-agent 還是有它存在的理由

[23:44] 主要原因是平行處理

[23:46] 有些事沒理由排隊跑

[23:48] 訂機票的時候，找航班，找飯店，查天氣

[23:52] 這三件事完全可以同時進行

[23:54] 如果只有一個 agent，就只能一件一件做

[23:57] Multi-agent 就是把這幾件可以平行的事

[23:59] 拆給三個 specialized agent 同時跑

[24:02] 速度直接拉起來

[24:04] 次要原因是 reusability，也就是可復用性

[24:07] 公司裡的 design agent 可以給行銷團隊用

[24:10] 也可以給產品團隊用

[24:12] 不過，multi-agent 聽起來很厲害

[24:15] 但做產品的時候要先問自己真的有需要嗎？

[24:18] 如果一個 agent 就能解決的任務

[24:20] 硬上 multi-agent 反而增加複雜度

[24:23] 所以還是老話一句，工程設計能簡單就簡單

[24:26] 不要 over design

[24:27] 教授用智慧家庭當 brainstorm 範例

[24:30] 一個完整的智慧家庭 multi-agent 系統可能有溫度控制

[24:33] 燈光，保全，娛樂，通知

[24:36] 還有能源管理這些 agent

[24:37] 加上一個 Orchestrator 統籌

[24:39] 互動模式有兩種

[24:41] 第一種是 Hierarchical

[24:42] 使用者只跟 orchestrator 講話

[24:43] 由它派工給下面的 agent，指揮鏈清楚

[24:47] 第二種是 Flat

[24:48] agent 之間直接互通，沒有中間人

[24:51] 教授建議智慧家庭以 hierarchical 為主

[24:54] 因為從使用者的角度

[24:55] 你不想同時跟五個 agent 講話

[24:57] 你只想跟一個 assistant 說我要出門了

[25:00] 它就會自己去協調燈光，保全，溫控

[25:03] 但在後台，某些 agent 之間可以有彼此之間水平溝通的連線方式

[25:09] 比方說溫度控制的 agent 跟能源管理的 agent 直接互通

[25:13] 省掉每次都要過 orchestrator 的溝通成本

[25:16] 當你讓 agent 之間互相溝通

[25:18] 本質上就是 MCP protocol

[25:20] 你把 agent 當作 tool

[25:21] 就跟把 API 當作 tool 一樣

[25:24] 這個心態一旦想通，設計就清楚了

[25:27] 每個 agent 對外暴露一組 tool-like 介面

[25:28] 其他 agent 像呼叫工具一樣呼叫這個 agent

[25:31] 這樣子做結構乾淨，容易 debug

[25:33] 也支援平行處理

[25:35] Multi-agent 聽起來複雜

[25:36] 但其實只是把你已經懂的東西，多疊一層

[25:39] 好，那我們最後整理一下這堂課的重點

[25:42] 這支影片我們從基礎模型的限制開始講起

[25:45] 並帶到能夠加強模型表現的技巧和技術

[25:47] 首先是 Prompt Engineering

[25:49] 強化 LLM 輸出，成本最低

[25:51] 重點放在 chaining 跟 testing

[25:53] 第二層是 Fine-Tuning

[25:54] 除非你在處理法律，科學那種需要重複高精度的 domain

[25:58] 或者興趣使然

[25:59] 否則別沒事找事去調模型

[26:02] 第三層是 RAG

[26:03] 幫模型補足知識的標準解法

[26:06] 做 AI 產品基本上一定會碰到

[26:08] 最後是 Agentic Workflow

[26:10] 從強化單一 LLM 進到系統設計

[26:13] 重點是思維上的心態轉變

[26:15] 從過往的 deterministic engineering

[26:17] 到現在的 fuzzy engineering

[26:19] 以及應對 fuzzy engineering 的 evaluation 系統

[26:22] 還有在實戰上要如何從拆解任務開始

[26:25] 打造自己的 agentic workflow

[26:27] 第五層是 Multi-Agent

[26:28] 把每個 agent 都當成工具

[26:30] 彼此協作來提升處理速度跟復用性

[26:33] 教授在兩個小時內跑完產業上常見的實作技巧

[26:36] 每個技術的存在理由跟適用情境都交代清楚

[26:39] 有了這樣的認知，你就不會盲目跟風

[26:42] 看到別人在做 multi-agent 就跟著做

[26:44] 看到別人講 fine-tuning 覺得很帥就去玩自己的模型

[26:47] 所以你的下一步是什麼？

[26:48] 我給你的建議是，從實作中學習

[26:51] 看看你的生活上或者工作上有什麼痛點

[26:54] 從痛點出發去思考解決方法

[26:56] 在這個過程中你就會發現自己需要學會哪些技術

[27:00] 就能夠很有效率的去規劃自己的學習路線

[27:03] 我把這支影片整理成了一篇深度文章

[27:05] 附帶 4 組 prompts

[27:06] 幫你想清楚自己的 workflow 怎麼拆

[27:08] 現有架構有沒有 over-engineering

[27:10] 幫你建立 eval 系統

[27:12] 以及該不該上 multi-agent

[27:13] 有興趣的朋友可以在資訊欄找到連結

[27:15] 那今天這支影片差不多就講到這邊

[27:17] 如果你喜歡這樣的內容

[27:19] 想請你幫我點個讚

[27:20] 也在底下留言告訴我你們想看什麼樣的內容

[27:22] 那我們下次見
