聯絡 EN 中文

能力

看能力,不看專案清單。點任一項能力,就能看到證明它的作品。等級是我依照下方規則替自己評的,每個等級都附上證據。

等級怎麼判定

  • 基石 (等級 5 / 5)

    符合「經過驗證」,有其他系統或他人的工作依賴它,而且公開(開源)或是跨專案重複使用的成文方法。

  • 經過驗證 (等級 4 / 5)

    至少 2 項由我設計交付、實際使用中的作品,再加上至少 1 項量測結果(測試、評測數字、遷移數量或稽核結果)。

  • 實際使用 (等級 3 / 5)

    至少 1 項由我設計並交付、實際使用中的作品。

  • 做過 (等級 2 / 5)

    有測試或書面設計的可運作原型或概念驗證,但還沒有真正的使用者。

  • 學習中

    已經開始,但還沒上線,或刻意還沒啟用。

  • 「實際使用」指已上線、在組織內使用中、正在試行,或已開源且有人在用。我只是共同維護的作品會列出,但不計入等級。
  • 自述:如果唯一的證據是我自己的履歷,等級最高只到「實際使用」,並加上標註。
  • 如果 AI 頁也評了同一項能力,就取兩者中較低的等級,兩頁不會互相矛盾。

能力樹

平台工程是基石,其他能力都從它長出來。六大分支,一列一項能力。

平台工程(多租戶後端) 基石 (等級 5 / 5)

平台工程(多租戶後端)

基石 (等級 5 / 5)
我能做什麼
我設計並維運一套多租戶後端,其他網站與工具都建在它上面。
為什麼是這個等級
符合「經過驗證」(3 項實際使用中、2,600+ 個測試);其他人做的網站也依賴它,而且原始碼公開。

證據

  • drust 開源

    drust,我寫的 Rust 後端:在 GitHub 開源,2,600+ 個測試,慈濟有 6 個網站與工具跑在它上面並在使用中。

  • 慈濟年報 上線中

    上線的年報網站:編輯透過 drust 登入,後台直接寫入 drust。

  • 六十影響報告書 上線中

    上線的報告書網站;頁面、文字段落與圖片都存放在 drust。

更多證據
  • 慈濟線上浴佛 上線中 共同維護

    同事打造的網站,我把它的資料層搬到 drust。我是共同維護者,所以列出但不計入等級。

網站前端 我做的是大家真的會造訪的網站。
  1. 公開網站 公開網站(靜態與混合渲染) 經過驗證 (等級 4 / 5)

    公開網站(靜態與混合渲染)

    經過驗證 (等級 4 / 5)
    我能做什麼
    我打造並上線公開網站,從零建置的純頁面,到附有受保護草稿預覽的靜態網站。
    為什麼是這個等級
    3 個上線網站,都由我打造;量測依據:年報 515 個 Vitest 測試、主網站 32 個測試檔。

    證據

    • 慈濟入口網站遷移 上線中

      慈濟基金會主網站,從 Joomla 搬到靜態 Lit 頁面;已上線,有 32 個測試檔。

    • 明心展覽 上線中

      我打造了哈佛 CAMLab × 慈濟展覽的上線網站:一份 Figma 做出 11 頁,零建置步驟。

    • 慈濟年報 上線中

      上線的年報網站,靜態頁面加上受保護的即時草稿預覽;515 個 Vitest 測試。

  2. Web Components Web Components(Lit) 經過驗證 (等級 4 / 5)

    Web Components(Lit)

    經過驗證 (等級 4 / 5)
    我能做什麼
    我用 Lit 寫 Web Components 介面,包含在正式網站上做伺服器端渲染的元件。
    為什麼是這個等級
    3 項實際使用中;量測結果:60 週年網站的 TypeScript 錯誤從 22 降到 0。

    證據

  3. 瀏覽器複雜版面 瀏覽器複雜版面(直排中文、分頁、翻頁) 實際使用 (等級 3 / 5)

    瀏覽器複雜版面(直排中文、分頁、翻頁)

    實際使用 (等級 3 / 5)
    我能做什麼
    我讓瀏覽器做出接近印刷的版面:直排中文、自動分頁、擬真翻頁。
    為什麼是這個等級
    1 項實際使用中(MasterSlides,74 個測試);翻頁閱讀器仍是原型。

    證據

    • MasterSlides 開源

      在 GitHub 公開、基金會實際在用:Google 文件變成由瀏覽器自動分頁的直排中文簡報;74 個測試。

    • pages 原型

      擬真翻頁的 PDF 閱讀器,建在我修改過的 StPageFlip 分支上。仍是原型,不計入等級。

