AI Engineer Europe 2026 · 演講 · 2026-05-15 · 18 分
用 skill 補上 MCP 缺的引導
Combine Skills and MCP to Close the Context Gap · Pedro Rodrigues,Supabase
Pedro 說明 Supabase 怎麼寫出自家的 agent skill:三條寫法原則、用 evals 測試的做法,以及 skill 搭配 MCP 的實測結果。
概要
- 瓶頸是引導,不是 contextPedro 認為 agent 夠聰明,缺的是對新產品、新版本的正確指引。Supabase 已經有 MCP server,缺的是怎麼操作 Supabase 的做法。
- 同一個任務,有沒有 skill 結果不同同樣用 Claude Sonnet 4.6 在 table 上建 SQL view,只給 MCP 的 agent 沒有處理好 RLS 的問題,加上 skill 的那一組寫對了。
- 三條寫 skill 的原則不重複文件、會被略過的就會被略過、要有主見。其中第二條讓 Pedro 把安全檢查清單從 reference file 搬回 skill.md。
- 文件改用 SSH 開放Supabase 在實驗把文件透過 SSH 開出來,讓 agent 像逛檔案系統一樣找文件,Pedro 還在徵求大家的意見。
- 用 evals 測一份 markdown6 個情境、4 個 agent、3 種條件,skill 加 MCP 在每個模型上都勝過其他條件。
- 分發還沒有定論Q&A 裡 Pedro 說 skill 的分發系統還沒定案,Supabase 目前把 skill 打包在各個 repo 裡。
原話
▶ 00:37“I've never spent more time writing a single document since I've wrote my master thesis”
寫碩士論文之後,我沒花過這麼多時間寫一份文件
▶ 05:54“don't duplicate information”
不要重複資訊
▶ 07:18“if something can get skipped it will be skipped”
會被略過的東西就一定會被略過
▶ 09:09“you know your product the best”
你最懂自己的產品
▶ 13:16“the bottleneck is not the the context it's the guidance”
瓶頸不是 context,而是引導
延伸
- 測試的四個 agent 是 Claude Code 上的 Opus 4.6 與 Sonnet 4.6,以及 Codex 上的 GPT-5.4 與 GPT-5.4 Mini,評分看的是任務完成度。
- Pedro 解釋 agent 為什麼不愛上網查:上網與呼叫工具對 agent 來說都很貴,所以它多半退回訓練資料。
- 分發的做法目前有 Vercel 的 skills package,以及把 skill 和 MCP server 綁在一起的 plugin,但 plugin 各自綁特定模型。
章節
點時碼直接跳到原片的那一段。
- 題目為什麼改了投稿時 MCP 與 skill 的爭論還在,現在 Pedro 覺得兩者各有角色,爭論轉向 MCP 對 CLI,所以改講 Supabase skill 的寫作心得。
- agent 缺的是引導遇到訓練後才更新的產品,agent 會漏掉像 row level security 這類安全細節,還會死抱著舊知識,不肯去找新資料。
- skill 是什麼skill 是放指示、腳本與資源的資料夾,agent 逐步發現;frontmatter 的名稱與描述決定要不要載入,主檔是 skill.md。
- 有無 skill 的對照同一個 prompt 要在已開 RLS 的 table 上建 view,只給 MCP 的 agent 沒做對,加上 skill 的那組正確又安全。
- 發表 Supabase skillPedro 宣布這份花了幾個月寫的 Supabase agent skill 當天上線,並當場發了推文。
- 原則一:不重複資訊把 skill 當成指向文件的入口,告訴 agent 去哪裡、怎麼找最新文件,而且要很堅持地要求它去找。
- 用 SSH 開放文件實驗中的做法,讓 agent 用熟悉的 Linux 工具遠端瀏覽文件,Pedro 想聽聽大家的看法。
- 原則二:會被略過agent 懶得上網查、也懶得載入 reference file,需要不只一個檔案的資訊時幾乎不會載入兩個,所以不能漏的內容要放進 skill.md。
- 原則三:要有主見以管理資料庫 schema 為例,Pedro 說的流程是先直接改 dev 或 staging,用 advisors 修完問題,最後才建 migration 檔。
- 怎麼測 skill用 evals 測一份 markdown:6 個情境、兩家廠商的 4 個 agent、3 種條件(什麼都不給、只給 MCP、MCP 加 skill),在 Braintrust 上跑。
- 結論與建議瓶頸是引導,所以要指向單一資料來源、保持主見、從精簡開始再迭代。
- Q&A:向量與語意搜尋有聽眾問向量的使用情況,Pedro 說向量主要用在 embeddings 與語意搜尋,也看好把語意搜尋接上 SSH 的文件。
- Q&A:skill 怎麼分發Pedro 說分發還沒解決,plugin 又各綁模型,Supabase 目前把 skill 放在 repo 裡,用 skills package 抓取。
名詞
- Supabase skill
- Pedro 在這場宣布的 Supabase agent skill,教 agent 怎麼正確操作 Supabase
- skill.md
- skill 的主檔,內容是指示,frontmatter 的名稱與描述決定 agent 何時載入
- reference files
- skill 附帶的參考檔,agent 常懶得載入,不能漏的資訊不該只放在這裡
- row level security (RLS)
- Postgres 的資料列層級存取控制,這場用它示範 view 可能暴露資料
- security invoker
- 在 view 上設 true 才不會繞過 RLS,沒設的話 view 會露出 table 預設不露的資料
- advisors
- Supabase 提供的檢查工具,指出資料庫的安全或效能問題
- SSH 文件
- Supabase 實驗中的做法,把文件透過 SSH 開出來,讓 agent 當檔案系統瀏覽
- evals
- 對 agent 行為而不是程式碼做的測試,這場用來測 skill
- Braintrust
- Pedro 跑 evals 用的平台







