Resource2Skill 想解決的,不是「讓 AI 看完一支影片」而已,而是把 YouTube 教學、GitHub repo、文章與範例檔裡的操作知識,整理成 Agent 下次能搜尋、引用、組合與執行的 Skill Wiki。如果你曾經把同一份教學反覆貼給 Agent,卻發現它每次都要重新理解、步驟也不穩定,這套由 Microsoft Research 公開的研究原型,提供了一個很值得學的方法。
但先拆掉最容易誤會的一句話:截至 2026 年 7 月 24 日的官方 main 與 CLI,未提供把任意網址一鍵輸出成標準 SKILL.md 的功能。官方原生產物是自訂的多模態 Skill Wiki;單支 YouTube 指令只會先產出 Markdown 分析。本文會把官方功能與 AlphaLab 額外設計的 SKILL.md 打包步驟分開,讓你知道哪裡能自動化、哪裡仍必須人工驗證。
先講結論:Resource2Skill 值得學什麼?
- Resource 是原始素材;它可能很完整,卻不是 Agent 可穩定重用的操作單元。
- Skill Wiki 把文字、畫面、程式碼、工具需求、分類與來源綁在一起,供 Agent 先檢索再執行。
- 可執行不等於正確:官方 smoke test 主要證明結構能跑,不能代替真實任務驗收。
- SKILL.md 是額外相容層:你可以手動映射成 Agent Skills 格式,但這不是官方一鍵輸出。

Resource、Evidence、Skill 到底差在哪裡?
最簡單的分法是:Resource 是教材,Skill 是經過整理、可以在工作時取用的操作單元。一支教學影片可能同時示範安裝、設定、除錯與完成作品;一個 repo 也可能混有 README、API、範例與測試。它們都不是一個 Skill 對一個 Resource,而是同一份素材可能拆成多個技能。
本文用 Evidence(可追溯證據) 當中間概念,指從素材擷取出的關鍵影格、程式碼區段、說明段落與成品範例。這個詞是為了幫初學者理解,不是論文另定義的正式層級。論文的正式管線是 construction、organization、selection、execution:先建造、再整理,工作時選取,最後才執行。
因此,一個可用 Skill 至少應回答四件事:要做哪些步驟、會用到哪些工具、依據來自哪裡、怎麼證明結果正確。這也和我們在 AI Agent Harness 一文強調的觀念相同:模型只是大腦,真正決定 Agent 穩不穩定的,還有工具、狀態、驗證與安全邊界。
Resource2Skill 怎麼運作?四個階段拆解

