<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>AI程式設計 on KnightLi的博客</title>
        <link>https://knightli.com/zh-tw/tags/ai%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88/</link>
        <description>Recent content in AI程式設計 on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-tw</language>
        <lastBuildDate>Thu, 21 May 2026 08:53:13 +0800</lastBuildDate><atom:link href="https://knightli.com/zh-tw/tags/ai%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>GitHub AI 開源專案分類整理：從 Coding Agent 到 RAG 知識庫</title>
        <link>https://knightli.com/zh-tw/2026/05/21/github-ai-projects-site-statistics/</link>
        <pubDate>Thu, 21 May 2026 08:53:13 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/21/github-ai-projects-site-statistics/</guid>
        <description>&lt;p&gt;這裡按應用方向列出 GitHub AI 專案，覆蓋 AI 程式設計與 Coding Agent、Agent 技能與工作流、RAG 與知識庫、多模態創作、本地模型與推理、垂直應用與自動化、AI 應用開發基礎設施等方向。後續新增專案時，也可以繼續按這個結構補充。&lt;/p&gt;
&lt;h2 id=&#34;分類合計&#34;&gt;分類合計
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;分類&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;專案數&lt;/th&gt;
          &lt;th&gt;適合先看的人&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;AI程式設計與 Coding Agent&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;22&lt;/td&gt;
          &lt;td&gt;經常使用 Claude Code、Codex、Cursor、終端 Agent 或程式碼庫自動化的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Agent 技能與工作流&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;7&lt;/td&gt;
          &lt;td&gt;想把 AI 程式設計、科研、創作流程標準化的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;RAG、知識庫與記憶&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;7&lt;/td&gt;
          &lt;td&gt;需要文件檢索、知識庫、長期記憶、網頁抓取和結構化抽取的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;垂直應用與自動化&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;7&lt;/td&gt;
          &lt;td&gt;想看金融、交易、閒魚監控、桌面操作、瀏覽器自動化等落地場景的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;多模態與內容創作&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;5&lt;/td&gt;
          &lt;td&gt;做圖片、影片、語音轉寫、提示詞庫和內容分發的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;AI 應用開發基礎設施&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;5&lt;/td&gt;
          &lt;td&gt;構建 AI 應用、瀏覽器自動化、Prompt/MCP 工具鏈的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;本地模型與推理&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;1&lt;/td&gt;
          &lt;td&gt;關心本地 DeepSeek、推理引擎和硬體適配的人&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;這個分佈可以看出當前 AI 開源專案的幾個高頻方向：AI 程式設計工具明顯最多，其次是 Agent 工作流、RAG 知識庫和具體應用場景。純模型推理專案數量不多，因為很多本地部署內容並不是單獨介紹某個 GitHub 專案，而是圍繞模型、顯示卡或部署方案展開。&lt;/p&gt;