後端與資料 API、資料庫,以及串起它們的資料管線。
  1. 後端服務與 API 後端服務與 API 經過驗證 (等級 4 / 5)

    後端服務與 API

    經過驗證 (等級 4 / 5)
    我能做什麼
    我用 Rust 與 TypeScript 寫 API 服務,並用測試守住它們。
    為什麼是這個等級
    3 項實際使用中;量測依據:drust 的 2,600+ 個測試。

    證據

    • drust 開源

      Rust(axum)後端,每個租戶都有 REST API 與 MCP 端點;2,600+ 個測試。

    • 慈濟週報 AI 管線 內部使用中

      Fastify worker,負責每一期週報的 11 步匯入流程。

    • 慈濟 60 週年活動網站 上線中 共同開發

      60 週年上線網站的 Hono 與 PostgreSQL 後端,共同開發。

  2. PostgreSQL 與資料庫測試 PostgreSQL 與資料庫測試 實際使用 (等級 3 / 5)

    PostgreSQL 與資料庫測試

    實際使用 (等級 3 / 5)
    我能做什麼
    我設計帶有列級安全(RLS)的 Postgres 資料結構,並直接在資料庫裡測試。
    為什麼是這個等級
    2 項實際使用中,但資料庫的量測結果(7,137 個 pgTAP 斷言、38 個 migration)來自測試環境與概念驗證。數位典藏正式上線後可升到「經過驗證」。

    證據

    • 慈濟週報 AI 管線 內部使用中

      自架的 Supabase(Postgres)存放每一期週報;使用中。

    • legit 試行

      以 Supabase 搭配 pgvector 與 pg_trgm 做法條與範本搜尋;內部試行中。

    • 數典網 1.5 測試環境

      約 200 萬筆紀錄;完整測試中 7,137 個 pgTAP 斷言全數通過。仍在測試環境,暫不計入等級。

    更多證據
    • 身分平台 概念驗證

      38 個 SQL migration,登入掛勾直接寫在 Postgres 裡。仍是概念驗證,不計入等級。

  3. 網站與資料遷移 網站與資料遷移 經過驗證 (等級 4 / 5)

    網站與資料遷移

    經過驗證 (等級 4 / 5)
    我能做什麼
    我把正式網站與大量資料搬到新系統,不斷連結、不掉資料。
    為什麼是這個等級
    2 項已上線的遷移;量測結果:保留 222 條轉址規則、2,674 篇文章 0 錯誤轉換(原型)、約 200 萬筆紀錄搬遷(測試環境)。

    證據

    • 慈濟入口網站遷移 上線中

      主網站搬離 Joomla,並在邊緣保留 222 條轉址規則。

    • 七月吉祥月 上線中

      年度活動網站從伺服器渲染改成直接讀取 drust 的靜態輸出;已上線。

    • Ghost 文章遷移 原型

      2,674 篇 Ghost 文章轉成可匯入的 JSON,最終執行 0 錯誤。仍是原型,不計入等級。

    更多證據
    • 數典網 1.5 測試環境

      約 200 萬筆紀錄從 PHP 與 Solr 搬到自架 Supabase。仍在測試環境,不計入等級。

  4. 身分驗證與權限控管 身分驗證與權限控管 經過驗證 (等級 4 / 5)

    身分驗證與權限控管

    經過驗證 (等級 4 / 5)
    我能做什麼
    我打造「預設拒絕」的登入與權限機制:沒有規則允許,就什麼都不開放。
    為什麼是這個等級
    2 項實際使用中(drust、年報);量測依據:drust 的資安複測(0 個嚴重、0 個高風險)。身分平台仍是概念驗證。

    證據

    • drust 開源

      在 SQL 層強制租戶隔離,並有列級安全;寫入路徑從不接受原始 SQL。

    • 慈濟年報 上線中

      預設拒絕的草稿關卡:Google 登入加上白名單,任何失敗都導回登入頁。已上線。

    • 身分平台 概念驗證

      以 OIDC 為基礎、登入掛勾寫在 Postgres 的身分平台;停權後權杖最多仍有效 15 分鐘。仍是概念驗證,不計入等級。

  5. 資料管線與即時推送 資料管線與即時推送 經過驗證 (等級 4 / 5)

    資料管線與即時推送

    經過驗證 (等級 4 / 5)
    我能做什麼
    我打造資料匯入管線,並把進度即時推送給使用的人。
    為什麼是這個等級
    3 項實際使用中;量測結果:解析 682 篇 InDesign 稿件、11 步匯入流程即時推送。

    證據

    • 慈濟週報 AI 管線 內部使用中

      11 步匯入流程;每一步都透過 Supabase Realtime 即時推送給編輯。

    • MasterSlides 開源

      手機遙控器透過 drust 上每個房間各自的即時頻道翻頁。

    • 六十影響報告書 上線中

      從一份印刷檔解析 682 篇 InDesign 稿件,同時產出網站與檢索索引。

