理解與活用生成式 AI
在動手操作之前,先花一點時間搞懂兩件事:生成式 AI 到底是怎麼「回答」你的,以及 Dify 在整個 AI 應用開發裡扮演什麼角色。理解了這兩件事,後面每一章的操作都會變得「理所當然」。
本章目標
- 要學什麼
- AI 應用開發的全貌,以及用 Dify 開發的意義
- 學會的技能
- 理解 LLM 回答的機制、理解 Dify 的定位與優缺點
- 能做出什麼
- 本章是觀念章,從第 2 章開始動手做
1.1生成式 AI 是怎麼回答你的?
你在 ChatGPT 或 Claude 輸入一句話,幾秒後它回你一段流暢的文字。這中間發生了什麼事?
核心其實只有一件事:大型語言模型(LLM)在做「接龍」。模型讀入你的文字,然後一次預測一個最合理的「下一個詞」,把它接上去,再預測下一個,如此反覆,直到組成完整的回答。它之所以能接得又準又自然,是因為它在訓練時讀過網路上海量的文字,把「什麼樣的上下文之後通常接什麼」學進了數千億個參數裡。
LLM 不是在資料庫裡「查」答案,而是根據機率「生成」答案。這解釋了它的兩個天性:能舉一反三(沒看過的問題也能答),但也可能一本正經地胡說八道(機率上合理,事實上錯誤,俗稱「幻覺」)。
1.1.1從「會聊天」到「有用的應用程式」還差幾步?
光有一個會聊天的模型,離「能在工作中派上用場的應用」還有一段距離。實務上你會遇到這些問題:
- 它不知道你的資料——公司規章、產品手冊、內部知識,模型訓練時沒讀過。(解法:RAG,第 3 章)
- 它不會執行動作——查天氣、算數字、呼叫 API,光靠文字接龍做不到。(解法:Agent 與工具,第 4、7 章)
- 它需要固定的處理流程——「先分類、再查資料、最後彙整」這種多步驟業務,需要流程控制。(解法:Workflow,第 5、6 章)
- 它要能被系統呼叫——做好的 AI 功能要嵌入既有系統。(解法:API,第 9 章)
這些「差的幾步」,正是這本教學接下來每一章要補上的東西,而 Dify 就是把這些能力全部整合在一個平台上的工具。
1.2Dify 的角色:課題驅動開發
傳統的 AI 應用開發,你得會 Python、懂 LangChain 之類的框架、自己架資料庫和向量檢索、自己寫前端。等環境都搞定,往往已經過了好幾週。
Dify 把這條路徹底翻轉。它把 LLM 管理、知識庫、工具、流程編排、API、監控全部做成視覺化的網頁介面,讓你用「拖拉節點、填設定」的方式組出 AI 應用。於是開發的起點不再是「我要先學會哪些技術」,而是——
「我想解決什麼問題?」——這就是課題驅動開發(Issue-Driven Development)。先有課題(想自動回覆客服信、想讓新人查得到公司規定),再用 Dify 把解法組出來。技術門檻降低後,最了解問題的人(往往不是工程師)也能自己動手做。
1.2.1人與 AI 的新分工
在 Dify 的世界裡,人負責「定義問題、設計流程、準備知識」,AI 負責「理解語言、生成內容、判斷分類」。你會在第 5 章看到,一條 Workflow 就是這種分工的具體呈現:每個節點該做什麼由你決定,節點裡面的智慧由模型提供。
1.3Dify 到底是什麼?
一句話:Dify 是一個開源的 LLM 應用開發平台。你可以把它想成「AI 應用的樂高工作桌」——模型、知識、工具是積木,Dify 提供拼裝的桌面和說明書。
1.3.1開源,而且可以完全在自己電腦上跑
Dify 的原始碼公開在 GitHub,你可以免費使用社群版(Community Edition),用 Docker 在自己的電腦或伺服器上架起來。本教學全程使用的就是本機社群版——所有截圖的網址都是 http://localhost。資料不出門,對處理公司內部文件特別安心(完整的安裝與部署細節在第 10 章)。
1.3.2No-Code 起步,Low-Code 進階
簡單的聊天機器人完全不用寫程式(第 2 章你會體驗到「五分鐘做一個」);需要更細緻的控制時,可以在流程中插入一小段 Python 或 JavaScript(第 6 章的 Code 節點)。從零程式到少量程式,坡度非常平緩。
1.3.3做好的應用可以當 API 用
在 Dify 上做好的每一個應用,都自動附帶一組 REST API。這代表你可以把 Dify 當成「AI 後端」(BaaS),讓自家網站、App、內部系統直接呼叫(第 9 章)。
1.3.4老實說,Dify 也有不夠好的地方
- 版本更新快,介面常改版——截圖若與你看到的略有出入,找相同名稱的按鈕即可。
- 極複雜的客製邏輯(例如特殊的資料結構處理)終究需要寫點程式碼。
- 視覺化流程在節點很多時會變得難以維護,需要良好的設計習慣(第 6 章的「十二之型」就是為此而生)。
知道邊界在哪,才能把工具用在刀口上。準備好了嗎?下一章我們馬上動手,做出你的第一個聊天機器人。