&lt;h2 id=&#34;ai程式設計與-coding-agent&#34;&gt;AI程式設計與 Coding Agent
&lt;/h2&gt;&lt;p&gt;這一類聚焦程式碼理解、程式碼修改、工程流程和終端 Agent，是數量最多的一組。共 &lt;strong&gt;22&lt;/strong&gt; 個專案。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;專案&lt;/th&gt;
          &lt;th&gt;文章&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;核心用途&lt;/th&gt;
          &lt;th&gt;適合人群&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Ralph&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/04/27/ralph-autonomous-agent-loop-claude-code-amp/&#34; &gt;Ralph 是什麼：把 Claude Code 和 Amp 變成可迴圈執行的自主開發流程&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/snarktank/ralph&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;snarktank/ralph&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;讓 Claude Code / Amp 按 PRD、計劃、執行、評審迴圈推進任務&lt;/td&gt;
          &lt;td&gt;想把 Agent 程式設計流程拉直的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude-Mem&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/claude-mem-persistent-memory-for-claude-code/&#34; &gt;Claude-Mem：給 Claude Code 加上跨會話長期記憶&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/thedotmack/claude-mem&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;thedotmack/claude-mem&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;為 Claude Code 增加跨會話記憶&lt;/td&gt;
          &lt;td&gt;高頻使用 Claude Code 的開發者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Code Hooks Mastery&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/claude-code-hooks-mastery-guide/&#34; &gt;Claude Code Hooks Mastery：13 個 Hooks 生命週期與自動化控制入門&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/disler/claude-code-hooks-mastery&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;disler/claude-code-hooks-mastery&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;學習 Claude Code Hooks 生命週期和自動化控制&lt;/td&gt;
          &lt;td&gt;想定製 Claude Code 流程的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Compound Engineering Plugin&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/compound-engineering-plugin-ai-coding-workflow/&#34; &gt;Compound Engineering Plugin：把 AI 程式設計變成計劃、執行、評審的工程迴圈&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/EveryInc/compound-engineering-plugin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EveryInc/compound-engineering-plugin&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;把 AI 程式設計拆成計劃、執行、評審迴圈&lt;/td&gt;
          &lt;td&gt;關注工程化 AI 程式設計的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;free-claude-code&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/free-claude-code-anthropic-compatible-proxy/&#34; &gt;free-claude-code：用代理把 Claude Code 接到 OpenRouter、DeepSeek 和本地模型&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Alishahryar1/free-claude-code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Alishahryar1/free-claude-code&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;透過代理把 Claude Code 接到不同模型後端&lt;/td&gt;
          &lt;td&gt;想降低 Claude Code 使用成本的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Hermes Agent&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/04/12/hermes-agent-intro-guide-vs-openclaw/&#34; &gt;Hermes Agent 是什麼：簡介、優點、快速上手與 OpenClaw 對比&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/NousResearch/hermes-agent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NousResearch/hermes-agent&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;本地 Agent 框架，支援工具呼叫和任務執行&lt;/td&gt;
          &lt;td&gt;想跑本地 Agent 的使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;OpenHarness&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/04/12/openharness-basic-functions/&#34; &gt;OpenHarness 是什麼：這個開源 Agent Harness 能做什麼&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/HKUDS/OpenHarness&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HKUDS/OpenHarness&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Agent Harness 與多 Agent 執行框架&lt;/td&gt;
          &lt;td&gt;研究 Agent 編排的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CodexBridge&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/13/codexbridge-openai-compatible-api/&#34; &gt;Codex 怎麼接入國產大模型？OpenAI 相容介面與 CodexBridge 使用思路&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/begonia599/CodexBridge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;begonia599/CodexBridge&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;幫 Codex 接入 OpenAI 相容模型介面&lt;/td&gt;
          &lt;td&gt;想把 Codex 接到國產模型的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ccx&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/13/ccx-ai-api-proxy-gateway/&#34; &gt;Codex 怎麼接入國產大模型？用 CCX 統一管理 OpenAI 相容 API&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/BenedictKing/ccx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BenedictKing/ccx&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;統一管理 Claude、Codex、Gemini 等 API 代理&lt;/td&gt;
          &lt;td&gt;多模型切換使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;cc-haha&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/14/cc-haha-claude-code-desktop-workbench/&#34; &gt;cc-haha 是什麼？一個把 Claude Code 做成桌面工作臺的專案&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NanmiCoder/cc-haha&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Claude Code 桌面工作臺與 Computer Use 入口&lt;/td&gt;
          &lt;td&gt;喜歡圖形介面的 Claude Code 使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DeepSeek-TUI&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/16/deepseek-tui-terminal-coding-agent/&#34; &gt;DeepSeek-TUI：把 DeepSeek V4 變成終端裡的程式設計智慧體&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Hmbown/DeepSeek-TUI&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hmbown/DeepSeek-TUI&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;在終端裡執行 DeepSeek 程式設計 Agent&lt;/td&gt;
          &lt;td&gt;DeepSeek 與命令列使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Open Design&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/18/open-design-open-source-claude-design-alternative/&#34; &gt;Open Design 專案解析：把 Claude Code、Codex 變成 AI 設計工具&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/nexu-io/open-design&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nexu-io/open-design&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;讓 Claude Code / Codex 參與設計生成&lt;/td&gt;
          &lt;td&gt;想用 Agent 做設計原型的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;agentmemory&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/19/agentmemory-persistent-memory-ai-coding-agents/&#34; &gt;agentmemory 專案解析：給 Claude Code、Codex 和 Cursor 加持久記憶&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/rohitg00/agentmemory&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rohitg00/agentmemory&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;給 Coding Agent 增加持久記憶層&lt;/td&gt;
          &lt;td&gt;長期維護專案的開發者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Graphify&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/21/safishamsi-graphify-ai-code-knowledge-graph/&#34; &gt;Graphify 解決 Claude Code 最大侷限：把程式碼庫變成 AI 可查詢知識圖譜&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/safishamsi/graphify&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;safishamsi/graphify&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;把程式碼庫轉成知識圖譜，降低 Agent 重複讀檔案成本&lt;/td&gt;
          &lt;td&gt;大型程式碼庫使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;oh-my-pi&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/23/oh-my-pi-ai-coding-agent-terminal-ide-lsp-debugger/&#34; &gt;oh-my-pi 是什麼？一個把終端、IDE 和偵錯器打通的 AI 編程助手&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/can1357/oh-my-pi&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;can1357/oh-my-pi&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;把終端、IDE、LSP 和偵錯器連接起來，作為本機 AI 編程控制台&lt;/td&gt;
          &lt;td&gt;想把命令列和 IDE 工作流打通的開發者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Plugins Official&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/23/claude-plugins-official-claude-code-plugin-directory/&#34; &gt;Claude Code 也有外掛市場了：能裝什麼、怎麼裝、要注意什麼&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/anthropics/claude-plugins-official&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;anthropics/claude-plugins-official&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Claude Code 官方外掛目錄和安裝入口&lt;/td&gt;
          &lt;td&gt;想給 Claude Code 擴展能力的使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CodeGraph&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/23/codegraph-local-code-knowledge-graph-ai-coding-agent/&#34; &gt;CodeGraph 是什麼？給 Claude Code、Codex 和 Cursor 加一個本機程式碼地圖&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/colbymchenry/codegraph&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;colbymchenry/codegraph&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;為程式碼庫生成本機索引和關係圖，幫助 Coding Agent 理解專案&lt;/td&gt;
          &lt;td&gt;維護中大型程式碼庫的開發者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CC Switch&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/06/cc-switch-ai-cli-manager/&#34; &gt;CC Switch：一個桌面工具統一管理 Claude Code、Codex、Gemini CLI 和 OpenClaw&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/farion1231/cc-switch&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;farion1231/cc-switch&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;管理多個 AI CLI 工具和賬號/配置切換&lt;/td&gt;
          &lt;td&gt;同時使用多套 CLI 的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Warp&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/07/warpdotdev-warp-open-source-agentic-terminal/&#34; &gt;Warp 開源：從終端到 Agentic Development Environment&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/warpdotdev/warp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;warpdotdev/warp&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Agentic 終端與開發環境&lt;/td&gt;
          &lt;td&gt;終端重度使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;opencode&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/08/opencode-open-source-ai-coding-agent/&#34; &gt;opencode、Claude Code、Codex 有什麼區別？開源 AI 程式設計工具使用指南&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/anomalyco/opencode&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;anomalyco/opencode&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;開源 AI 程式設計 Agent&lt;/td&gt;
          &lt;td&gt;想找 Claude Code / Codex 替代品的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;9Router&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/08/9router-ai-coding-router-token-saver/&#34; &gt;9Router：把 Claude Code、Codex、Cursor 接到同一個 AI 路由器&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/decolua/9router&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;decolua/9router&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;AI 程式設計模型路由與 token 成本控制&lt;/td&gt;
          &lt;td&gt;多工具、多模型使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;goose&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/08/goose-open-source-ai-agent-desktop-cli-api/&#34; &gt;goose：桌面端、CLI 和 API 一體的開源 AI Agent&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/aaif-goose/goose&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;aaif-goose/goose&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;桌面、CLI、API 一體的開源 Agent&lt;/td&gt;
          &lt;td&gt;想要通用 Agent 工作臺的人&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;agent-技能與工作流&#34;&gt;Agent 技能與工作流
