實戰背景
在本範例中,我們將使用 Graphify 建立企業專案知識庫。假設你是一家軟體公司的知識管理負責人,需要整合以下資源:
- 50+ 個專案的 README.md
- 內部 Wiki(Confluence)
- 會議記錄與決策文檔
- 技術架構文件
目標是建立一個可以回答「誰負責這個專案?」、「這個專案依賴哪些技術?」、「哪些專案受此變更影響?」等問題的知識圖譜。
規格定義
本次企業知識庫包含:
- 實體類型:Project(專案)、Person(人員)、Technology(技術)、Component(組件)、Decision(決策)、Meeting(會議)
- 關係類型:OWNS(擁有)、WORKS_ON(參與)、DEPENDS_ON(依賴)、USES(使用)、AFFECTS(影響)、DECIDED_IN(決策於)
端到端 10 輪 AI 協作紀錄
── 第 1 輪:初始化企業圖譜 ──
- You:
graphify init --name="enterprise-kb" --backend=neo4j --llm=anthropic - AI:
正在初始化企業知識庫…
✓ 建立目錄:
.graphify/✓ 使用 Neo4j 企業版後端 ✓ 使用 Anthropic Claude(企業合約)✓ 企業知識庫「enterprise-kb」初始化完成!
── 第 2 輪:提取專案文件 ──
- You:
# 從 GitHub 組織提取所有專案 gh repo list --json name --jq '.[].name' > repos.txt # 批量提取 README graphify extract --batch=repos.txt --source="github" --namespace="projects" - AI:
正在從 GitHub 組織提取專案…
提取進度: [########### ] 60% (30/50 專案)
目前統計:
- 處理專案:30 個
- 識別實體:342 個
- Project: 30
- Technology: 87
- Component: 145
- Person: 80
- 建立關係:512 個
✓ 專案提取完成!
── 第 3 輪:提取會議記錄 ──
- You:
graphify extract --source="confluence" --batch=meetings.txt --namespace="meetings" - AI:
正在從 Confluence 提取會議記錄…
提取摘要:
- 處理會議:45 次
- 識別實體:234 個
- Meeting: 45
- Decision: 89
- ActionItem: 100
- 建立關係:345 個
重要決策:
- ✓ 技術選型:採用 React 18 + Next.js 14
- ✓ 架構決策:微服務遷移分三階段
- ✓ 資源分配:Q3 增加 5 名後端工程師
✓ 會議記錄已加入圖譜!
── 第 4 輪:查詢專案負責人 ──
- You:
graphify query "誰是 payment-service 專案的負責人?" - AI:
根據圖譜查詢結果:
payment-service 專案團隊:
- 負責人:張明(Tech Lead)
- 核心開發:李華、王偉
- 產品經理:趙敏
專案狀態:活躍開發中 最近更新:3 天前 技術棧:Go, gRPC, PostgreSQL, Redis
── 第 5 輪:分析技術依賴 ──
- You:
graphify query "哪些專案依賴於 shared-auth-library?" - AI:
根據圖譜查詢結果,以下專案依賴 shared-auth-library:
直接依賴:
- payment-service - 關鍵依賴
- user-service - 關鍵依賴
- admin-portal - 中等依賴
間接依賴(透過以上專案):
- mobile-app(透過 user-service)
- partner-api(透過 payment-service)
影響分析: 若 shared-auth-library 發生重大變更,將直接影響 3 個核心服務,間接影響 2 個外部接口。
建議:任何變更需要提前 2 週通知所有依賴專案。
── 第 6 輪:變更影響分析 ──
- You:
graphify query "若 user-service 採用新的認證協議,會影響哪些專案?" - AI:
根據圖譜進行影響分析…
直接影響:
- mobile-app - 使用 user-service 的認證 API
- admin-portal - 依賴 user-service 的使用者管理
- partner-api - 透過 user-service 驗證合作夥伴
間接影響:
- external-clients - 透過 partner-api 連結
技術影響:
- API 合約變更
- Token 格式變更
- 回應格式變更
人員影響:
- 需要通知:mobile-app 團隊(李華)、admin-portal 團隊(王偉)
- 需要協作:partner-api 團隊(趙敏)
建議行動:
- 召開技術協調會議
- 制定遷移時間表
- 準備向後相容方案
── 第 7 輪:知識缺口分析 ──
- You:
graphify query "哪些專案缺少負責人資訊?" - AI:
根據圖譜分析,以下專案缺少負責人資訊:
無負責人專案:
- legacy-cron-service - 已維護模式(可能合理)
- experimental-ai-module - 新專案(需要指派)
- deprecated-analytics - 即將廢棄(可能合理)
建議:
- experimental-ai-module 需要指派負責人
- 確認 legacy-cron-service 和 deprecated-analytics 的狀態
── 第 8 輪:技術債務識別 ──
- You:
graphify query "哪些專案使用了過期的技術版本?" - AI:
根據圖譜分析,以下專案使用過期技術:
高優先級升級(安全風險):
- payment-service - Node.js 14(EOL)→ 需要升級到 18+
- user-service - OpenSSL 1.1.1(有已知漏洞)
中優先級升級(維護困難): 3. admin-portal - React 16 → 建議升級到 18 4. internal-tools - Python 3.7 → 建議升級到 3.11+
建議計畫:
- Q3 優先處理 payment-service 和 user-service 的升級
- Q4 處理其他專案的升級
── 第 9 輪:團隊負載分析 ──
- You:
graphify query "哪些人員參與了過多專案?" - AI:
根據圖譜分析,以下人員參與過多專案:
高負載人員(5+ 專案):
-
張明 - 7 個專案(Tech Lead)
- 主要:payment-service, user-service
- 次要:auth-lib, api-gateway, 等
-
李華 - 6 個專案(Senior Backend)
- 主要:mobile-api, partner-api
- 次要:notification-service, 等
建議:
- 張明負載過高,考慮授權部分專案給其他 Tech Lead
- 李華的次要專案可以轉交給初級工程師
-
── 第 10 輪:部署企業知識庫 ──
- You:
# 生成多個視角 graphify visualize --output=enterprise-map.html graphify visualize --focus="payment-service" --radius=2 --output=payment-context.html # 部署到內網 graphify deploy --target=internal-server - AI:
正在部署企業知識庫…
部署內容:
- enterprise-map.html(完整企業知識地圖)
- payment-context.html(支付服務上下文)
- 查詢 API 端點
存取控制:
- 內網 URL:https://kb.internal.company.com
- 需要 SSO 認證
✓ 企業知識庫部署完成!
程式碼與設計亮點
- 自動影響分析:變更前自動識別所有受影響的專案與人員
- 技術債務追蹤:自動識別過期技術與安全風險
- 團隊負載平衡:透過圖譜分析識別過載人員
後續改進
- 定期更新:每週同步專案與會議記錄
- 自動化通知:變更影響自動通知相關人員
- 整合 CI/CD:從部署流程自動提取架構資訊
這個範例展示了 Graphify 如何成為企業知識管理的核心工具,提升組織效率!