1. Construction:把多種素材蒸餾成候選 Skill
系統可以處理四類資源:教學影片、原始碼 repo、文章/文件、參考成品。它會抽出影片關鍵影格、AST-aware 的程式碼區段、文章段落與成品畫面,再交給視覺語言模型整理成結構化資料。這裡比較接近「蒸餾與正規化」,不是把整支影片原封不動塞進長期記憶。
2. Organization:通過閘門,再放進 Skill Wiki
論文設計了完整性、來源可追溯、去重、模態檔案一致性與結構可執行性等閘門。每個條目可包含文字說明、視覺參考、可調整的程式碼與 metadata;沒有可靠程式碼的項目也能保留成 reference-only。重點是:provenance 只代表能回到來源,不代表來源本身正確、最新或授權無虞。
3. Selection:先搜尋候選,再讓模型挑最多五個
工作開始時,系統先用名稱、標籤、適用情境與分類路徑做 BM25 檢索,再讓模型閱讀候選並選出最多五個完整 Skill,也可以一個都不選。這比每次讓 Agent 在幾十萬字素材裡盲找,更接近「先找工具,再讀說明」。但論文沒有做等 token 預算的原始素材重讀對照,所以不能直接宣稱一定更省錢。
4. Execution:透過 MCP 工具讀取、套用與組合
Agent 可透過 MCP 搜尋 Skill、讀文字、看視覺、取程式碼與套用 recipe。若條目有可執行程式碼,系統可直接呼叫;只有參考證據時,Agent 仍需自己寫出操作。這個設計和 從零打造 AI Agent Harness 的分層思路很接近:技能庫負責提供可重用知識,domain adapter 與工具層負責真正改動檔案或軟體。
Resource2Skill 的輸出不是 SKILL.md
截至 2026 年 7 月 24 日,官方 repo 的原生條目大致長這樣:
skills_wiki/<domain>/<skill_id>/
├── meta.json
├── text/
│ └── overview.md
├── visual/ # 可選
├── code/ # 可選
└── source/ # schema 預留/可選
meta.json 會記錄 skill ID、名稱、分類、license、來源、有哪些模態,以及 exec_ok。不過 exec_ok 可能是 true、false 或 null;影片條目也可能只有文字與影格,沒有獨立的 code/skill.py。因此,「進入 Wiki」與「已驗證能完成任務」是兩件不同的事。
官方公開 runtime 目前提供 Web、PowerPoint、Excel、Blender、Reaper 五個 domain;論文評估另含 CAD 與 UE5,共七個領域。不要把論文實驗範圍,誤寫成公開 quickstart 已完整支援七個 domain。想看實際資料結構,可直接瀏覽 Microsoft 的 Resource2Skill Dataset。
安裝 Resource2Skill:先從 Web domain 開始
這是研究軟體,不是按一下就能用的消費級 App。最小起點是 Python 3.11、獨立虛擬環境與官方 repo。不要直接在裝有工作憑證、私有 repo 或個人文件的主力環境測試生成程式碼。
git clone https://github.com/microsoft/Resource2Skill.git
cd Resource2Skill
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
# Web domain 額外需要瀏覽器
python -m playwright install chromium
python cli.py domains
python cli.py validate-domain --domain web
若要跑官方 Agent 範例,README 使用 Azure OpenAI endpoint/API key 或 AAD;若要分析 YouTube,還要設定 GEMINI_API_KEY。GitHub connector 另需 GITHUB_TOKEN。影片下載與抽幀的程式路徑還會呼叫 yt-dlp、ffmpeg,而 PowerPoint、Reaper、Blender 各有 LibreOffice、FluidSynth/soundfont、bpy 等額外依賴。最新細節應以 官方 README 與原始碼 為準。
成本提醒:repo 裡的 budget 主要限制呼叫次數與執行時間,不是美元 hard cap。Google 文件指出影片在預設取樣下,影像、音訊與 metadata 合計約為每秒 300 tokens;十分鐘影片約 18 萬 tokens,尚未計入文字提示、模型輸出、推理、重試與後續 Agent 執行。先用短片、最小 quota、固定模型,並在供應商端設定帳務警示。
實作一:精確分析一支 YouTube 教學
目前最容易控制的入口,是對一支公開 YouTube 影片執行 analyze。先在 `.env` 放入 Gemini key,再執行:
python cli.py analyze \
--domain web \
--video "https://www.youtube.com/watch?v=VIDEO_ID" \
--model gemini-2.5-flash \
-o resource2skill-output.md
你會得到一份 Markdown 分析,通常包含操作步驟、視覺觀察與可重現的程式碼草稿。它還不是 Skill Wiki 條目,也不是 SKILL.md。接下來至少要人工檢查:步驟有沒有漏掉前置條件、程式碼是否對應畫面、連結與時間戳能否回到來源、是否混入影片中的提示注入文字,以及你是否有權重用該內容。
若要一次分析多支已知影片,可用 batch --urls;若要讓 collector 搜尋並建立 Wiki 候選,則可從極小 quota 開始:
python cli.py collect \
--domain web \
--cycle-quota 1 \
--source-mix youtube=1,github=0,article=0,static_artifact=0 \
--queries 1 \
--videos 1 \
--json
注意:collector 會從 query pool 搜尋影片,不保證就是你指定的那支;而且不要把沒有 --cycle-quota 的長時間收集模式當成初學範例。先限制範圍,確認輸出和成本,再逐步放大。
實作二:GitHub repo 與文章怎麼接?
論文把 source repo 與文章列為資源類型,公開程式也有對應 connector;但截至 2026 年 7 月 24 日,官方頂層 CLI 的參數列表未提供通用的 --github-url 或 --article-url。GitHub 路徑偏向用 query 搜尋 repo、讀 description/README 與選定檔案,並做 license allowlist;文章路徑則讀取 domain 設定中的 article_urls。換句話說,它們是可程式化的收集器,不是任意網址轉換器。
- GitHub:先用專用、最小權限 token;固定允許的組織/repo,人工確認根目錄 license 與第三方資產授權。
- 文章:把核准 URL 寫進自訂 domain 設定;擷取後比較原文,避免導覽、廣告或惡意指令被當成步驟。
- 靜態檔案:只放你擁有或獲准使用的簡報、試算表、HTML、Blender 或音訊檔,並在隔離目錄處理。
如果你的真正需求是打造跨工具的個人 Agent,而不是維護研究型 Wiki,可以先讀 個人 AI Agent 的架構觀念,再決定 Resource2Skill 應放在「技能蒸餾」層,還是只作為一次性的研究工具。
把 Skill Wiki 封裝成 SKILL.md:AlphaLab 相容做法
如果你的 Agent 支援開放的 Agent Skills 規格,可以把通過人工審查的 Wiki 條目再包成下列資料夾。這是 AlphaLab 建議的人工映射,不是 Resource2Skill 官方 exporter:
css-bento-dashboard/
├── SKILL.md
├── scripts/
│ └── build.py
├── references/
│ └── provenance.md
└── assets/
└── expected-result.png
- 把
text/overview.md攫取為SKILL.md主體,但重寫觸發時機、前置條件、輸入、輸出與停止條件。 - 只把已讀過、已在隔離環境執行的
code/放進scripts/,刪除不必要的網路、檔案與 shell 權限。 - 把視覺參考放進
assets/;把原始 URL、版本、擷取日期、license 與修改紀錄放進references/provenance.md。 - 在
SKILL.md加入 Agent Skills frontmatter,並用一句具體描述告訴 Agent 何時該載入。
---
name: css-bento-dashboard
description: Build or revise a responsive bento-style dashboard when the task requires CSS Grid, explicit breakpoints, and a visual acceptance check.
---
# CSS Bento Dashboard
## Preconditions
- Work only inside the user-approved project directory.
- Do not fetch third-party assets without permission.
## Procedure
1. Inspect the existing HTML and CSS.
2. Define the grid areas and breakpoints.
3. Run scripts/build.py in an isolated environment.
4. Compare the result with assets/expected-result.png.
## Acceptance checks
- No horizontal overflow at 390 px, 768 px, and 1440 px.
- Keyboard focus remains visible.
- Stop and report if required assets or permissions are missing.
這個模板刻意不把影片逐字稿塞進 Skill。好的 SKILL.md 應該短到能在需要時載入,又完整到不必猜測安全邊界。若你使用的 Agent 有不同欄位或工具白名單,還要依該實作調整並重新測試,不能假設格式相容就代表行為相容。
Resource2Skill 品質檢查:六道發布閘門
把生成 Skill 當成第三方程式碼。Microsoft 的 Agent Skills 文件也建議先審查指令與 script、檢查惡意指令或資料外洩、限制檔案與網路權限,再保留確認與稽核紀錄。實務上可以用這六道閘門:
- 來源與授權:每個步驟、影格、程式碼都能回到來源;repo 授權不會自動覆蓋影片、圖片或第三方依賴。
- 提示注入:把文章、README、字幕都視為不可信資料;刪除要求洩漏秘密、改變規則或執行陌生命令的文字。
- 工具最小化:列出真正需要的 MCP、shell、檔案與網路權限;預設不提供 production credentials。
- 程式碼審查:檢查 imports、subprocess、
exec、網路請求、寫入路徑與刪除行為;在 disposable container 或 VM 測試。 - 結構與 smoke test:確認 entrypoint、參數、輸出檔、錯誤處理都存在。Smoke pass 只代表能跑,不代表結果正確。
- 保留任務:用沒有出現在原始素材與範例裡的新題目,測試 Agent 是否能遷移操作知識。
特別要注意,官方 QA 的 subprocess 加 timeout 並不是 OS 級安全沙箱;部分路徑會執行生成的 Python。最安全的做法仍是隔離環境、短效最小權限金鑰、限制可寫目錄與網路,人工讀完程式碼後才啟用。
保留任務測試:怎麼判斷 Agent 真的學會?
不要拿原影片做過的同一個 demo 驗收。假設素材教的是「做一個深色 bento dashboard」,保留任務可以改成「為社區藝文組織做暖色、手作編輯風 landing page」,但仍要求相同的 CSS Grid、響應式斷點與視覺檢查。這樣才能測出 Skill 是否抓到可遷移的方法,而不是背答案。
- 固定同一個模型、reasoning、最大迭代數與工具後端。
- A 組允許 Skill Wiki;B 組使用官方
--no-skills。 - 兩組使用同一份保留任務,但寫到不同輸出目錄。
- 記錄完成時間、工具呼叫、錯誤、人工修正次數與 token/費用。
- 用事先寫好的 rubric 盲評最終成品,不採信 Agent 自稱「完成」。
- 至少換三個題目;單一成功案例只能證明該案例可重現。
這套配對思路,也能套用在 Hermes Agent 或其他支援工具/技能的框架。真正有價值的不是某個框架跑出漂亮 demo,而是你能持續重跑同一套驗收規則。
Resource2Skill 論文結果:11.9 個百分點怎麼讀?