&lt;/h2&gt;&lt;p&gt;這一類更關注把 AI 能力固化成可重複的技能、流程和規格。共 &lt;strong&gt;7&lt;/strong&gt; 個專案。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;專案&lt;/th&gt;
          &lt;th&gt;文章&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;核心用途&lt;/th&gt;
          &lt;th&gt;適合人群&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;mattpocock/skills&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/15/matt-pocock-skills-ai-engineering-workflow/&#34; &gt;拒絕 Vibe Coding：Matt Pocock 的 skills 倉庫給 AI 程式設計補上工程約束&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/mattpocock/skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mattpocock/skills&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;用 Skills 約束 AI 程式設計流程&lt;/td&gt;
          &lt;td&gt;想給 Agent 加工程規範的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Superpowers&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/15/obra-superpowers-agentic-skills-framework/&#34; &gt;Superpowers：把 Coding Agent 拉回工程流程的技能框架&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/obra/superpowers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;obra/superpowers&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Agentic skills framework 與軟體開發方法論&lt;/td&gt;
          &lt;td&gt;想系統化使用 Coding Agent 的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Prompt-Vault&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/15/prompt-vault-coding-prompt-benchmark/&#34; &gt;Prompt-Vault：一個適合測試 AI 程式設計能力的 Prompt 規格庫&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/w512/Prompt-Vault&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;w512/Prompt-Vault&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;收集可測試 AI 程式設計能力的 prompt 規格&lt;/td&gt;
          &lt;td&gt;做模型/工具評測的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;web-video-presentation&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/15/web-video-presentation-agent-skill/&#34; &gt;web-video-presentation：把文章做成可錄屏網頁影片的 Agent Skill&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/ConardLi/garden-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ConardLi/garden-skills&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;把文章轉成可錄屏網頁影片的 Skill&lt;/td&gt;
          &lt;td&gt;內容創作者和自動化製作使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;nuwa-skill&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/04/22/nuwa-skill-distill-how-someone-thinks/&#34; &gt;nuwa-skill：把“蒸餾一個人”從靈感變成可執行流程&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/alchaincyf/nuwa-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;alchaincyf/nuwa-skill&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;用 Skill 復刻人物表達和思維流程&lt;/td&gt;
          &lt;td&gt;做風格化 Agent 的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Scientific Agent Skills&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/17/scientific-agent-skills/&#34; &gt;Scientific Agent Skills：把科研工作流交給 AI Agent 的技能庫&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/K-Dense-AI/scientific-agent-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;K-Dense-AI/scientific-agent-skills&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;科研工作流 Skill 集合&lt;/td&gt;
          &lt;td&gt;科研、資料分析和技術寫作使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;easy-vibe&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/16/easy-vibe-vibe-coding-learning-map/&#34; &gt;easy-vibe：給 Vibe Coding 初學者的一張學習地圖&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/datawhalechina/easy-vibe&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;datawhalechina/easy-vibe&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Vibe Coding 入門學習地圖&lt;/td&gt;
          &lt;td&gt;AI 程式設計新手&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;rag知識庫與記憶&#34;&gt;RAG、知識庫與記憶
&lt;/h2&gt;&lt;p&gt;這一類主要解決文件檢索、知識庫構建、長期記憶和結構化抽取問題。共 &lt;strong&gt;7&lt;/strong&gt; 個專案。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;專案&lt;/th&gt;
          &lt;th&gt;文章&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;核心用途&lt;/th&gt;
          &lt;th&gt;適合人群&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;LangExtract&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/google-langextract-llm-structured-data-extraction/&#34; &gt;Google LangExtract：用 LLM 從長文字里抽取結構化資料&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/google/langextract&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;google/langextract&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;從長文字中抽取結構化資訊&lt;/td&gt;
          &lt;td&gt;做資訊抽取和資料處理的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;qmd&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/qmd-markdown-search-for-ai-agents/&#34; &gt;qmd：給 AI Agent 使用的本地 Markdown 文件搜尋工具&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/tobi/qmd&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tobi/qmd&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;本地 Markdown 文件搜尋&lt;/td&gt;
          &lt;td&gt;用 Markdown 管理知識庫的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Firecrawl&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/04/15/firecrawl-ai-web-data-api/&#34; &gt;Firecrawl 專案整理：給 AI Agent 用的網頁搜尋、抓取與互動 API&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/firecrawl/firecrawl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;firecrawl/firecrawl&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;網頁抓取、搜尋和結構化資料入口&lt;/td&gt;
          &lt;td&gt;做 RAG 和 Agent 資料入口的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;RAGFlow&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/04/15/ragflow-rag-engine-guide/&#34; &gt;RAGFlow 專案整理：開源 RAG 引擎的功能與使用方法&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/infiniflow/ragflow&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;infiniflow/ragflow&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;開源 RAG 引擎&lt;/td&gt;
          &lt;td&gt;企業知識庫和文件問答使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;OpenHuman&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/15/openhuman-open-source-personal-ai-agent/&#34; &gt;OpenHuman 速讀：開源個人 AI Agent 的桌面化路線&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/tinyhumansai/openhuman&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tinyhumansai/openhuman&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;本地優先的個人 AI Agent 與記憶層&lt;/td&gt;
          &lt;td&gt;想整合個人資料的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;OpenKB&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/17/openkb-llm-knowledge-base/&#34; &gt;OpenKB：把文件編譯成可持續更新的 LLM 知識庫&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/VectifyAI/OpenKB&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VectifyAI/OpenKB&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;把文件編譯成可更新知識庫&lt;/td&gt;
          &lt;td&gt;文件知識庫維護者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;PageIndex&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/20/vectifyai-pageindex-vectorless-rag/&#34; &gt;PageIndex 是什麼？不用向量庫的推理式 RAG 文件索引解析&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/VectifyAI/PageIndex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VectifyAI/PageIndex&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;不依賴向量庫的推理式文件索引&lt;/td&gt;
          &lt;td&gt;關注 RAG 新路線的人&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;多模態與內容創作&#34;&gt;多模態與內容創作
&lt;/h2&gt;&lt;p&gt;這一類面向圖片、影片、語音轉寫和內容分發等創作場景。共 &lt;strong&gt;5&lt;/strong&gt; 個專案。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;專案&lt;/th&gt;
          &lt;th&gt;文章&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;核心用途&lt;/th&gt;
          &lt;th&gt;適合人群&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;rembg&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/04/19/rembg-background-removal-notes/&#34; &gt;rembg 專案整理：本地圖片背景移除工具&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/danielgatis/rembg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;danielgatis/rembg&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;本地圖片背景移除&lt;/td&gt;
          &lt;td&gt;電商、美工和圖片處理使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;awesome-gpt-image-2-prompts&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/02/awesome-gpt-image-2-prompts-case-index/&#34; &gt;GPT-Image 2 提示詞寶庫：電商、海報、人像、UI 全收錄&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/EvoLinkAI/awesome-gpt-image-2-prompts&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EvoLinkAI/awesome-gpt-image-2-prompts&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;GPT-Image 2 提示詞和案例庫&lt;/td&gt;
          &lt;td&gt;AI 繪圖和提示詞使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;faster-whisper&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/faster-whisper-speech-to-text/&#34; &gt;faster-whisper：更快的 Whisper 轉寫引擎&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/SYSTRAN/faster-whisper&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SYSTRAN/faster-whisper&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;高效能語音轉文字&lt;/td&gt;
          &lt;td&gt;做字幕、轉寫和語音處理的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Pixelle-Video&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/07/pixelle-video-ai-short-video-engine/&#34; &gt;Pixelle-Video：一句主題生成短影片的開源 AI 引擎&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/AIDC-AI/Pixelle-Video&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AIDC-AI/Pixelle-Video&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;一句話生成短影片工作流&lt;/td&gt;
          &lt;td&gt;短影片和 AIGC 內容創作者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;AiToEarn&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/19/aitoearn-ai-content-marketing-agent/&#34; &gt;內容發太多平臺太累？AiToEarn 想用 AI Agent 幫創作者省點事&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/yikart/AiToEarn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;yikart/AiToEarn&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;多平臺內容分發與創作者自動化&lt;/td&gt;
          &lt;td&gt;內容運營和創作者&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;本地模型與推理&#34;&gt;本地模型與推理
