你有沒有遇過這樣的情況:打開一份上百頁的 PDF 文件,只是為了找一個小小的答案,結果花了半小時還翻不到重點?
我常常在讀技術文件或研究資料時,都遇到這種麻煩,於是我開始想:能不能做一個「文件助理」,讓我可以直接問它問題,它會自動在文件裡找到相關內容,再用 AI 幫我整理答案?
就這樣,我設計並實作了一個專案:RAG × Multi-Agent 文件助理。它能支援 PDF 與 Markdown 檔案,具備自我協作的能力,並且可以在本地一鍵部署, 這篇文章我會分享這個專案是怎麼設計出來的,以及其中一些有趣的技術細節。為什麼要做這個專案?
這個想法一開始很單純: 我想要一個能「直接回答文件問題」的工具。
後來我發現,光靠一個 LLM 其實效果不佳,需要加上「檢索」與「多代理協作」,才能讓答案更可靠, 於是這個專案就誕生了, 我們除了找答案之外, 更要智能化, 關鍵就在於RAG與Multi-Agent 多代理架構。
• RAG(Retrieval-Augmented Generation)檢索增強生成:讓 AI 在回答前,先去文件裡找相關段落,再生成答案。
• Multi-Agent 多代理架構:把任務拆分成不同「小助手」,例如有人專門讀文件、有人專門檢索、有人專門回答,最後一起協作完成工作。
這樣設計出來的系統,答案品質會更高,而且更容易擴展。
🛠 系統設計與架構
這個系統分成幾個核心模組:
• 文件載入(Data Loader Agent):支援 PDF 和 Markdown,先把文件切片、清理。
• 索引與檢索(LlamaIndex + FAISS):建立向量索引,就像「圖書館的索引卡」,快速找到相關段落。
• 問答生成(QA Agent):根據檢索到的內容,生成最終回答。
• 多代理協作(AutoGen):讓不同 Agent 能互相對話、協同完成任務。
• 模型管理(Ollama):在本地環境跑大模型,不需要把資料送到雲端。
• 使用介面(Streamlit):提供簡單的 Web 聊天框,直接上傳文件、提問。
• 部署(Docker Compose):一鍵啟動整套服務,方便快速體驗。

⚡ 快速上手
我希望這個專案「簡單到人人都能試」, 不過會有點工程技術, 需要先請您安裝docker, 如果您還不知道什麼是Docker的話, 歡迎參考:「【Docker 容器化】初探微服務時代的虛擬化技術」
只要四步驟:
git clone https://github.com/weihanchen/rag-multiagent-qa
# 建置服務
docker compose build
# 啟動服務
docker compose up -d
# 下載模型
docker exec rag-ollama ollama pull llama2:7b
啟動服務後,打開瀏覽器 http://localhost:8501 ,就能上傳文件,開始問答。

🤔 開發心得與技術選擇
在開發過程中,我遇到一些挑戰,也做了幾個技術選擇:
• 為什麼選 AutoGen?
• 為什麼用 FAISS?
• 為什麼要本地部署?
• 最大的挑戰?
這些問題解決後,系統的體驗大幅提升。
🎯 結語
對我來說,這個專案不只是技術實驗,更是一個能解決日常痛點的小幫手。
如果你也常常需要翻厚厚的文件,不妨試試這個「能自己協作的文件助理」。
我也很好奇:如果你有這樣的 AI 助理,你會最想用它來幫忙做什麼? 歡迎下方留言告訴我!