論文在七個軟體產出領域、四個 GPT 系列模型後端上,報告有 Skill 的平均分為 56.8,無 Skill 為 45.0,差 11.9 個百分點;28 個「模型 × 領域」彙總組合都提高。和作者配置的無 Wiki ClaudeCode-H/Codex-H harness 比較時,Resource2Skill 在 28 組裡有 26 組較高。
這些數字不能改寫成「成功率 56.8%」,也不能說「普遍打敗 Claude Code 或 Codex」。評估用的是作者自建任務與相同 GPT 後端、固定工具後端,再由視覺模型按品質、正確性、完整性、忠實度與創意等 rubric 評分;不是跨供應商、跨所有工作情境的產品排名。
最安全的結論是:在作者自建的七個軟體產出基準、固定工具後端與 GPT 系列模型中,能取用整理後 Skill Wiki 的 Agent,產物評分平均高出無 Skill 版本 11.9 個百分點;它沒有直接證明把任何網路素材轉成 Skill 都更便宜、更安全或一定正確。
誰適合用 Resource2Skill?誰先不要?
- 適合:有大量合法內部教材、願意維護技能庫、能提供隔離測試環境,並且工作結果可用程式或 rubric 驗收的團隊。
- 適合:正在研究 Agent memory、技能檢索、MCP 與 domain adapter,希望閱讀一套完整公開實作的開發者。
- 先不要:只想把一個任意網址丟進去,立刻得到各家 Agent 通用、可靠的
SKILL.md。 - 先不要:來源含客戶機密、production key、未知授權內容,或沒有能力審查生成程式碼的情境。
截至 2026 年 7 月 24 日,官方 repo 約 255 stars,Hugging Face 論文頁 137 upvotes;在 2026 年 7 月 20 日依 publishedAt 排序的 daily feed 位居第 2。這些數字只能當成研究興趣的當日快照,不等於直接求教人數,也不等於成熟度、可靠性或商業支援。repo 的 SUPPORT 文件明確把它定位為研究軟體,且查核當下的 GitHub Releases 與 tags 列表皆為空。
Resource2Skill 常見問題 FAQ
1. Resource2Skill 是什麼?
它是 Microsoft Research 公開的研究系統,把影片、repo、文章與參考成品蒸餾成多模態 Skill Wiki,讓 Agent 能在執行任務時搜尋、選取與套用相關技能。
2. 它能直接把 YouTube 轉成 SKILL.md 嗎?
截至本文查核日,不能直接這樣做。單支影片的 analyze 輸出 Markdown 分析;完整 collector 才會建立 Wiki 候選,而且官方格式不是標準 SKILL.md。本文的打包步驟是額外相容做法。
3. 可以貼任意 GitHub 或文章網址嗎?
截至本文查核日,官方 CLI 參數列表未提供通用的一行網址入口。GitHub connector 採搜尋導向,文章 connector 讀 domain 設定中的 URL;需要自行配置、限制來源並審查授權。
4. 需要哪些模型金鑰?
官方 Agent runtime 範例使用 Azure OpenAI;YouTube 與多個蒸餾路徑使用 Gemini;GitHub 收集另需 GitHub token。實際需求會依你啟用的路徑改變。
5. Resource2Skill 是免費的嗎?
程式碼採 MIT License,但模型 API、影片處理、運算與儲存都可能產生成本。內建 budget 不是美元上限,仍要在供應商端設警示與限額。
6. 通過 exec_ok 就代表可靠嗎?
不代表。它主要反映結構、imports、entrypoint 與可選 smoke command 是否能執行;沒有 smoke 時甚至可能是 null。真實結果仍要用保留任務驗收。
7. 生成程式碼會在安全沙箱裡跑嗎?
不能這樣假設。timeout subprocess 不等於 OS 級沙箱,部分程式路徑可執行 Python。請使用 disposable container/VM、最小權限金鑰、限制網路與寫入目錄。
8. 和 RAG 有什麼不同?
一般 RAG 多半找回文字證據供模型回答;Resource2Skill 進一步把文字、視覺、程式碼與執行 metadata 組成可選取的操作單元。但它仍包含檢索,也不能免除來源與輸出驗證。
這篇教學帶走的五個新手觀念
- 「看過素材」和「擁有可重用技能」之間,差了結構化、工具綁定、來源與驗收。
- 一份 Resource 可以拆成多個 Skill;不要把整支影片硬塞成一個超長指令。
- 來源可追溯不等於內容正確,結構可執行也不等於任務成功。
- Resource2Skill 原生格式是 Skill Wiki;
SKILL.md是你自行加入的相容封裝。 - 最可信的品質證據不是 demo,而是固定條件下、用保留任務做配對測試。
延伸閱讀與下一步
- AI Agent Harness 是什麼?:先理解模型以外的工具、狀態與驗證層。
- 從零打造 AI Agent Harness:把技能庫接進可觀測、可測試的執行流程。
- Hermes Agent 完整解析:比較另一種開源 Agent 與技能工作流。
- Claude Code vs Codex:選擇實際執行程式與修改專案的工作介面。
- Claude 怎麼省 token:理解上下文與重複餵資料的成本。
- AlphaLab 課程:建立完整的 AI 工具與實作基礎。
結論:不要收集更多資料,要建立可驗證的能力
Resource2Skill 最有價值的地方,不是一個「影片轉 Skill」按鈕,而是一個方法論:把散落在影片、repo、文章與成品中的程序知識,整理成 Agent 能找到、能追溯、能執行,也能被測試的能力單元。
你可以從一支短影片開始,但不要停在漂亮的 Markdown。先審查來源與程式碼,再把通過的內容封裝成自己的 Skill,最後用保留任務和無 Skill 基準比較。當這條鏈都能重跑時,Agent 才不是「好像看懂了」,而是擁有一項你能驗收、能維護的能力。
主要資料來源
- Resource2Skill 論文 v4
- Microsoft Resource2Skill 官方 repo
- Resource2Skill 官方專案頁
- Hugging Face 論文頁
- Microsoft Learn:Agent Skills
- Google Gemini:Video understanding
資料查核日期:2026 年 7 月 24 日。本文內容僅供技術研究與教學,不構成資安、法律或授權意見,亦無業配內容。模型、API、repo 與價格會變動;AI 具有輸出錯誤資訊的可能,重要決策請由人類複核。實際部署前請重新閱讀官方文件,並由具備權限的人員審查來源、程式碼與執行環境。