&lt;/h2&gt;&lt;p&gt;這一類關注本地模型執行和推理實驗，當前數量較少。共 &lt;strong&gt;1&lt;/strong&gt; 個專案。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;專案&lt;/th&gt;
          &lt;th&gt;文章&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;核心用途&lt;/th&gt;
          &lt;th&gt;適合人群&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;ds4&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/11/deepseek-v4-flash-ds4-metal/&#34; &gt;本地執行 DeepSeek 4：Antirez ds4 在 Apple Silicon Mac 上的嘗試&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/antirez/ds4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;antirez/ds4&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;在 Apple Silicon 上嘗試執行 DeepSeek 4&lt;/td&gt;
          &lt;td&gt;本地模型和推理實驗使用者&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;垂直應用與自動化&#34;&gt;垂直應用與自動化
&lt;/h2&gt;&lt;p&gt;這一類是把 Agent 或 AI 能力落到金融、交易、瀏覽器、桌面和電商監控等具體場景。共 &lt;strong&gt;7&lt;/strong&gt; 個專案。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;專案&lt;/th&gt;
          &lt;th&gt;文章&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;核心用途&lt;/th&gt;
          &lt;th&gt;適合人群&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;TradingAgents-CN&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/tradingagents-cn-multi-agent-financial-research-framework/&#34; &gt;TradingAgents-CN：面向中文使用者的多智慧體金融交易研究框架&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/hsliuping/TradingAgents-CN&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hsliuping/TradingAgents-CN&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;多智慧體金融交易研究框架&lt;/td&gt;
          &lt;td&gt;量化、金融和 Agent 研究者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;FinceptTerminal&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/finceptterminal-open-source-financial-terminal/&#34; &gt;FinceptTerminal：開源金融終端、量化研究和 AI Agent 工作臺&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Fincept-Corporation/FinceptTerminal&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fincept-Corporation/FinceptTerminal&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;金融終端、量化研究和 AI Agent 工作臺&lt;/td&gt;
          &lt;td&gt;金融分析和量化使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Anthropic financial-services&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/16/anthropic-financial-services-agent-templates/&#34; &gt;Anthropic financial-services：把金融 Agent 場景做成可複用模板&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/anthropics/financial-services&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;anthropics/financial-services&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;金融服務 Agent 模板&lt;/td&gt;
          &lt;td&gt;做金融 AI 方案的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ai-goofish-monitor&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/17/ai-goofish-monitor/&#34; &gt;ai-goofish-monitor：用 AI 自動盯閒魚商品的開源監控系統&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Usagi-org/ai-goofish-monitor&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Usagi-org/ai-goofish-monitor&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;AI 商品監控和閒魚自動化&lt;/td&gt;
          &lt;td&gt;二手交易監控使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CloakBrowser&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/19/cloakbrowser-stealth-chromium-browser-automation/&#34; &gt;CloakBrowser 是什麼？給 Playwright 和 Puppeteer 換一個更像真實使用者的瀏覽器&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/CloakHQ/CloakBrowser&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CloakHQ/CloakBrowser&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;更像真實使用者的瀏覽器自動化環境&lt;/td&gt;
          &lt;td&gt;瀏覽器自動化和 Agent 操作場景&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;UI-TARS-desktop&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/19/ui-tars-desktop-multimodal-ai-agent-stack/&#34; &gt;讓 AI 自己操作電腦？UI-TARS-desktop 把桌面、瀏覽器和工具都接了起來&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/bytedance/UI-TARS-desktop&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bytedance/UI-TARS-desktop&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;桌面、瀏覽器和工具操作 Agent&lt;/td&gt;
          &lt;td&gt;想讓 AI 操作電腦的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;AI-Trader&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/19/ai-trader-agent-native-trading-platform/&#34; &gt;AI-Trader 是什麼？一個讓 AI Agent 釋出交易訊號、做模擬交易的平臺&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/HKUDS/AI-Trader&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HKUDS/AI-Trader&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;AI Agent 交易訊號和模擬交易平臺&lt;/td&gt;
          &lt;td&gt;金融 Agent 與交易研究使用者&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;ai-應用開發基礎設施&#34;&gt;AI 應用開發基礎設施
&lt;/h2&gt;&lt;p&gt;這一類提供構建 AI 應用和 Agent 工具鏈所需的基礎元件。共 &lt;strong&gt;5&lt;/strong&gt; 個專案。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;專案&lt;/th&gt;
          &lt;th&gt;文章&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;核心用途&lt;/th&gt;
          &lt;th&gt;適合人群&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Prompt Optimizer&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/prompt-optimizer-prompt-engineering-tool/&#34; &gt;Prompt Optimizer：開源提示詞最佳化、測試與 MCP 工具&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;linshenkx/prompt-optimizer&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;提示詞最佳化、測試和 MCP 工具&lt;/td&gt;
          &lt;td&gt;做 prompt 工程和應用調參的人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Playwright CLI&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/04/12/playwright-cli-getting-started/&#34; &gt;Playwright CLI 使用入門：安裝、Skills、會話管理與常用命令&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/microsoft/playwright-cli&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;microsoft/playwright-cli&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;面向 coding agent 的瀏覽器自動化 CLI&lt;/td&gt;
          &lt;td&gt;需要瀏覽器操作能力的 Agent 使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Vercel AI SDK&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/17/vercel-ai-sdk-typescript-agent-toolkit/&#34; &gt;Vercel AI SDK 是什麼？TypeScript 開發者構建 AI 應用的統一工具包&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vercel/ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vercel/ai&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;TypeScript AI 應用開發 SDK&lt;/td&gt;
          &lt;td&gt;前端和全棧開發者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CLIProxyAPI&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/24/cliproxyapi-cli-to-api-gateway/&#34; &gt;CLIProxyAPI：把 Codex、Claude Code、Gemini CLI 統一封裝成 API&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/router-for-me/CLIProxyAPI&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;router-for-me/CLIProxyAPI&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;把多個 AI CLI 和 OAuth 登入狀態封裝成相容 API&lt;/td&gt;
          &lt;td&gt;想統一接入 Codex、Claude Code、Gemini CLI 的使用者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CLIProxyAPI Management Center&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/24/cliproxyapi-management-center/&#34; &gt;CLIProxyAPI Management Center：給 CLIProxyAPI 配一個視覺化管理後台&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/router-for-me/Cli-Proxy-API-Management-Center&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;router-for-me/Cli-Proxy-API-Management-Center&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;CLIProxyAPI 的 Web 管理介面，管理設定、帳號、日誌和 OAuth&lt;/td&gt;
          &lt;td&gt;把 CLIProxyAPI 當團隊閘道或帳號池使用的人&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        </item>
        <item>
        <title>DeepSeek V4 Flash 做 Godot 遊戲 Demo：幾毛錢能跑通到什麼程度？</title>
        <link>https://knightli.com/zh-tw/2026/05/06/deepseek-v4-flash-godot-game-demo/</link>
        <pubDate>Wed, 06 May 2026 09:22:18 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/06/deepseek-v4-flash-godot-game-demo/</guid>
        <description>&lt;p&gt;&lt;code&gt;DeepSeek V4 Flash&lt;/code&gt; 用來開發 Godot 遊戲 Demo，到底能不能打？&lt;/p&gt;