AI 工程 會標出處、會自我查核、資料不外流的 AI 系統。
  1. 附出處的檢索(RAG) 附出處的檢索(RAG) 經過驗證 (等級 4 / 5)

    附出處的檢索(RAG)

    經過驗證 (等級 4 / 5)
    我能做什麼
    我打造必須標出處的檢索:法條、頁碼、典藏紀錄。
    為什麼是這個等級
    2 項實際使用中,並有 hit@1 量測(0.821 與 0.949)。與我在 AI 頁自評的「檢索」等級一致。

    證據

    • legit 試行

      合約審閱的檢索:56 條條文 hit@1 0.821,39 個範本查詢 hit@1 0.949。內部試行中。

    • 六十影響報告書 上線中

      針對印刷報告書的本地多模態 RAG;回答模型被要求每個說法都標出頁碼。

    • 數典網 1.5 測試環境

      文字、語意與圖像搜尋,加上會檢查自己引用的助理。仍在測試環境,不計入等級。

  2. AI Agent 與工具串接 AI Agent 與工具串接(Claude Agent SDK、MCP) 經過驗證 (等級 4 / 5)

    AI Agent 與工具串接(Claude Agent SDK、MCP)

    經過驗證 (等級 4 / 5)
    我能做什麼
    我用 Claude Agent SDK 與 MCP 打造 Agent:判斷交給模型,證據留在程式裡。
    為什麼是這個等級
    3 項實際使用中;量測結果:黃金測試集上的重複執行一致率從 56% 提升到 81%。與我在 AI 頁自評的「Agent 與工具」等級一致。

    證據

    • 慈濟週報 AI 管線 內部使用中

      Claude Agent SDK 解析並改寫每一期週報,並關閉所有工具;使用中。

    • legit 試行

      會顯示每一次工具呼叫的合約審閱 Agent;重複執行一致率從 56% 提升到 81%。

    • drust 開源

      每個租戶都有原生 MCP 端點,提供 76 個 AI Agent 可呼叫的工具。

    更多證據
    • WebForge 原型

      從對話到 commit 的網站編輯器,建在 Agent SDK 上,3 天做出可運作原型。不計入等級。

    • 發票收集 Agent 原型

      以 Agent SDK 與 Playwright MCP 收集廠商發票的 Agent。仍是原型,不計入等級。

  3. LLM 評測 LLM 評測與品質關卡 實際使用 (等級 3 / 5)

    LLM 評測與品質關卡

    實際使用 (等級 3 / 5)
    我能做什麼
    我先用固定的測試集量測 AI 的輸出才信任它,難看的數字也照實保留。
    為什麼是這個等級
    1 項實際使用中;測試集仍然偏小。與我在 AI 頁自評的「評測」等級一致。

    證據

    • legit 試行

      法務室提供 10 件真實案例作為黃金測試集;案件類型準確率仍只有 44%,我照實列出。

    • iPAS 適性化模擬考 原型

      1,794 題 AI 生成的練習題通過第二個模型的盲測查核。仍是原型,不計入等級。

    • 語音收集品管迴路 概念驗證

      每一句生成的句子都轉寫回文字,以字元錯誤率評分。仍是概念驗證,不計入等級。

  4. 自架模型 自架模型(資料不出組織) 實際使用 (等級 3 / 5)

    自架模型(資料不出組織)

    實際使用 (等級 3 / 5)
    我能做什麼
    我使用自架的開源模型,讓敏感文字不離開組織。
    為什麼是這個等級
    依規則可達「經過驗證」(2 項實際使用中),但以我在 AI 頁自評的「本地模型」等級為上限。

    證據

    • 六十影響報告書 上線中

      對話、視覺、嵌入與重排序全部使用自架的 Qwen3;不呼叫外部 AI API。

    • legit 試行

      所有 AI 呼叫都經過基金會自己的模型閘道。

    • 即時字幕 原型

      關閉模型的思考模式,讓每句約 24 秒的翻譯加速。仍是原型,不計入等級。

  5. 語音辨識與合成 語音辨識與合成 做過 (等級 2 / 5)

    語音辨識與合成

    做過 (等級 2 / 5)
    我能做什麼
    我從頭到尾打造語音管線:語音辨識、即時字幕與語音合成。
    為什麼是這個等級
    依規則可達「實際使用」(語音合成步驟已在正式環境運作),但以我在 AI 頁自評的「語音」等級為上限。

    證據

    • 即時字幕 原型

      中文語音轉英文字幕,即時廣播到現場每一台裝置;2 天做出可運作版本。仍是原型。

    • 語音收集品管迴路 概念驗證

      錄音收集時以語音辨識檢查每一句(錯誤率門檻 0.10)。仍是概念驗證。

    • 慈濟週報 AI 管線 內部使用中

      週報每篇文章的語音合成,運作在內部的正式流程中。

