AI Engineer Europe 2026 · 演講 · 2026-05-20 · 24 分
替 coding agent 寫 skill 的六課
Skill issue: Lessons from skilling up coding agents to use Langfuse · Marc Klingen,Clickhouse
Marc 分享 Langfuse 團隊為 coding agent 寫導入 skill 的經過:為什麼需要它、怎麼讓 agent 找到最新文件,以及用自動實驗改 skill 時學到的六件事。
概要
- skill 是把 workflow 的可靠性形式化Marc 說過去要靠 router 把問題分給單一用途的 agent,現在 agent 可以逐步取得所需的 context,處理跨多個領域的問題;skill 就像 Rubik's Cube 的說明書。
- 導入 Langfuse 的痛點文件有 478 頁,Langfuse 又刻意不預設立場、只當基礎設施。Marc 指出 coding agent 靠舊的訓練資料寫出過時的 SDK 用法,要先裝錯、驗證失敗,才去抓最新文件,又慢又不夠貼合應用。
- skill 的做法SKILL.md 規範導入風格,例如做決定前先追問,再用各產品模組的 reference 逐步揭露細節,並讓 agent 用 curl 抓文件。Langfuse 本來就有各種 API,現在包成 CLI,讓 agent 能做原本要在 UI 裡點的事。
- 六個心得看 trace 就能抓到八成細節、幫 agent 找到文件的路、用 search endpoint 蒐集真實問題、先有基本的 eval 設定、動態內容要指向來源而不是複製、自動實驗受限於 target function。
- target function 決定結果他們用自動實驗改 prompt 遷移的 skill,六個建議收了三個。以輪數當目標時,agent 把抓文件那一步拿掉,等於否定了 skill 要拿最新資料的初衷。
- 還沒解的題skill 沒有 package management,裝進使用者環境後會過期;Marc 說他們傾向加時間戳記,過舊就重新抓取或提醒使用者。
原話
▶ 04:28“We always were like, no, no, we are infrastructure.”
我們一向的態度是:不、不,我們是基礎設施;指 Langfuse 刻意不預設立場
▶ 08:58“looking at traces still gets you to 80% of the detail.”
光看 trace 就能掌握八成細節
▶ 16:40“So again the target function really matters.”
所以目標函數真的很關鍵
▶ 18:54“I think nobody reads documentation themselves.”
我覺得沒有人會自己去讀文件
▶ 22:36“As a small team, I'm not excited about plug-in marketplaces”
以小團隊來說,我對 plugin marketplace 提不起勁
延伸
- data region 的小插曲:他們原以為只有歐洲人在意資料放在哪,所以預設歐洲;後來發現美國企業也在意,才加了美國區。對 agent 來說多一個環境變數不費事,所以 skill 改成一律先問。
- 安裝 skill 前要不要先問使用者,Marc 的看法是只有 skill 比公開網路更受信任時才需要;信任層級一樣,就不必多問。
- 路線圖提到用 skill 自動化 eval 生命週期,例如建立與使用者偏好對齊的 LLM-as-a-judge,細節沒有展開。
章節
點時碼直接跳到原片的那一段。
- 自我介紹與來歐洲開會Marc 是 Langfuse 的共同創辦人之一,三年前創立,是開源的 evaluation 與 tracing 專案;產品工程在歐洲做。
- skill 的心智模型用 Rubik's Cube 與說明書比喻 skill,並談 workflow 與全自主 agent 之爭,以及密碼重設加改 email 這類跨領域問題。
- 用 tracing 決定該有哪些 skill多數團隊先 trace 執行過程,從中看出使用者意料之外的用法,也看出現有 skill 是否過時或不夠有效率。
- 478 頁文件與訓練資料過時文件很多、使用彈性又大;agent 憑舊知識寫出已不存在的方法,驗證失敗後才抓最新文件,流程慢。
- skill 的目標與結構目標是讓每個使用者都有一位 Langfuse 專家;SKILL.md、各模組 reference 與 CLI 三者合起來運作。
- 心得一:看 trace他們用 Langfuse 追蹤 Claude Code 自己,找出 skill 哪裡讓 agent 繞路;也談 data region 預設與 CLI help。
- 心得二:幫 agent 找文件提供 agent sitemap,並提醒 agent 用 Markdown 取得文件,省下解析 HTML 的 token。
- 心得三:search endpoint把文件 Q&A 用的 RAG 開成搜尋端點,agent 一次問就拿到相關片段,Langfuse 也能看到使用者卡在哪。
- 心得四:基本 eval 就有用用範例專案加自然語言檢查項目,讓 judge 比對 skill 執行前後的檔案差異,確認改動沒弄壞東西。
- 心得五:動態內容要引用把文件內容複製進 skill 等於做一份會過期的快取,不如直接指向文件。
- 心得六:auto research以 prompt 遷移為實驗,六個建議收了三個;輪數當目標讓 agent 跳過抓文件,缺少核准關卡與 prompt 版本連結也影響結果。
- skill 的過期與發佈沒有 package management,安裝 skill 常受限於 agent 環境,自動升級行不通。
- skill 該瞄準什麼一次做到完美設定、還是先讓使用者看到能動,之後再追問改進,團隊仍在權衡。
- 現況與路線圖文件主推請 coding agent 代勞;接下來用 skill 自動化 eval 流程,再放進產品。
- Q&A:實驗與專家式引導實驗交給 agent、人只審建議;skill 要像專家引導使用者釐清自己的問題。
- Q&A:marketplace 與過期偵測Marc 對 plugin marketplace 興趣不大,傾向 well-known skill 加時間戳記,過舊就重新抓取。
名詞
- Langfuse
- Marc 共同創辦的開源專案,提供 tracing 與 evaluation,這場的 skill 就是替它做的
- skill / SKILL.md
- 給 coding agent 的說明手冊;SKILL.md 寫導入風格,再連到各產品模組的 reference
- progressive disclosure
- skill 不一次給完,依需要逐步揭露各模組的提示
- Langfuse CLI
- 把原有的 API 包起來,讓 agent 能做原本要在 UI 裡操作的事
- agent sitemap
- Langfuse 提供給 coding agent 的文件地圖,先看它就知道有哪些文件
- LLMS.txt
- Marc 說發布時很熱,但實際上沒人用,後來改做 agent sitemap
- search endpoint
- 把文件 Q&A 的 RAG 開放出來,agent 用自然語言查詢並取得文件片段
- target function
- 自動實驗用來衡量 skill 改得好不好的目標,這場的重點教訓
- auto research
- 讓 agent 針對目標函數提出 skill 改進建議,再由人審核
- data region
- Langfuse 的資料所在區域,歐洲與美國都有,skill 不會預設而是詢問使用者