&lt;p&gt;重點很直接：它能不能做出一個可執行、可觀察、帶物理效果的 Godot 小 Demo。&lt;/p&gt;
&lt;p&gt;結論先說：可以跑通，效果不算商業級，但已經足夠作為玩法原型和物理互動 Demo 使用。更重要的是，成本非常低，適合快速驗證想法。&lt;/p&gt;
&lt;h2 id=&#34;demo-表現&#34;&gt;Demo 表現
&lt;/h2&gt;&lt;p&gt;這個 Demo 的重點是物理互動。&lt;/p&gt;
&lt;p&gt;幾個比較直觀的效果包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;繩子可以被切斷。&lt;/li&gt;
&lt;li&gt;箱子會掉到地上。&lt;/li&gt;
&lt;li&gt;調大質量後，箱子碰撞會更猛烈。&lt;/li&gt;
&lt;li&gt;繩子表現出比較明顯的彈性。&lt;/li&gt;
&lt;li&gt;調整摩擦力和彈性後，箱子會出現明顯的滑動和反彈。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;從呈現效果看，它已經不是「只生成幾段 Godot 腳本」那麼簡單，而是一個能執行、能觀察物理表現的小型原型。&lt;/p&gt;
&lt;h2 id=&#34;可用程度&#34;&gt;可用程度
&lt;/h2&gt;&lt;p&gt;這個 Demo 的價值在於「能跑、能看、能改」。它不是完整遊戲，也不是可以直接商業化的工程，但已經能說明幾個問題：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DeepSeek V4 Flash&lt;/code&gt; 能理解 Godot Demo 的基本目標。&lt;/li&gt;
&lt;li&gt;AI Agent 可以把需求轉成可執行工程。&lt;/li&gt;
&lt;li&gt;Godot 物理互動這種非網頁類任務，已經可以進入低成本原型階段。&lt;/li&gt;
&lt;li&gt;對個人開發者來說，它能把「想法」快速變成「能看的東西」。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果目標是做一個正式遊戲，它當然還不夠；但如果目標是驗證「這個玩法有沒有意思」「物理效果大概能不能做出來」，這個 Demo 已經可用。&lt;/p&gt;
&lt;h2 id=&#34;成本意義&#34;&gt;成本意義
&lt;/h2&gt;&lt;p&gt;最值得關注的不是畫面有多精緻，而是成本。&lt;/p&gt;
&lt;p&gt;如果一個 Godot 物理 Demo 只需要幾毛錢級別的模型成本，就能得到一個可執行版本，那麼它的意義就不是替代專業遊戲開發，而是大幅降低原型試錯成本。&lt;/p&gt;
&lt;p&gt;以前想驗證一個小遊戲想法，至少需要自己熟悉 Godot、寫腳本、調場景、調物理參數。現在可以先讓 AI Agent 生成一個可執行版本，再由人判斷方向對不對。&lt;/p&gt;
&lt;p&gt;對獨立開發者來說，這類低成本試錯很有用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;快速驗證玩法概念。&lt;/li&gt;
&lt;li&gt;生成臨時 Demo 給別人看。&lt;/li&gt;
&lt;li&gt;探索 Godot API 和物理系統。&lt;/li&gt;
&lt;li&gt;把想法轉成能跑的初版工程。&lt;/li&gt;
&lt;li&gt;在不確定方向前減少手寫程式碼成本。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;deepseek-v4-flash-的表現&#34;&gt;DeepSeek V4 Flash 的表現
&lt;/h2&gt;&lt;p&gt;比較值得注意的是，使用的是 &lt;code&gt;DeepSeek V4 Flash&lt;/code&gt;，而不是更貴、更重的旗艦模型。&lt;/p&gt;
&lt;p&gt;它在「低成本原型」這個定位上表現不錯。它不是最強、最穩、最適合交付生產工程的模型，但在預算敏感、想快速試一下方向的場景裡，很有吸引力。&lt;/p&gt;
&lt;h2 id=&#34;適合什麼場景&#34;&gt;適合什麼場景
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;DeepSeek V4 Flash + Agent + Godot&lt;/code&gt; 更適合下面這些任務：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;小型玩法原型。&lt;/li&gt;
&lt;li&gt;物理效果 Demo。&lt;/li&gt;
&lt;li&gt;UI 或互動概念驗證。&lt;/li&gt;
&lt;li&gt;教學示例。&lt;/li&gt;
&lt;li&gt;輔助理解 Godot 專案結構。&lt;/li&gt;
&lt;li&gt;生成第一版可執行工程。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不太適合直接承擔這些任務：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;大型遊戲架構。&lt;/li&gt;
&lt;li&gt;複雜角色控制器。&lt;/li&gt;
&lt;li&gt;網路同步。&lt;/li&gt;
&lt;li&gt;商業專案核心程式碼。&lt;/li&gt;
&lt;li&gt;高精度物理模擬。&lt;/li&gt;
&lt;li&gt;不經過人工測試的自動提交。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;換句話說，它適合做「第一稿」和「試驗場」，不適合當生產工程負責人。&lt;/p&gt;
&lt;h2 id=&#34;這說明了什麼&#34;&gt;這說明了什麼
&lt;/h2&gt;&lt;p&gt;這說明，AI 程式設計正在從網頁、腳本、後端介面，繼續向遊戲開發和互動原型擴展。&lt;/p&gt;
&lt;p&gt;過去遊戲開發的門檻很高，尤其是引擎、腳本、資源管理和物理系統混在一起時，新手很容易卡住。現在模型加 Agent 工具，可以先把工程搭起來，讓開發者把注意力放在玩法判斷和效果調優上。&lt;/p&gt;
&lt;p&gt;它帶來的變化可能有三點：&lt;/p&gt;
&lt;p&gt;第一，遊戲原型會更便宜。很多想法不用等到完整開發階段才驗證，可以先得到可執行 Demo。&lt;/p&gt;
&lt;p&gt;第二，獨立開發者會更敢嘗試。不會 Godot 的人，也可以借助 AI 先摸到專案結構和基本流程。&lt;/p&gt;
&lt;p&gt;第三，模型穩定性會變得更重要。遊戲開發不是只要程式碼能跑，還要效果合理、手感正常、參數可控。未來誰能更好地結合實際畫面和執行狀態，誰就更適合做這類任務。&lt;/p&gt;
&lt;h2 id=&#34;小結&#34;&gt;小結
&lt;/h2&gt;&lt;p&gt;DeepSeek V4 Flash 做 Godot Demo，可以概括成一句話：&lt;strong&gt;效果不完美，但足夠便宜、足夠快，也足夠適合做原型。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;它離商業遊戲還很遠，但如果目標是用極低成本驗證一個小遊戲想法，它已經很有價值。&lt;/p&gt;
&lt;p&gt;對個人開發者來說，最現實的用法不是把遊戲全交給 AI，而是讓 AI 先給出能跑的工程，再由人負責判斷、取捨和打磨。這樣用，DeepSeek V4 Flash 這類低成本模型反而會很香。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>用測試和行為描述約束 AI 寫程式，少堆史山</title>
        <link>https://knightli.com/zh-tw/2026/05/05/ai-coding-tdd-bdd/</link>
        <pubDate>Tue, 05 May 2026 14:35:38 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/05/ai-coding-tdd-bdd/</guid>
        <description>&lt;p&gt;用 AI 寫程式時，最容易出現的體驗是：前期很快，後期很亂。功能剛開始能迅速搭起來，但專案一大、修改次數一多，就會出現一個 bug 改完又冒出三個 bug 的情況。&lt;/p&gt;
