情境背景
你負責一個網站的內容管理系統,目前使用者反饹「很難找到相關的內容」。你需要探索不同的解決方案,找出最適合的設計方案。
對置步驟
步驟 1:探索解決方案 (20 分鐘)
目標:探索多種搜尋解決方案,進行比較分析
AI 對話:
-
You:
/brainstorming -
AI:
讓我們一起探索這個內容管理系統的搜尋設計。
第一個問題:使用者說「很難找到相關的內容」,具體是什麼場景?
- You:
使用者需要在文章中找到相關的術語和概念,但目前的搜尋只支援精確匹配。
AI: 好的,這是一個典型的語意搜尋問題。讓我繼續問。
第二個問題:你考慮過哪些搜尋方案?
- You:
我看過這些方案:
- 全文索引搜尋
- 向量 embeddings 搜尋
- LLM 語合搜尋
AI: 好的。讓我比較這些方案。
方案比較:
全文索引搜尋:
- 優點:快速、精確的精確匹配
- 缺點:無法理解語意,只能匹配關字
向量 embeddings 搜尋:
- 優點:理解語意、可以推薦相關內容
- 缺點:需要 embeddings、維護成本高
LLM 聯合搜尋:
- 優點:結合精確匹配和語意理解
- 缺點:API 成本、需模型提示
推薦方案:向量 embeddings 搜尋
理由:
- 使用者需要語意搜尋,不只是關鍵字匹配
- 可以推薦相關但用詞不同的內容
- 現技術成熟,有很多開源實作
下一步:要開始規劃嗎?
步驟 2:制定計畫 (15 分鐘)
目標:制定向量搜尋功能的實作計畫
AI 對話:
-
You:
/writing-plans -
AI:
讓我們一起制定向量搜尋功能的實作計畫。
設計決策:
-
前端:
- 使用向量資料庫(Qdrant)儲存向量
- 使用 React 組件展示搜尋結果
-
後端:
- 使用 OpenAI embeddings API 生成向量
- 使用 Qdrant 客戶端連接
-
更新流程:
- 內容發布時自動生成向量
- 註式碼更新時重新生成向量
實作步驟:
- 建立向量資料庫(Qdrant)
- 實作 embeddings 生成 API
- 實作搜尋介面和元件
- 實作自動化向量更新流程
- 測試驗證
時間估算:4 小時
下一步:要開始實作嗎?
-
步驟 3:實作功能 (2-3 小時)
目標:根據計畫實作向量搜尋功能
AI 對話:
-
You:
/implement --spec=docs/plans/vector-search.md -
AI:
開始實作向量搜尋功能…
實作狀況:
- 建立 Qdrant 向量資料庫 ✓
- 實作 embeddings 生成 API ✓
- 實作搜尋介面 ✓
- 實作自動化更新流程 ✓
- 測試通過 ✓
實作完成,準備驗證。
學活的決策
誇索引擎選擇
在探索過程中,你決定使用 向量 embeddings 搜尋 而非全文索引或 LLM 搜尋。
選擇依據:
- 使用者需要語意搜尋(推薦相關但用詞不同的內容)
- 技術成熟度高,開源方案豐富
- API 成本可接受(OpenAI)
自動化更新流程
你決定在內容發布和程式碼更新時,自動更新向量,確保向量與內容同步。
解決方案:
- 內容發布時:觸發 webhook → 生成向量 → 儲存到 Qdrant
- 程式碼更新時:監聽程式碼庫 → 觸發 webhook → 重新生成向量 → 更新 Qdrant
工具使用摘要
| Skill | 用途 | 在本例的作用 |
|---|---|---|
| brainstorming | 探索多種解決方案 | 比較 3 種搜尋方案 |
| writing-plans | 制定詳細計畫 | 制定向量搜尋設計和實作步驟 |
| implement | 根據計畫實作功能 | 實作向量搜尋功能 |
結果
- ✅ 探索到最佳解決方案(向量 embeddings 搜尋)
- ✅ 制定完整的實作計畫
- ✅ 成功實作並測試向量搜尋功能
- ✅ 實作自動化更新流程
- ✅ 搜尋準確度和使用者滿意度顯著提升
經驗
使用者回饋:「現在可以輕鬆找到相關內容了,推薦功能特別有用!」