基礎架構與資安 自己做的東西,自己部署、自己架設、自己補強。
  1. CI/CD 與邊緣部署 CI/CD 與邊緣部署(GitLab CI、Cloudflare) 經過驗證 (等級 4 / 5)

    CI/CD 與邊緣部署(GitLab CI、Cloudflare)

    經過驗證 (等級 4 / 5)
    我能做什麼
    我把建置、檢查與部署串起來,存檔後的修改會自己上到正式網站。
    為什麼是這個等級
    3 個上線網站;量測結果:在邊緣保留 222 條轉址規則,年報每次部署前跑 3 項建置斷言。

    證據

    • 明心展覽 上線中

      GitLab CI 把展覽網站部署到 Cloudflare Pages,完全不需要建置步驟。

    • 慈濟年報 上線中

      每次存檔觸發 webhook:建置、3 項建置斷言、預覽,再上正式環境,設計目標約 2 分鐘上線。

    • 慈濟入口網站遷移 上線中

      GitLab CI 部署到 Cloudflare Pages,222 條轉址規則在邊緣執行。

  2. 容器與自架服務 容器與自架服務 實際使用 (等級 3 / 5)

    容器與自架服務

    實際使用 (等級 3 / 5)
    我能做什麼
    我用 Docker 打包服務,並自己架設它們需要的整套環境。
    為什麼是這個等級
    2 項使用中,但沒有針對架設本身的量測結果,所以還不到「經過驗證」。

    證據

    • 慈濟週報 AI 管線 內部使用中

      以 Docker 運行、統一經過 Kong 閘道的自架 Supabase 環境。

    • drust 開源

      以多架構 Docker 映像檔發布。

    • 數典網 1.5 測試環境

      前台與後台以測試副本運行在 Sealos。不計入等級。

  3. 資安實務 資安實務 實際使用 (等級 3 / 5)

    資安實務

    實際使用 (等級 3 / 5)
    我能做什麼
    我檢測自己系統的資安漏洞,修好找到的問題,並寫成紀錄。
    為什麼是這個等級
    2 項實際使用中,但檢測是我自己發起、沒有第三方,所以還不到「經過驗證」。

    證據

    • drust 開源

      由 AI 對我自己的執行個體做兩次檢測:找到 1 個高風險並已修正;v1.41.3 複測結果為 0 嚴重、0 高、1 中、2 低。

    • 慈濟週報 AI 管線 內部使用中

      對照 ISO 27001 與 OWASP 寫成的資安稽核。

    • 身分平台 概念驗證

      員工身分改看 Google 簽章的網域欄位,不再比對 email 字串。仍是概念驗證,不計入等級。