&lt;p&gt;這不完全是 AI 的問題。很多人寫程式也會這樣，只是 AI 寫得更快，問題暴露得也更快。要減少這種失控，關鍵不是讓 AI「更努力」，而是給它更清楚的邊界：先說明什麼結果算對，再讓它寫實作。&lt;/p&gt;
&lt;p&gt;TDD 和 BDD 就適合放到 AI 程式設計流程裡。TDD 負責把「對不對」變成自動測試，BDD 負責把「是不是我要的功能」變成人能看懂的行為描述。兩者結合，可以讓 AI 少猜、少自由發揮，也更容易被檢查。&lt;/p&gt;
&lt;h2 id=&#34;tdd-解決什麼問題&#34;&gt;TDD 解決什麼問題
&lt;/h2&gt;&lt;p&gt;TDD 是 Test Driven Development，也就是測試驅動開發。它的基本順序是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先寫測試。&lt;/li&gt;
&lt;li&gt;執行測試，確認它現在失敗。&lt;/li&gt;
&lt;li&gt;再寫功能程式碼。&lt;/li&gt;
&lt;li&gt;持續修改實作，直到測試通過。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;這和很多人習慣的做法相反。平時寫一個排序函式，直覺上會先寫函式，再隨便輸入幾個數字看看結果對不對。TDD 則要求先把預期寫成測試，例如輸入 &lt;code&gt;[3, 1, 2]&lt;/code&gt; 時應該得到 &lt;code&gt;[1, 2, 3]&lt;/code&gt;，輸入空陣列時應該回傳空陣列，輸入包含重複數字時結果也應該正確。&lt;/p&gt;
&lt;p&gt;這樣做的意義是：開發開始前，正確結果已經被定義清楚了。後面無論誰改程式碼，只要重新跑測試，就能知道有沒有破壞之前約定好的行為。&lt;/p&gt;
&lt;h2 id=&#34;為什麼-tdd-以前不容易堅持&#34;&gt;為什麼 TDD 以前不容易堅持
&lt;/h2&gt;&lt;p&gt;TDD 聽起來很美，但在真實專案裡並不容易長期執行。&lt;/p&gt;
&lt;p&gt;一是它反直覺。面對一個空檔案時，很多人更想先把功能寫出來，而不是先寫測試。尤其需求還不清楚時，測試案例也很難落筆。&lt;/p&gt;
&lt;p&gt;二是需求變化快。今天認真寫下的十幾個測試，明天需求一改，可能就要大面積重寫。短期看，它會讓開發節奏變慢。&lt;/p&gt;
&lt;p&gt;三是測試本身也需要成本。測試程式碼不是憑空出現的，過去它需要工程師自己寫、自己維護、自己解釋價值。對只看短期交付速度的團隊來說，這件事很容易被壓掉。&lt;/p&gt;
&lt;p&gt;但 AI 改變了這個成本結構。把需求轉成測試程式碼，恰好是 AI 很擅長的工作。讓 AI 根據測試去補實作，也比讓它對著一段模糊描述自由發揮可靠得多。&lt;/p&gt;
&lt;h2 id=&#34;ai-寫程式時怎麼用-tdd&#34;&gt;AI 寫程式時怎麼用 TDD
&lt;/h2&gt;&lt;p&gt;使用 AI 寫功能時，可以把提示方式從「幫我實作這個功能」改成下面這個順序：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;讓 AI 先根據需求列出測試案例。&lt;/li&gt;
&lt;li&gt;要求每個測試案例都有中文說明。&lt;/li&gt;
&lt;li&gt;先 review 測試案例是否符合真實需求。&lt;/li&gt;
&lt;li&gt;確認測試後，再讓 AI 寫功能實作。&lt;/li&gt;
&lt;li&gt;要求 AI 執行測試，並根據失敗結果繼續修正。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;這時，人主要 review 的不是一大段實作程式碼，而是測試是否說清楚了需求。測試案例通常更接近「輸入是什麼、輸出應該是什麼、邊界情況怎麼處理」，比直接讀實作邏輯輕鬆很多。&lt;/p&gt;
&lt;p&gt;例如可以這樣要求 AI：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;先不要實作功能。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;請根據下面的需求編寫測試案例，每個測試案例用中文註解說明覆蓋的業務規則。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;測試確認後，再根據測試實作程式碼。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;這個流程能減少兩類常見問題：一類是 AI 寫著寫著偏題，另一類是後續修改時把舊功能改壞。&lt;/p&gt;
&lt;h2 id=&#34;tdd-還不夠&#34;&gt;TDD 還不夠
&lt;/h2&gt;&lt;p&gt;只有 TDD 仍然有兩個缺口。&lt;/p&gt;
&lt;p&gt;第一個缺口是：測試都通過，不等於產品真的符合預期。測試只能證明程式碼滿足了測試裡寫下的規則。如果測試本身沒有表達清楚使用者需求，程式碼仍然可能「正確地做錯事」。&lt;/p&gt;
&lt;p&gt;第二個缺口是：測試程式碼對非技術使用者仍然不友好。哪怕有中文註解，很多人還是不願意閱讀一堆單元測試。需求越偏產品體驗，越難直接從測試程式碼裡確認「這是不是我要的東西」。&lt;/p&gt;
&lt;p&gt;這時就需要 BDD。&lt;/p&gt;
&lt;h2 id=&#34;bdd-解決什麼問題&#34;&gt;BDD 解決什麼問題
&lt;/h2&gt;&lt;p&gt;BDD 是 Behavior Driven Development，也就是行為驅動開發。它關注的不是程式碼內部怎麼寫，而是系統在某個場景下應該表現出什麼行為。&lt;/p&gt;
&lt;p&gt;BDD 常用的描述方式是 Given / When / Then：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Given&lt;/code&gt;：給定某個前置狀態。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;When&lt;/code&gt;：當使用者或系統執行某個動作。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Then&lt;/code&gt;：應該得到某個結果。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例如一個帶吸血效果的遊戲角色，可以這樣描述：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Given 棋盤上有一個剩餘 1 點生命、攻擊力為 2、最大生命為 5 的吸血鬼
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;And 相鄰格子有一個剩餘 10 點生命的敵方單位
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;When 吸血鬼攻擊這個敵方單位
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Then 敵方單位剩餘 8 點生命
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;And 吸血鬼恢復到 3 點生命
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;這段話不是程式碼，但它比「攻擊敵人時恢復生命」精確得多。它說明了初始狀態、動作和結果，也暴露出後續需要補充的問題：如果敵人只剩 1 點血，吸血鬼按造成傷害恢復，還是按攻擊力恢復？如果吸血鬼已經滿血，溢出的治療怎麼處理？&lt;/p&gt;
&lt;p&gt;這些問題越早被問出來，AI 後面越不容易亂猜。&lt;/p&gt;
&lt;h2 id=&#34;為什麼-bdd-很適合-ai&#34;&gt;為什麼 BDD 很適合 AI
&lt;/h2&gt;&lt;p&gt;BDD 過去推行成本也不低。它要求產品、開發、測試用同一套行為描述溝通，而現實裡很多團隊並沒有這種協作習慣。&lt;/p&gt;
&lt;p&gt;但 AI 時代，BDD 的成本下降了。你只需要先寫一句粗略需求，例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;吸血鬼攻擊敵人後，恢復與造成傷害等量的生命值。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然後讓 AI 生成 Given / When / Then 場景。做得好的 AI 會主動補充邊界情況，並追問不明確的規則。你需要做的是確認這些行為描述，而不是直接讀實作程式碼。&lt;/p&gt;
&lt;p&gt;一旦行為描述確認清楚，再讓 AI 把它轉換成測試程式碼，最後根據測試實作功能，路徑就順了很多。&lt;/p&gt;
&lt;h2 id=&#34;一套更穩的-ai-程式設計流程&#34;&gt;一套更穩的 AI 程式設計流程
&lt;/h2&gt;&lt;p&gt;實際使用時，可以把 BDD 和 TDD 串起來：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先用自然語言寫需求。&lt;/li&gt;
&lt;li&gt;讓 AI 轉成 BDD 行為場景。&lt;/li&gt;
&lt;li&gt;人確認 Given / When / Then 是否符合預期。&lt;/li&gt;
&lt;li&gt;讓 AI 把行為場景轉換成自動測試。&lt;/li&gt;
&lt;li&gt;人快速 review 測試覆蓋範圍。&lt;/li&gt;
&lt;li&gt;讓 AI 實作功能。&lt;/li&gt;
&lt;li&gt;執行測試，失敗就讓 AI 根據錯誤繼續修正。&lt;/li&gt;
&lt;li&gt;最後再做一次人工驗收和程式碼 review。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;這裡的關鍵是順序。不要一開始就讓 AI 寫完整實作，而是先讓它把需求變成可確認的行為，再變成可執行的測試。這樣 AI 的自由發揮空間會小很多。&lt;/p&gt;
&lt;p&gt;可以直接使用類似這樣的提示詞：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;請按 BDD + TDD 的流程處理這個需求。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;第一步：先把需求整理成 Given / When / Then 行為場景，不要寫程式碼。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;第二步：列出你發現的不明確規則，並向我確認。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;第三步：在行為場景確認後，再把它們轉換成測試案例。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;第四步：測試確認後，再實作功能。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;第五步：執行測試，根據失敗結果修復，直到測試通過。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;這類提示詞不複雜，但能明顯改變 AI 的工作方式。它會先收斂需求，再進入實作，而不是一上來就寫一堆看似完整、實際難以驗證的程式碼。&lt;/p&gt;
&lt;h2 id=&#34;適合優先使用的場景&#34;&gt;適合優先使用的場景
&lt;/h2&gt;&lt;p&gt;BDD + TDD 不一定適合所有任務。對於一次性腳本、臨時資料處理、小範圍樣式調整，完整流程可能太重。&lt;/p&gt;
&lt;p&gt;它更適合這些場景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;業務規則多，容易理解錯。&lt;/li&gt;
&lt;li&gt;邊界條件多，後續還會持續修改。&lt;/li&gt;
&lt;li&gt;遊戲、計費、權限、狀態機、表單驗證等邏輯密集功能。&lt;/li&gt;
&lt;li&gt;需要多人協作確認需求。&lt;/li&gt;
&lt;li&gt;程式碼將長期維護，不只是一次性生成。&lt;/li&gt;
&lt;li&gt;已經出現「AI 越改越亂」的專案。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果只是讓 AI 改一個按鈕文案，不必上完整流程。但如果要做一套角色技能系統、訂單狀態流轉、權限判斷、積分規則，先寫行為場景和測試會更划算。&lt;/p&gt;
&lt;h2 id=&#34;使用時注意什麼&#34;&gt;使用時注意什麼
&lt;/h2&gt;&lt;p&gt;第一，測試不是越多越好。測試應該覆蓋關鍵規則和高風險邊界，而不是把實作細節全部鎖死。否則需求稍微變化，測試就會變成維護負擔。&lt;/p&gt;
&lt;p&gt;第二，BDD 場景要寫具體。不要寫「系統應該正常工作」「體驗應該流暢」這類無法驗證的描述。要寫清楚給定什麼狀態、發生什麼動作、結果應該是什麼。&lt;/p&gt;
&lt;p&gt;第三，人仍然要 review。AI 可以生成測試和行為場景，但它不知道你真正想要的產品取捨。尤其是邊界規則，必須由人確認。&lt;/p&gt;
&lt;p&gt;第四，測試通過後還要實際執行功能。自動測試能兜住邏輯問題，但介面體驗、效能、互動細節、使用者感受仍然需要人工驗收。&lt;/p&gt;
&lt;h2 id=&#34;小結&#34;&gt;小結
&lt;/h2&gt;&lt;p&gt;AI 寫程式快，但快不等於穩。越是複雜需求，越不能只靠一句「幫我實作」。更好的方式是先把需求拆成可確認的行為，再把行為變成可執行的測試，最後讓 AI 按測試實作程式碼。&lt;/p&gt;
&lt;p&gt;TDD 讓 AI 知道什麼結果算對，BDD 讓人更容易確認這是不是自己想要的功能。兩者合起來，不是為了增加儀式感，而是為了減少 AI 的猜測空間，把「寫得快」變成「改得穩」。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Claude Code 的 HERMES.md 計費故障是怎麼回事</title>
        <link>https://knightli.com/zh-tw/2026/05/02/claude-code-hermes-md-billing-incident/</link>
        <pubDate>Sat, 02 May 2026 11:19:23 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/02/claude-code-hermes-md-billing-incident/</guid>
        <description>&lt;p&gt;Claude Code 最近有一次很典型的計費故障：使用者只是啟動 CLI，還沒有正式發出請求，就因為本機 &lt;code&gt;HERMES.md&lt;/code&gt; 檔案被讀取而產生了大額費用。&lt;/p&gt;
