by Rain Chu | 7 月 28, 2026 | Agent , AI
CrewAI 不是一個大語言模型,而是一套用來編排 AI Agent 的 Python 框架,它把一個複雜任務拆成不同角色,再透過 Task、Process 與 Crew 控制合作方式。模型負責思考,工具負責行動,知識庫負責補充事實,而 CrewAI 負責讓這些元件按照可理解的流程運作。
提示詞優化是一個很適合理解 CrewAI 的案例,只要把工作拆成分析、改寫、測試與最終審核,就能看見多 Agent 的價值,也能看見它的代價,Agent 數量增加後,模型呼叫、檢索次數、延遲與費用都會一起增加。真正重要的不是組一支看起來很熱鬧的 AI 團隊,而是讓每個角色都有不可取代的責任。
CrewAI 是什麼
CrewAI 是獨立開發的多 Agent 自動化框架,不依賴 LangChain,官方把主要能力分成 Crews 與 Flows,Crews 適合需要角色分工、探索與協作的任務,Flows 適合需要明確順序、狀態、條件分支與可稽核結果的工作流。
可以把它想成一間小型公司,Crew 是團隊,Agent 是成員,Task 是工作單,Process 是工作順序,Tool 是成員可以使用的工具。Knowledge 則是團隊共同或個別可查閱的資料庫。
元件 負責內容 提示詞優化案例 Agent 角色、目標、模型、工具與行為 分析師、改寫者、測試者 Task 工作描述、輸入、預期輸出與驗收條件 找出缺漏、產生新版、比較品質 Crew 組合 Agent 與 Task 並啟動執行 完整的提示詞優化團隊 Process 決定工作如何安排 依序分析、改寫、測試與定稿 Flow 控制狀態、事件與條件路徑 品質不合格時退回重寫 Knowledge 提供文件、網站或結構化資料 提示詞規範與優秀案例 Tool 讓 Agent 存取外部能力 向量檢索、網頁搜尋與評分器
提示詞優化 Crew 的完整架構
使用者輸入原始需求
↓
RAG 檢索提示詞規範與案例
↓
Prompt Analyzer 找出目標、限制與缺漏
↓
Prompt Optimizer 建立第一版完整提示詞
↓
Prompt Tester 以驗收標準比較品質
↓
Ultimate Optimizer 整合修正並輸出定稿
這種設計的關鍵是讓每個 Agent 產生下一個 Task 能直接使用的結果,分析師不應只給模糊評論,而要輸出結構化問題清單,改寫者要根據問題清單產生完整版本,測試者要使用固定量表,而不是憑感覺說新版比較好,最後的審核者只整合已確認的修正,不再任意改變需求。
若要進一步降低漂移,可以用 Pydantic 或 JSON 結構固定每一階段的輸出。這比單純增加角色背景故事更有效,因為下一個步驟能明確知道要讀取哪些欄位。
四個 Agent 不一定比兩個好
分析、優化、測試與最終優化看起來很完整,但每個角色都使用大型模型,還在每一階段重複查詢向量資料庫時,成本很容易放大。對簡單提示詞而言,分析與改寫可以由同一個 Agent 完成,再保留一個獨立測試 Agent,就已經有清楚的製作與驗收分工。
保留不同 Agent,當兩個角色需要不同工具、不同權限或不同模型時。
合併 Agent,當工作只是同一段文字的連續改寫時。
改用一般函式,當步驟不需要推理,只是格式轉換或資料驗證時。
改用 Flow,當流程需要條件分支、重試、人工確認與狀態保存時。
RAG 在 CrewAI 裡負責什麼
RAG 的用途不是替 Agent 增加想像力,而是讓它在執行任務前找到可靠的參考資料,提示詞優化系統可以把提示詞指南、優秀範例、品牌規範與輸出格式放進知識庫。使用者送出需求後,系統只取回最相關的片段,再讓 Agent 根據這些內容工作。
2024 年的實作組合是 Phidata、pgvector 與 OpenAI Embedding,Phidata 現在已改名為 Agno ,如果要維護舊專案,應先確認套件名稱與匯入路徑,不宜直接照搬舊版命令。
目前 CrewAI 已有內建 Knowledge ,可讀取文字、PDF、CSV、Excel、JSON 與網站內容,官方的 provider-neutral RAG client 預設使用 ChromaDB,也支援 Qdrant,若既有系統已使用 PostgreSQL,仍可把 pgvector 封裝成自訂 Tool,若只是做第一個原型,先用內建 Knowledge 通常更省事。
想理解本地檢索的完整取捨,可以搭配 GraphRAG 使用本地 Ollama ,若知識來源主要是專案文件與程式碼,OpenWiki 建立 Agent 共用知識庫 也很適合一起比較。
先用 RAG,不要急著訓練模型
手上有大量人工撰寫的中英文檢索式或高品質提示詞時,第一步不一定是微調。先把資料清理成「需求、上下文、限制、輸入範例、理想輸出」的成對資料,再用 RAG 找相似案例,通常能更快驗證需求。
先建立測試集,保留一批資料完全不進知識庫。
用 RAG 加單一 Agent 建立基準結果。
加入獨立評分 Agent,比較正確性、完整性與格式。
只有在格式高度穩定、資料量充足且 RAG 已到瓶頸時,再評估微調。
這樣做的好處是資料更新不必重新訓練,錯誤案例也能快速撤換。若資料彼此關聯複雜,還可以參考 Graphify 知識圖譜 ,評估是否需要從純向量檢索進一步加入實體與關係。
CrewAI 2026 最新安裝方式
截至 2026 年 7 月,官方文件要求 Python 3.10 以上且低於 3.14,並建議使用 uv 管理套件。CrewAI 現在預設建立 JSON-first 專案,Agent 放在 agents/*.jsonc,Task 與 Crew 設定放在 crew.jsonc。若需要早期常見的 Python 與 YAML 結構,才使用 --classic。
uv tool install crewai
uv tool update-shell
crewai create crew prompt_optimizer
cd prompt_optimizer
crewai install
crewai run
建立後會看到 crew.jsonc、agents/、knowledge/、skills/ 與 tools/。這個結構已經把多數需求放進設定檔,適合先從角色與任務定義開始,再加入自訂 Python Tool。
需要舊版 Python 與 YAML 專案時
crewai create crew prompt_optimizer --classic
舊版教學常出現 crew.py、agents.yaml 與 tasks.yaml,這些概念仍然有效,但預設腳手架已經不同。遇到匯入錯誤時,先確認 CrewAI 版本,再對照該版本官方文件。
CrewAI 如何連接 Ollama
CrewAI 不限定 OpenAI 或 Anthropic。官方文件提供 Ollama 設定,只要在 Agent 指定 LLM 與 base_url 即可。這能把多數推理留在本地端,避免每個 Agent 都產生雲端 API 費用。
from crewai import Agent, LLM
local_llm = LLM(
model="ollama/qwen3:8b",
base_url="http://localhost:11434"
)
analyzer = Agent(
role="提示詞分析師",
goal="找出需求缺漏並建立清楚的改寫規格",
backstory="你擅長把模糊需求拆成可驗收的條件",
llm=local_llm
)
如果 Ollama 在另一台主機,把網址換成實際內網位置即可。部署前要確認 Ollama 有對區域網路監聽、防火牆已開放,而且 CrewAI 使用的模型名稱與 ollama list 完全一致。選擇模型時可以參考 本地大模型推理框架比較 。
Docker 與硬體需求怎麼看
Docker Desktop 不是 CrewAI 的必要條件。早期範例需要 Docker,是因為它用容器啟動 PostgreSQL 與 pgvector。Linux 伺服器可以直接使用 Docker Engine,也可以把 PostgreSQL 安裝成系統服務。若改用 CrewAI 內建 Knowledge 與本地 ChromaDB,第一版甚至不一定需要 Docker。
一般筆電可以執行 CrewAI,因為框架本身不重。真正決定硬體需求的是模型、Embedding、向量資料庫與同時執行的 Agent 數量。雲端模型加本地向量庫的門檻最低。本地模型則要依參數量、量化格式與上下文長度準備足夠的記憶體或顯示記憶體。
成本最高的地方不是框架
CrewAI 開源框架本身不是主要成本。費用通常來自每個 Agent 的模型呼叫、反覆 RAG 檢索、長上下文、Embedding 建庫與失敗重試。四個 Agent 各自檢索並呼叫一次大型模型,很可能比單一 Agent 加一次驗收多出數倍費用。
讓檢索結果在同一輪工作流中共用,不要每個 Agent 重複搜尋。
分類、格式檢查與簡單摘要改用小模型。
昂貴模型只負責最終改寫或高風險判斷。
為 Task 設定清楚的 expected output、guardrail 與最大重試次數。
保存每次輸入、檢索片段、輸出與評分,才能知道錢花在哪裡。
Crews 與 Flows 應該怎麼選
若任務需要研究、創作、分析與不同專業觀點,使用 Crew。若工作需要固定順序、條件分流、錯誤重試、人工核准與狀態恢復,使用 Flow。正式系統通常會把兩者結合,由 Flow 控制整體流程,只在需要推理的節點呼叫 Crew。
需求 建議方式 研究後寫成報告 Crew 分析、改寫與交叉審核 Crew 依分數決定重寫或通過 Flow 呼叫 API 並等待人工批准 Flow 完整內容生產管線 Flow 控制流程,Crew 處理創作
如果需要從桌面工作台管理 Agent 專案,也可以參考 OpenWork 與 OpenCode Agent 工作台 ,比較框架層與操作介面的差異。
我會怎麼重做這套提示詞優化系統
先用單一 Agent 加 Knowledge 建立基準版本。
定義固定評分表,檢查目標、背景、限制、格式與可驗收性。
加入一個獨立測試 Agent,只負責找問題與打分。
分數未達門檻時,由 Flow 送回改寫,並限制重試次數。
先用 Ollama 小模型跑分析與分類,必要時才把最終改寫交給較強模型。
用保留測試集比較原始提示詞與優化結果,不把自我評價當成唯一證據。
這個版本的 Agent 更少,但責任更清楚,也更容易測試。CrewAI 的價值不是替程式多包幾層,而是讓角色、任務、工具、知識與執行順序都能被明確描述。當每個步驟都能觀察、驗證與替換,多 Agent 才真正從展示走向可維護的系統。
官方資源與案例程式碼
FAQ
CrewAI 是模型還是框架
CrewAI 是多 Agent 編排框架。它負責組織 Agent、Task、Process、Tool、Knowledge 與 Flow,實際推理由 OpenAI、Anthropic、Ollama 或其他模型提供。
CrewAI 可以完全使用本地模型嗎
可以。Agent 的 LLM 可指向 Ollama,也能連接其他 OpenAI 相容端點。若 Embedding 與知識庫也改用本地方案,就能大幅降低雲端 API 成本。
Crew 和 Flow 有什麼差別
Crew 強調角色分工與自主協作。Flow 強調精確的執行路徑、狀態、條件分支與可恢復性。正式系統常用 Flow 管理整體流程,再把需要創作或分析的工作交給 Crew。
建立提示詞優化工具需要微調模型嗎
通常不需要先微調。先用 RAG 提供規範與案例,再建立獨立測試集評估品質。只有資料格式穩定、數量足夠,而且 RAG 已無法改善時,才值得評估微調。
使用 CrewAI 一定要安裝 Docker Desktop 嗎
不一定。Docker Desktop 只是啟動 pgvector 的方便方式。CrewAI 本身不依賴 Docker,Linux 可以使用 Docker Engine,也能改用本機 ChromaDB 或遠端向量資料庫。
by Rain Chu | 7 月 15, 2026 | AI , skills , Tool
Graphify 最有價值的地方,是把「讀專案」這件事從一次性的上下文塞爆,改成可以重複查詢的知識圖譜, Codex、Claude Code、OpenCode、Cursor、Gemini CLI 這類 AI coding assistant 來說,最大的浪費常常不是寫程式,而是每次都重新理解同一個 codebase。
如果 OpenWiki 解決的是 Agent wiki 和文件記憶,Graphify 更像是把整個資料夾編譯成一張可追蹤的圖,它可以處理程式碼、SQL schema、R script、shell script、文件、論文、圖片,甚至影片和音訊,最後輸出 `graph.html`、`GRAPH_REPORT.md` 和 `graph.json`。
先講結論
Graphify 不是向量資料庫,也不是單純 RAG。官方說得很直接,它不用 embeddings,也不放 vector store,而是建立一張可以 traverse 的真實 graph,你可以問一個概念是什麼,也可以追兩個概念之間的 shortest path,或要求它回答某個問題時只返回相關 subgraph。
這對 coding agent 很重要,因為大型專案裡的關係不是只有語意相似,還有 import、call、inherit、mix in、schema、設定檔、文件註解和設計決策,Graphify 把這些關係轉成節點和邊,讓 Agent 不必每次都用 grep 或全文讀取重新猜。
Graphify 是什麼
Graphify 是一個 AI coding assistant skill,安裝後可以在支援的平台裡輸入 `/graphify .`,Codex 則使用 `$graphify`。它會掃描當前資料夾,把程式碼、文件、PDF、圖片和影片整理成知識圖譜。
官方快速開始很短,重點是 PyPI 套件名稱叫 `graphifyy`,不是 `graphify`。這點要記住,因為 README 特別提醒其他 `graphify*` 套件不是官方套件。
uv tool install graphifyy # install the CLI (or: pipx install graphifyy)
graphify install # register the skill with your AI assistant
之後在 AI assistant 裡執行。
為什麼它不是一般 RAG
一般 RAG 常見做法是切 chunk、做 embedding、進 vector store,再用語意相似度找片段。這對文件問答很好用,但對程式碼架構不一定夠。因為程式碼最重要的線索常常是顯式關係,例如某個 class 被誰繼承,某個 function 被哪裡呼叫,某個 schema 影響哪個 API。
Graphify 對 code maps 採 local-first。程式碼透過 tree-sitter AST 解析, deterministic,不需要 LLM,也不會把程式碼送出本機。文件、PDF、圖片和影片這類語義 pass 才會使用 assistant model 或你設定的 API key。
EXTRACTED 和 INFERRED 是關鍵
Graphify 很值得學的一點,是它會標記每條邊的來源。`EXTRACTED` 代表關係明確存在於來源裡,`INFERRED` 代表由 Graphify 推導出來。這比單純把答案講得很肯定更重要,因為 Agent 常犯的錯不是沒有答案,而是不知道哪些是看到的,哪些是猜的。
aivi 的整理還提到第三類 `AMBIGUOUS`,代表不確定的關係要留給人工審查。這種設計很適合放進團隊工作流,因為架構理解不該只追求自動化,也要保留可審計性。
輸出檔案怎麼看
一次執行後,最核心的是三個檔案。
檔案 用途 我會怎麼用 graph.html 互動式圖譜 快速看社群、節點和跨模組關係 GRAPH_REPORT.md 摘要報告 讓 Agent 先讀專案重點和建議問題 graph.json 完整圖資料 後續 query、path、explain 不必重讀所有檔案
Graphify 的核心流程是偵測檔案、抽取關係、建立 graph、切分社群,最後讓 Agent 可以 query、path、explain。
最適合哪些場景
我會優先用在三種情境。
第一,接手陌生 codebase,需要先知道核心節點和模組邊界。
第二,專案同時有 app code、database schema、infra script 和文件,單純全文搜尋很難看出關係。第
三,研究資料夾裡有論文、截圖、筆記和實驗程式,需要把概念關係串起來。
這和我前面整理的 OpenWiki 可以搭配。OpenWiki 偏向替 Agent 建立 wiki 記憶,Graphify 偏向把來源資料拆成可查詢 graph。兩者放在一起,就是文件記憶加關係推理。
Benchmark 怎麼解讀
官方 README 摘要裡列了幾個 benchmark。LOCOMO recall@10 是 0.497,對照 mem0 的 0.048 和 supermemory 的 0.149,差距很大。LOCOMO QA accuracy 是 45.3%,低於 supermemory 的 49.7%,但高於 mem0 的 27.3%。LongMemEval-S QA accuracy 則是 76%,官方標註和 dense RAG tied。
這些數字適合當成方向參考。Graphify 的價值不只是單點 QA,而是能把關係路徑保存下來讓 Agent 反覆查詢。
Codex 使用要注意什麼
Graphify 支援 20 個以上 assistant 平台。對 Codex 使用者來說,官方特別提到 Codex 用 `$graphify`,不是 `/graphify`。另外如果要做 parallel extraction,需要在 `~/.codex/config.toml` 的 `[features]` 下設定 `multi_agent = true`。
這點和 Codex 作為 AI 代理 的方向很搭。Codex 如果只靠當下上下文,很容易在大型 repo 裡反覆找檔案。Graphify 可以先把核心結構整理好,讓後續任務更像查地圖,而不是每次重新探路。
可以匯出到 Obsidian、Neo4j 和 MCP
aivi 的整理提到 Graphify 有很多可選輸出,包括 Obsidian、SVG、GraphML、Neo4j Cypher、直接推送 Neo4j、MCP server 和 wiki 風格 Markdown。這代表它不是只服務某一個 assistant,而是可以把 graph 變成團隊知識資產。
如果你已經有 GraphRAG 使用本地 Ollama 的經驗,可以把 Graphify 看成更偏工程專案的知識圖譜入口。它不是取代 GraphRAG,而是把 repo、文件與工程關係先整理成一個可操作的圖。
我會怎麼導入
第一步只跑 code。因為 code map 是 local-first,不需要 LLM token,風險最低。
第二步打開 `graph.html` 看社群是否合理,再讀 `GRAPH_REPORT.md`,確認 god nodes 和 surprising connections 是否真的有幫助。
第三步才把 docs、PDF、圖片或影片加進來,並明確估算語義 pass 會用到哪個模型和多少成本。
如果是私有專案,我會先禁用媒體語義分析,只讓 tree-sitter 解析程式碼。等到確定 graph 有價值,再逐步開文件和圖片。這樣比較符合安全直覺,也不會一開始就把整個公司資料夾丟進模型。
我的判斷
Graphify 的核心價值不是炫酷的圖,而是讓 Agent 對大型專案有可追溯的結構記憶。它把「讀懂專案」變成一個可重複、可更新、可查詢的輸出,而不是每次都靠模型臨場發揮。
我會把它放進 AI coding 工作流的前置步驟。陌生 repo 先 Graphify,需求進來前先看 graph report,修改前查 path,修改後用 hook 或 watch 更新圖譜。這樣 Agent 比較不會只看局部檔案就亂改。
延伸資源
FAQ
Graphify 和 RAG 有什麼不同?
RAG 常用向量相似度找片段,Graphify 建立可 traversal 的知識圖譜。它更重視 import、call、inherit、文件引用和設計決策這類關係。
Graphify 會把程式碼送到雲端嗎?
程式碼 map 是 local-first,透過 tree-sitter AST 解析,不需要 LLM。文件、PDF、圖片和影片的語義分析才會使用 assistant model 或你設定的 backend。
Codex 可以用 Graphify 嗎?
可以。官方支援 Codex,並提醒 Codex 使用 `$graphify`。若要 parallel extraction,需要在 Codex config 啟用 `multi_agent = true`。
Graphify 適合私有專案嗎?
適合先從程式碼圖譜開始,因為 code parsing 可以本地完成。若要分析文件、圖片或影片,建議先確認使用的模型和資料外送邊界。
by Rain Chu | 7 月 11, 2026 | Tool
企業知識庫和 AI Agent 最麻煩的地方,常常不是模型不夠聰明,而是資料進不來。PDF、掃描合約、研究報告、表格、圖片型文件,看起來都只是文件,但對 RAG 或 Agent 來說,它們必須先被轉成穩定、乾淨、可引用的結構化內容。
Docling 就是在解這個入口問題。它不是只把 PDF 拆成純文字,而是把文件版面、閱讀順序、表格、公式、圖片、OCR 結果整理成 AI 更容易消化的格式,例如 Markdown、HTML、JSON。對要做企業知識庫的人來說,這一層通常比後面換哪一個聊天模型更關鍵。
Docling 適合解決什麼問題
Docling 是 IBM Research Zurich 發起的開源專案,採用 MIT License。它支援 PDF、DOCX、PPTX、XLSX、HTML、EPUB、圖片與音訊等格式,官方也強調它能和 LangChain、LlamaIndex、CrewAI、Haystack 這類生成式 AI 工具鏈整合。
如果只是把少量文件轉成 Markdown,微軟的 MarkItDown 會很輕巧,之前我也整理過 MarkItDown 教學 ,但 Docling 的定位更偏向文件理解管線,尤其是 PDF 版面、表格、掃描文件、VLM 輔助解析這些較複雜的場景。
最基本的使用方式
Docling 的入門方式很直接,Python 環境建好後先安裝依賴:
pip install litellm google-generativeai docling
最小 Python 範例可以用 DocumentConverter 讀取 PDF,再輸出 Markdown:
from docling.document_converter import DocumentConverter
source = "https://arxiv.org/pdf/2408.09869"
converter = DocumentConverter()
result = converter.convert(source)
markdown_text = result.document.export_to_markdown()
print(markdown_text)
也可以用命令列直接轉檔:
docling https://arxiv.org/pdf/2408.09869
這種方式很適合處理數位原生 PDF,例如論文、報告、產品文件。它能保留標題層級、段落、表格與部分版面資訊,後續要切 chunk、做向量化、放進 RAG 都比較順。
掃描 PDF 要接 VLM 才會真正好用
企業場景裡最痛的通常是掃描件。掃描合約、舊報紙、模糊文件、影印後再掃描的 PDF,傳統 OCR 很容易漏字、錯行、表格亂掉,Docling 的強項之一,是可以把解析流程接到視覺語言模型,讓 VLM 協助理解頁面。
本地部署路線可以用 LM Studio 載入 InternVL3-9B,讓 Docling 透過 OpenAI 相容 API 呼叫本機模型,這個做法的優點是資料不必送到外部雲端,適合公司內部文件、客戶資料、合約與敏感文件。缺點是需要顯卡資源,也要接受本地模型在模糊文字上的上限。
如果追求辨識品質,Gemini 2.5 Pro 這類雲端 VLM 的效果通常會更穩,尤其是模糊掃描、複雜版面、引用格式、符號與表情符號。代價就是 API 成本、資料外送與權限控管,真正落地時,我會把它分成兩條管線:一般文件走本地模型,低信心或高價值文件再送雲端模型複核。
一個實用的企業知識庫流程
先把 PDF、Word、Excel、HTML、圖片掃描件集中到同一個資料夾或物件儲存。
用 Docling 轉成 Markdown 或 JSON,保留頁碼、標題、表格與圖片資訊。
針對掃描件啟用 OCR 或 VLM 管線,低品質文件可以標記信心分數。
清理內容,移除頁首頁尾、重複頁碼、錯誤斷行,再依標題與段落切 chunk。
把 chunk 放入向量資料庫,同時保存原始頁面來源,方便回答時回溯引用。
接到 RAG、Agent 或 Notebook 型工具,讓使用者可以查詢、摘要、比對文件。
之前整理過 GraphRAG 使用本地端的 Ollama ,或是 Open Notebook 這類私有研究工作流,前面都需要穩定的文件解析層。Docling 可以放在最前端,負責把混亂文件變成 AI 能讀的乾淨材料。
LM Studio、InternVL3、Gemini 怎麼選
如果資料敏感,先選 LM Studio 加 InternVL3。這種配置比較像私有 OCR 與文件理解服務,可以在內網跑,也能和既有 Python 管線整合。若你已經在評估 Qwen 或其他本地模型,也可以參考 Ollama Qwen 3.6 怎麼選 和 本地端多模態分析實戰 的思路。
如果文件很雜、品質很差、需要快速拿到高準確度結果,Gemini 2.5 Pro 會比較省心。尤其是頁面裡有表格、引用、符號、圖片文字混在一起時,雲端 VLM 的容錯能力會更好。我的建議不是二選一,而是分層使用:本地模型做第一輪,難件再升級到雲端模型。
導入前要注意的坑
第一,Python 版本要注意,Docling 近期版本已經不支援 Python 3.9,建議直接用 Python 3.10 以上,專案環境也要隔離,避免和舊套件衝突。
第二,不要只看 Markdown 有沒有產生,真正要檢查的是段落順序、表格欄位、頁碼引用、公式、圖片說明、錯字率。只要這些地方亂掉,後面的 RAG 回答就會變得不可信。
第三,VLM 不是魔法,模糊掃描、歪斜頁面、低解析度照片仍然會出錯。比較穩的做法是保存原始頁面圖、解析後文字、模型信心與人工校對狀態,讓知識庫能追蹤每一段內容從哪裡來。
結論
Docling 值得放進 AI 知識庫工具箱,原因不是它可以把 PDF 轉 Markdown 這麼簡單,而是它把文件解析變成一條可組合的管線。一般文件用基礎轉換,掃描件加 OCR,高難度文件再接 VLM,最後輸出成 RAG 可以使用的 Markdown 或 JSON。
如果你的資料來源大多是網頁和乾淨文字,Docling 不一定是第一個要上的工具。但只要公司文件裡有大量 PDF、掃描件、表格、舊報告,它就是很值得測的入口層。AI 系統的回答品質,很多時候從文件被讀進來的那一刻就決定了。
FAQ
Docling 和 MarkItDown 差在哪裡?
MarkItDown 很適合快速把常見文件轉成 Markdown。Docling 更偏向完整文件理解,強調 PDF 版面、表格結構、OCR、VLM 和 AI 工具鏈整合。
一定要用 Gemini 才能處理掃描 PDF 嗎?
不一定。本地可以用 LM Studio 搭配 InternVL3 這類視覺模型。Gemini 的優勢是複雜文件辨識品質通常更好,但需要考慮 API 成本和資料外送。
Docling 適合企業內部知識庫嗎?
很適合,特別是資料來源包含 PDF、掃描件、簡報、表格和舊文件時。它可以把文件轉成 AI 較容易處理的格式,再交給 RAG 或 Agent 使用。
by Rain Chu | 7 月 11, 2026 | 未分類
本地部署大模型到了 2026 年,問題已經不只是「模型要選哪一個」。同一張顯卡、同一台 Mac、同一個模型,只要推理框架選錯,吞吐量、延遲、顯存使用率和維運成本都會差很多。
這也是為什麼 vLLM、SGLang、llama.cpp、MLX、Ollama 這五個工具會被放在一起比較。它們不是同一類產品的不同包裝,而是對應不同部署場景的五種答案。選對框架,比盲目追更大參數更實際。
先講結論
如果你要做高併發 API 服務,先看 vLLM。如果你在做 AI Agent、RAG、多輪工具呼叫,SGLang 很值得研究。如果你要跨平台、邊緣設備、低資源環境,llama.cpp 仍然是最靈活的選擇,如果你主要用 Apple Silicon,MLX 是最貼近硬體的路線。如果你只是想快速讓團隊或個人跑起來,Ollama 依然是最省心的入口。
五個框架的定位差異
框架 核心強項 適合場景 不適合情況 vLLM PagedAttention、Continuous Batching、高吞吐 生產 API、多使用者併發、GPU 服務 個人桌機快速試模型 SGLang RadixAttention、KV Cache 重用、結構化輸出 Agent、RAG、多輪對話、JSON 輸出 只想一鍵跑模型 llama.cpp GGUF、生態成熟、跨平台 CPU、邊緣設備、Mac、Windows、Linux、嵌入式 大規模高併發服務 MLX Apple Silicon 統一記憶體最佳化 M 系列 Mac、本地研究、Mac 開發者 NVIDIA GPU 伺服器 Ollama 安裝簡單、模型管理方便、API 友善 個人使用、團隊內部工具、快速 Demo 需要極致吞吐與深度客製
vLLM:高併發服務優先
vLLM 的代表性技術是 PagedAttention,可以把它理解成用作業系統管理記憶體的思路來管理 KV Cache,讓不同長度的請求不會浪費大量顯存,再加上 Continuous Batching,當某個請求完成後,新請求可以馬上進入批次,不必等整批全部結束。
所以 vLLM 最適合放在需要吞吐量的地方,例如公司內部模型 API、客服系統、多人同時使用的知識庫、需要穩定服務層的產品,你如果正在評估顯卡工作站,也可以對照我之前整理的 RTX PRO 6000 Blackwell 選購分析 ,因為推理框架和硬體規格要一起看才有意義。
SGLang:Agent 和 RAG 的效率選擇
SGLang 的重點不只是跑得快,而是能把複雜互動流程裡重複的上下文計算省下來,它的 RadixAttention 對多輪對話、RAG、知識庫查詢、Agent 工具呼叫很有價值,因為這些場景常常有大量共用前綴和重複上下文。
如果你的應用是「使用者問一句,模型答一句」,SGLang 的優勢不一定完全發揮。但如果你要處理多步驟推理、固定系統提示、文件檢索、JSON 格式化輸出,它會比一般推理框架更貼近 Agent 工程需求。
llama.cpp:跨平台與低資源環境的底座
llama.cpp 最大的價值是能跑在很多地方,從 Mac、Windows、Linux,到 CPU-only、小型邊緣設備、GGUF 量化模型,它提供的是一種很穩的本地推理底座,你不一定拿它做高併發生產 API,但它很適合實驗、嵌入式、離線環境、低成本部署。
如果你關心本地離線模型,之前整理過 gpt-oss 本地離線運行 ,那篇的思路也可以放到 llama.cpp 生態來看。
MLX:Apple Silicon 使用者要特別看
MLX 是 Apple Silicon 上很有意思的選擇。M 系列晶片的統一記憶體架構,讓 CPU、GPU 可以更有效率地共享資料,MLX 的價值就在於它不是把 Mac 當成一般電腦硬跑,而是更貼近 Apple 自家的硬體特性。
如果你手上是 Mac Studio、MacBook Pro 或其他 M 系列設備,MLX 適合拿來做本地研究、模型微調實驗、小型推理服務。它不是 NVIDIA 伺服器的替代品,但在 Mac 生態裡,這條路線會越來越重要。
Ollama:最容易讓人開始用
Ollama 的優勢不是極致效能,而是降低使用門檻。安裝、拉模型、切模型、提供本地 API,整個體驗很適合個人、教學、內部工具和快速 Demo。對很多團隊來說,先用 Ollama 把流程跑通,比一開始就追求 vLLM 的生產級架構更務實。
如果你要把 Ollama 放到內網或 AI Server 上,可以看 Ollama 遠端連線教學 。如果你想把開發環境成本壓低,也可以參考 LM Studio 與 Ollama 的零 API 成本開發環境 。
不要只選一個,混合部署更實際
真正成熟的部署,不一定是一個框架包打天下。比較實際的做法是分層:個人和內部 Demo 用 Ollama,Mac 研究環境用 MLX,跨平台和邊緣設備用 llama.cpp,RAG 和 Agent 後端看 SGLang,高併發正式服務再交給 vLLM。
如果你的硬體是 DGX Spark 或其他 AI Server,也可以把 DGX Spark GB10 Ollama 最佳設定 當作入口,再逐步把高併發服務拆到更專業的推理框架。
我的選型建議
個人開發者:先用 Ollama,真的需要跨平台或量化控制,再補 llama.cpp。
Mac 使用者:Ollama 做入口,MLX 做進階研究和 Apple Silicon 最佳化。
企業內部知識庫:先確認 RAG 架構和上下文重用需求,再評估 SGLang。
正式 API 服務:vLLM 是第一優先,特別是多使用者併發和 GPU 成本敏感時。
邊緣設備或離線場景:llama.cpp 的彈性仍然很難取代。
2026 年的本地 AI 部署,重點會從「能不能跑」走向「跑得是否有效率」。模型能力很重要,但推理框架決定了你花出去的硬體成本能不能真正轉成服務能力。選型時不要只看 benchmark,要看你的流量模式、硬體環境、維運能力和未來要不要接 Agent 工作流。
FAQ
本地大模型推理框架要先學哪一個?
一般使用者先學 Ollama,工程師再補 llama.cpp。需要生產服務時,再研究 vLLM 或 SGLang。
vLLM 和 SGLang 差在哪裡?
vLLM 強在高併發吞吐和生產服務,SGLang 更適合多輪對話、RAG、Agent 和重複上下文很多的流程。
Mac 使用者該選 MLX 還是 Ollama?
想快速跑模型先用 Ollama,想深入 Apple Silicon 最佳化和研究實驗,再看 MLX。
llama.cpp 還值得學嗎?
值得。它在 GGUF、量化、跨平台、CPU 和邊緣設備上仍然非常重要,是本地模型生態的底層工具之一。
by Rain Chu | 7 月 7, 2026 | Agent , AI , RAG , 簡報製作 , 語音合成
如果你常把 PDF、論文、產業報告或內部文件丟進 AI 工具整理,Google NotebookLM 確實很方便;但只要資料牽涉商業機密、未公開研究、客戶內容或公司內部知識庫,雲端上傳與模型選擇限制就會變成真正的門檻,Open Notebook 的定位,正是把 NotebookLM 類型的文件理解、問答、摘要與 Podcast 生成,搬到更可控、更可自訂的開源工作流裡。
圖:Open Notebook 私有 AI 研究工作流示意
Open Notebook 解決的是什麼問題?
傳統文件型 AI 助手最容易卡在兩件事:資料放在哪裡,以及模型能不能換。對個人研究來說,把公開文章交給雲端 AI 問答通常沒什麼壓力;但對企業團隊、顧問、研究員或寫作者來說,資料可能包含未公開策略、訪談紀錄、合約、財務數據或客戶文件。這時候,能否自架、能否控制資料歸屬、能否選用自己的模型,就不只是偏好,而是能不能導入的前提。
Open Notebook 的優勢在於,它不是只做一個聊天視窗,而是把「文件匯入、知識庫整理、跨文件問答、來源引用、Podcast 生成、模型配置」串成一套私有 AI 研究工作流。官方 GitHub 專案 lfnovo/open-notebook 目前採 MIT 授權,官方說明也把它定位為一個 privacy-focused alternative to Google NotebookLM,截至 2026-07-07,GitHub API 顯示約 35K stars,最新 release 為 v1.10.0。
核心亮點一:資料主權回到自己手上
Open Notebook 最吸引人的地方,是它把資料控制權從平台端拉回使用者端。你可以把文件、音訊、多媒體檔案、網頁等素材放進自己掌控的環境,再用 AI 做摘要、檢索與問答。對需要處理敏感研究、公司內部文件或客戶資料的人來說,這比「功能多一點」更重要。
這也讓 Open Notebook 很適合搭配文件前處理工具。例如需要先把 PDF、Word、PPT 轉成 AI 更容易讀的文字格式時,可以參考我之前寫過的 MarkItDown 教學 ,先把原始文件整理成更乾淨的資料,再交給知識庫系統分析。
核心亮點二:模型不再被單一供應商綁住
NotebookLM 的好處是省事,但限制也很明顯:使用者基本上跟著 Google 的模型與產品設計走。Open Notebook 則主打 18+ AI provider,官方 README 提到支援 OpenAI、Anthropic、Ollama、LM Studio 等供應商。這代表同一套知識庫可以依任務切換模型:便宜模型做初步整理,強模型做深入推理,本地模型處理敏感資料。
如果你的工作流已經開始用 Ollama 或本地模型,Open Notebook 的價值會更明顯。它可以成為文件層的操作介面,而模型層則交給你自己的 AI server,想走本地端路線的人,也可以延伸看 GraphRAG 使用本地端的 Ollama 或 Ollama 遠端連線教學 ,把模型部署與文件分析分開思考。
核心亮點三:Podcast 生成更像內容製作工具
Podcast 生成是 NotebookLM 很受歡迎的功能,但固定雙人對談也限制了內容形式。Open Notebook 的方向更偏向內容製作工具:可以做 1 到 4 位 speaker,並調整角色設定與對話形式。這讓它不只適合做「兩人解說」,也能做單人旁白、三人圓桌、多人辯論或不同角色的知識導覽。
對自媒體、研究型內容創作者或企業內訓來說,這點很實用。你可以先把一批文件整理成知識庫,再把其中的核心結論轉成 Podcast 腳本,甚至為不同聽眾設計不同敘事角色。它不是單純把文字念出來,而是把文件理解、腳本結構與音訊內容生產接在一起。
核心亮點四:Ask 模式更適合跨文件研究
Open Notebook 的 Ask 模式適合處理「不是問單一文件,而是要整合一批資料」的任務。例如你有 20 份產業報告,真正想問的不是某一頁寫了什麼,而是不同報告之間是否有共同趨勢、矛盾、缺口與可引用依據。這時候,單純的檢索式問答會不夠,需要能跨文件整理、比對與引用來源的研究流程。
這也是 RAG 類工具接下來會越來越重要的原因:文件不是只被「搜尋」,而是要被組織成可以反覆推理的知識庫。Open Notebook 提供的是比較完整的操作層;而像 GraphRAG、向量資料庫、本地模型與文件轉換工具,則是可以接在底下的技術層。把這些組起來,才會形成真正可重複的 AI 工作流 。
Open Notebook 和 NotebookLM 怎麼選?
比較面向 Open Notebook NotebookLM 資料控制 可自架,資料在自己掌控的環境 以 Google 雲端服務為主 模型選擇 可接多家 provider,也可接 Ollama / LM Studio 主要使用 Google 模型 Podcast 形式 可做 1-4 位 speaker 與自訂角色 以固定形式為主 部署方式 Docker、雲端或本地部署 直接使用雲端產品 適合對象 重視隱私、模型自由、工作流整合的人 重視上手速度、不想部署的人
簡單說,如果你要的是「馬上可以用」,NotebookLM 仍然很省事;如果你要的是「資料可控、模型可換、流程可自訂」,Open Notebook 會更有想像空間。它不是每個人都需要的工具,但對研究、顧問、內容團隊與企業知識庫來說,很值得放進評估清單。
導入前要先確認的限制
Open Notebook 的自由度比較高,但也代表它不是完全零門檻。最基本的前提是你要能接受 Docker 或自架環境;如果公司電腦不能裝 Docker,或 IT 政策不允許本機服務,導入就會比較麻煩
Docker 新手可以先看 如何使用 Docker 跟用 command line 一樣 ,先把容器概念補起來。
算力也要看你的模型選擇。如果只是用雲端 provider,主要成本會落在 API;如果想完全本地跑模型,就要準備足夠的 GPU、記憶體與模型部署能力。換句話說,Open Notebook 降低的是資料與模型綁定,不是把所有基礎設施成本變成零。
誰最適合用 Open Notebook?
研究員:需要整理大量論文、報告、訪談與來源引用。
內容創作者:需要把資料轉成腳本、長文、Podcast 或系列內容。
學生與知識工作者:需要把課堂筆記、PDF、網頁資料統一管理。
企業團隊:需要建立內部知識庫,又不希望敏感文件全部交給外部雲端。
Open Notebook 適合把 AI 研究流程變成私有工作台
Open Notebook 的價值,不只是「開源版 NotebookLM」這麼簡單。它真正有意思的地方,是把資料主權、模型自由、Podcast 生成、跨文件研究與自架部署放在同一個工作台裡。對只想偶爾整理公開資料的人來說,它可能稍微重了一點;但對需要長期累積知識庫、處理敏感文件、或把 AI 研究流程變成團隊基礎設施的人來說,它是一個值得測試的選項。
Open Notebook Github
FAQ
Open Notebook 是 NotebookLM 的替代品嗎?
它可以被視為 NotebookLM 的開源替代方案,但重點不只是功能相似,而是提供自架、模型選擇、資料控制與更多自訂能力。
Open Notebook 一定要很強的電腦才能用嗎?
不一定。如果使用雲端模型,主要需要 Docker 與 API 設定;如果要完全本地跑大型模型,才需要更強的 GPU、記憶體與部署能力。
Open Notebook 適合企業內部知識庫嗎?
適合放進評估清單,尤其是重視資料控制、模型彈性與自架部署的團隊。不過正式導入前,仍要評估權限管理、備份、資安政策與維運成本。
近期留言