工程方法 我的交付方式:AI 原生、先寫規格、有測試。
  1. AI 原生開發 AI 原生開發(規格 → 計畫 → 實作 → 審查) 基石 (等級 5 / 5)

    AI 原生開發(規格 → 計畫 → 實作 → 審查)

    基石 (等級 5 / 5)
    我能做什麼
    我用 Claude Code 照一套成文流程交付:規格、計畫、一個測試一個測試地實作,再審查。
    為什麼是這個等級
    一套跨所有主要作品重複使用的成文方法,並能在公開的程式庫中看到。與我在 AI 頁自評的「AI 原生開發」等級一致。

    證據

    更多證據
    • MasterSlides 開源

      8 份設計規格,每份都搭配計畫,放在公開的程式庫中。

  2. 自動化測試 自動化測試 經過驗證 (等級 4 / 5)

    自動化測試

    經過驗證 (等級 4 / 5)
    我能做什麼
    我用自動化測試守住系統,從單元測試到資料庫都有。
    為什麼是這個等級
    3 項實際使用中,每一項都有明確的測試數量。

    證據

    • drust 開源

      2,600+ 個測試。

    • 慈濟年報 上線中

      35 個檔案、515 個 Vitest 測試。

    • legit 試行

      2026-09-03 檢查點時,1,127 個 pytest 與 340 個 Vitest 測試全數通過。

  3. 多模型交叉審查 多模型交叉審查 實際使用 (等級 3 / 5)

    多模型交叉審查

    實際使用 (等級 3 / 5)
    我能做什麼
    交付前,我讓一個模型檢查另一個模型的成果。
    為什麼是這個等級
    只有 legit 在實際使用中;其他審查工作仍在測試環境或概念驗證階段。

    證據

    • legit 試行

      照「規格 → 計畫 → 實作 → 審查」流程打造,每個決定都記在決策紀錄裡;內部試行中。

    • 數典網 1.5 測試環境

      Codex 撰寫資料庫 migration,Claude 規劃每一批並逐一對照實際資料庫檢查。仍在測試環境,不計入等級。

    • 身分平台 概念驗證

      身分平台的計畫經過資安審查迴圈。仍是概念驗證,不計入等級。

領導與產品 不只寫程式,也帶著工作往前走。
  1. 團隊帶領與交付 團隊帶領與交付 實際使用 (等級 3 / 5) 自述(履歷)

    團隊帶領與交付

    實際使用 (等級 3 / 5) 自述(履歷)
    我能做什麼
    我帶領團隊,從需求到上線推動專案。
    為什麼是這個等級
    帶領團隊這件事目前只有我的履歷可佐證,所以等級上限是「實際使用」。

    證據

    • 履歷 出自我的履歷經歷

      2023-07 起擔任慈濟基金會資訊主管,帶領 5–8 人的團隊(出自我的履歷)。

    • 慈濟入口網站遷移 上線中

      交付主網站遷移;已上線。

    • 慈濟年報 上線中

      交付年報網站與同事可自行編輯的後台;已上線。

  2. 把同事需求做成工具 把同事需求做成工具 經過驗證 (等級 4 / 5)

    把同事需求做成工具

    經過驗證 (等級 4 / 5)
    我能做什麼
    我把同事的需求做成工具,讓他們不必等工程師也能自己完成工作。
    為什麼是這個等級
    3 項實際使用中;量測結果:在法務室的黃金測試集上,重複執行一致率從 56% 提升到 81%。

    證據

    • 慈濟年報 上線中

      同事在後台自行編輯年報;存檔後的修改設計上約 2 分鐘就上線。

    • 慈濟週報 AI 管線 內部使用中

      編輯在自己的後台審閱並發布每一期週報。

    • legit 試行

      黃金測試集由法務室提供;一致率從 56% 提升到 81%。

  3. 教非工程師使用 AI 教非工程師使用 AI 做過 (等級 2 / 5)

    教非工程師使用 AI

    做過 (等級 2 / 5)
    我能做什麼
    我幫助不寫程式的同事,自己開始使用 AI。
    為什麼是這個等級
    課程已經做好,但授課紀錄沒有留下。與我在 AI 頁自評的「教學」等級一致。

    證據

    • 非工程師的 Claude 實戰課 工作之外

      給行政、文字與企劃同事的 2 小時 Claude 課程:8 支章節影片、60 個場景。

    • 慈濟影片模板 Video Kit 工作之外

      讓非技術同事用日常語言請 Claude 做出符合品牌的影片的工具包。

    • 履歷 出自我的履歷經歷

      為同事撰寫的使用指南與最佳實務筆記(出自我的履歷)。

