TTechSpecs

實戰背景

在本範例中,我們將使用 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:

    直接依賴

    1. payment-service - 關鍵依賴
    2. user-service - 關鍵依賴
    3. admin-portal - 中等依賴

    間接依賴(透過以上專案):

    • mobile-app(透過 user-service)
    • partner-api(透過 payment-service)

    影響分析: 若 shared-auth-library 發生重大變更,將直接影響 3 個核心服務,間接影響 2 個外部接口。

    建議:任何變更需要提前 2 週通知所有依賴專案。


── 第 6 輪:變更影響分析 ──

  • You:
    graphify query "若 user-service 採用新的認證協議,會影響哪些專案?"
  • AI:

    根據圖譜進行影響分析…

    直接影響

    1. mobile-app - 使用 user-service 的認證 API
    2. admin-portal - 依賴 user-service 的使用者管理
    3. partner-api - 透過 user-service 驗證合作夥伴

    間接影響

    • external-clients - 透過 partner-api 連結

    技術影響

    • API 合約變更
    • Token 格式變更
    • 回應格式變更

    人員影響

    • 需要通知:mobile-app 團隊(李華)、admin-portal 團隊(王偉)
    • 需要協作:partner-api 團隊(趙敏)

    建議行動

    1. 召開技術協調會議
    2. 制定遷移時間表
    3. 準備向後相容方案

── 第 7 輪:知識缺口分析 ──

  • You:
    graphify query "哪些專案缺少負責人資訊?"
  • AI:

    根據圖譜分析,以下專案缺少負責人資訊:

    無負責人專案

    1. legacy-cron-service - 已維護模式(可能合理)
    2. experimental-ai-module - 新專案(需要指派)
    3. deprecated-analytics - 即將廢棄(可能合理)

    建議

    • experimental-ai-module 需要指派負責人
    • 確認 legacy-cron-service 和 deprecated-analytics 的狀態

── 第 8 輪:技術債務識別 ──

  • You:
    graphify query "哪些專案使用了過期的技術版本?"
  • AI:

    根據圖譜分析,以下專案使用過期技術:

    高優先級升級(安全風險):

    1. payment-service - Node.js 14(EOL)→ 需要升級到 18+
    2. 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+ 專案):

    1. 張明 - 7 個專案(Tech Lead)

      • 主要:payment-service, user-service
      • 次要:auth-lib, api-gateway, 等
    2. 李華 - 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 端點

    存取控制

    ✓ 企業知識庫部署完成!


程式碼與設計亮點

  • 自動影響分析:變更前自動識別所有受影響的專案與人員
  • 技術債務追蹤:自動識別過期技術與安全風險
  • 團隊負載平衡:透過圖譜分析識別過載人員

後續改進

  1. 定期更新:每週同步專案與會議記錄
  2. 自動化通知:變更影響自動通知相關人員
  3. 整合 CI/CD:從部署流程自動提取架構資訊

這個範例展示了 Graphify 如何成為企業知識管理的核心工具,提升組織效率!