&lt;p&gt;這件事值得單獨看，不是因為某個使用者損失了多少錢，而是因為它暴露了 AI 程式設計工具的一個新風險：只要工具會自動讀取上下文，本機檔案就可能變成真實 token 成本。&lt;/p&gt;
&lt;h2 id=&#34;發生了什麼&#34;&gt;發生了什麼
&lt;/h2&gt;&lt;p&gt;公開 issue 顯示，使用者在工作目錄裡放了一個很大的 &lt;code&gt;HERMES.md&lt;/code&gt; 檔案。啟動 Claude Code 後，CLI 會掃描並載入專案上下文。問題在於，這個檔案被自動納入上下文，並被計入 API 使用量。&lt;/p&gt;
&lt;p&gt;使用者並沒有明確要求模型處理這份檔案，但計費已經發生。更麻煩的是，這類行為發生在工具初始化或上下文準備階段，使用者不一定能第一時間意識到費用正在產生。&lt;/p&gt;
&lt;p&gt;Anthropic 後續在 issue 中回覆，表示會退還異常費用，並額外提供額度補償。這個回應說明問題至少已被官方確認和處理，但它仍然提醒使用者：AI CLI 的「自動上下文」不是免費的。&lt;/p&gt;
&lt;h2 id=&#34;hermesmd-為什麼會觸發問題&#34;&gt;HERMES.md 為什麼會觸發問題
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;HERMES.md&lt;/code&gt; 本身不是重點。它可以換成任何大檔案：長日誌、匯出的文件、測試資料、資料庫 dump、生成報告，都可能造成類似問題。&lt;/p&gt;
&lt;p&gt;真正的問題在於三件事疊加：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Claude Code 會自動讀取專案上下文。&lt;/li&gt;
&lt;li&gt;被讀取的檔案可能很大。&lt;/li&gt;
&lt;li&gt;上下文 token 會進入計費鏈路。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果一個檔案足夠大，哪怕只是被工具「順手帶上」，也可能產生明顯費用。對按 token 計費的模型來說，自動化越強，越需要明確邊界。&lt;/p&gt;
&lt;h2 id=&#34;這不是普通-bug&#34;&gt;這不是普通 bug
&lt;/h2&gt;&lt;p&gt;普通 CLI bug 可能只是命令失敗、輸出錯誤或功能不可用。計費 bug 更敏感，因為它直接影響使用者帳單。&lt;/p&gt;
&lt;p&gt;對 AI 程式設計工具來說，計費邊界很容易變模糊：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;系統提示會消耗 token。&lt;/li&gt;
&lt;li&gt;專案規則會消耗 token。&lt;/li&gt;
&lt;li&gt;自動讀取的檔案會消耗 token。&lt;/li&gt;
&lt;li&gt;工具調用結果會消耗 token。&lt;/li&gt;
&lt;li&gt;重試、壓縮、摘要也可能繼續消耗 token。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;使用者看到的是一次「啟動工具」或「一次對話」，後臺實際可能已經發生多次請求和大量上下文傳輸。&lt;/p&gt;
&lt;h2 id=&#34;使用者應該怎麼防&#34;&gt;使用者應該怎麼防
&lt;/h2&gt;&lt;p&gt;如果你使用 Claude Code、Codex、Cline 這類 AI 程式設計工具，可以先做幾件事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;不要把大檔案直接放在專案根目錄。&lt;/li&gt;
&lt;li&gt;把日誌、匯出資料、構建產物、臨時檔案加入忽略規則。&lt;/li&gt;
&lt;li&gt;檢查工具是否支援類似 &lt;code&gt;.ignore&lt;/code&gt;、上下文排除、檔案白名單的配置。&lt;/li&gt;
&lt;li&gt;開啟預算提醒或用量限制。&lt;/li&gt;
&lt;li&gt;第一次在大型倉庫執行前，先用小目錄測試。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果倉庫裡必須保留大檔案，最好明確告訴工具不要讀取它們。專案規則裡也可以寫清楚：不要主動讀取日誌、dump、資料集、歸檔檔案和大體積 Markdown。&lt;/p&gt;
&lt;h2 id=&#34;工具廠商該怎麼改&#34;&gt;工具廠商該怎麼改
&lt;/h2&gt;&lt;p&gt;這類問題不能只靠使用者小心。工具本身也應該給出硬邊界。&lt;/p&gt;
&lt;p&gt;更合理的設計包括：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;初始化階段不應隱式計入大檔案。&lt;/li&gt;
&lt;li&gt;自動讀取超大檔案前要提示使用者確認。&lt;/li&gt;
&lt;li&gt;CLI 應顯示本次請求預估 token 和費用區間。&lt;/li&gt;
&lt;li&gt;預設忽略常見大檔案和生成目錄。&lt;/li&gt;
&lt;li&gt;對異常 token 激增設定保護閾值。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;AI 程式設計工具越像「自動代理」，越需要把成本透明化。否則使用者很難判斷一次操作到底會產生多少費用。&lt;/p&gt;
&lt;h2 id=&#34;小結&#34;&gt;小結
&lt;/h2&gt;&lt;p&gt;Claude Code 的 &lt;code&gt;HERMES.md&lt;/code&gt; 計費故障，本質上是自動上下文和按量計費之間的衝突。&lt;/p&gt;
&lt;p&gt;對使用者來說，最重要的是把專案上下文管住：大檔案不要預設暴露給 AI 工具，預算和用量也要設上限。對工具廠商來說，自動讀取檔案必須配套可見的成本提示和保護機制。&lt;/p&gt;
&lt;p&gt;參考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/anthropics/claude-code/issues/53262&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/anthropics/claude-code/issues/53262&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.anthropic.com/en/docs/claude-code/costs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://docs.anthropic.com/en/docs/claude-code/costs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.anthropic.com/pricing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://www.anthropic.com/pricing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