學習中

已經開始,但還沒上線,或刻意還沒啟用。每一項都寫明原因。

技術索引

作品中用到的每項工具,依類別分組。展開一組,就能看到每項工具用在哪些作品。

程式語言 TypeScript · Python · CSS · HTML · JavaScript · Rust · YAML
JavaScript
用於: 明心展覽 · 結緣品水墨動畫頁
Rust
用於: drust
YAML
用於: 發票收集 Agent
網頁 Next.js · React · Lit · Astro · Tailwind CSS · FastAPI · PDF.js · Storybook · Vite · WebSocket · anime.js · axum · Canvas 2D · Chrome Extension (MV3) · Fastify · Flask · hls.js · Hono · LINE LIFF · marked · PWA · Redux Toolkit · StPageFlip · SVG · Web Push · zod
PDF.js
用於: pages · flip7book
Storybook
用於: tceditor · CIS UI Kit
WebSocket
用於: WebForge · 即時字幕
anime.js
用於: 結緣品水墨動畫頁
axum
用於: drust
Canvas 2D
用於: pages
Chrome Extension (MV3)
用於: 展場電子導覽機
Fastify
用於: 慈濟週報 AI 管線
Flask
用於: 六十影響報告書
hls.js
用於: 明心展覽
LINE LIFF
用於: 慈濟數位週報 PWA
marked
用於: MasterSlides
Redux Toolkit
用於: 展場電子導覽機
StPageFlip
用於: pages
Web Push
用於: 慈濟數位週報 PWA
zod
用於: tceditor
資料 drust · PostgreSQL · Supabase · OAuth / OIDC · pgroonga · pgTAP · pgvector · SQLite · sqlite-vec · Stripe
OAuth / OIDC
用於: 身分平台
pgroonga
用於: 數典網 1.5
pgTAP
用於: 數典網 1.5
pgvector
用於: 數典網 1.5
SQLite
用於: drust
sqlite-vec
用於: drust
Stripe
用於: flip7book
AI Qwen3 · Claude Agent SDK · MCP · OpenCC · Claude Code · gpt-oss-120b · pydantic-ai · PyMuPDF · VAD
Claude Agent SDK
用於: 慈濟週報 AI 管線 · WebForge · 發票收集 Agent
MCP
用於: drust · 發票收集 Agent
Claude Code
用於: 發票收集 Agent
gpt-oss-120b
用於: iPAS 適性化模擬考
pydantic-ai
用於: legit
PyMuPDF
用於: legit
VAD
用於: 即時字幕
基礎架構與測試 Cloudflare · Docker · Vitest · GitLab CI · pytest · Turborepo · Bun · Deno · Envoy · node:test · Playwright · Rollup · simple-git · wasmtime · Web Test Runner
Vitest
用於: 慈濟年報 · 身分平台 · WebForge · pages
Turborepo
用於: tceditor · CIS UI Kit
Bun
用於: MasterSlides
Envoy
用於: 身分平台
node:test
用於: 慈濟入口網站遷移
Playwright
用於: iPAS 適性化模擬考
Rollup
用於: pages
simple-git
用於: WebForge
wasmtime
用於: drust
Web Test Runner
用於: CIS UI Kit