[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-skill-to-lora-cuts-agent-token-overhead-zh":3,"article-related-skill-to-lora-cuts-agent-token-overhead-zh":33,"series-research-411c8eae-4b17-49a6-bc60-a72749c85a3d":77},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":25,"views":29,"created_at":30,"published_at":31,"topic_cluster_id":32},"411c8eae-4b17-49a6-bc60-a72749c85a3d","skill-to-lora-cuts-agent-token-overhead-zh","Skill-to-LoRA 讓技能別再吃 Token","\u003Cp data-speakable=\"summary\">Skill-to-LoRA 把 SKILL.md 轉成 LoRA adapter，讓 \u003Ca href=\"\u002Ftag\u002Fagent\">agent\u003C\u002Fa> 執行技能時少塞一大段提示詞。\u003C\u002Fp>\u003Cp>說真的，這題很實際。很多 agent 每跑一次，就得重讀同一份技能文件。結果不是模型變笨，是 \u003Ca href=\"\u002Ftag\u002Ftoken\">token\u003C\u002Fa> 先爆掉。這篇看的是 \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2606.16769\" target=\"_blank\" rel=\"noopener\">arXiv:2606.16769\u003C\u002Fa> 提出的 \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.09685\" target=\"_blank\" rel=\"noopener\">LoRA\u003C\u002Fa> 版本技能載入法。\u003C\u002Fp>\u003Cp>講白了，它想把 \u003Ccode>SKILL.md\u003C\u002Fcode> 從 runtime 文件，變成離線訓練出的 adapter。這樣 agent 需要技能時，不用把整份文件塞進 prompt。對\u003Ca href=\"\u002Ftag\u002F長上下文\">長上下文\u003C\u002Fa>很貴的 \u003Ca href=\"https:\u002F\u002Fplatform.openai.com\u002Fdocs\" target=\"_blank\" rel=\"noopener\">API\u003C\u002Fa> 服務來說，這招很有感。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>項目\u003C\u002Fth>\u003Cth>數值\u003C\u002Fth>\u003Cth>意義\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>論文\u003C\u002Ftd>\u003Ctd>arXiv:2606.16769\u003C\u002Ftd>\u003Ctd>方法來源\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>方法名稱\u003C\u002Ftd>\u003Ctd>Skill-to-LoRA, S2L\u003C\u002Ftd>\u003Ctd>把文字技能轉成 adapter\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>技能格式\u003C\u002Ftd>\u003Ctd>SKILL.md\u003C\u002Ftd>\u003Ctd>常見 agent 技能文件\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>基礎技術\u003C\u002Ftd>\u003Ctd>LoRA\u003C\u002Ftd>\u003Ctd>用低秩更新存技能行為\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>核心流程\u003C\u002Ftd>\u003Ctd>離線合成示範資料\u003C\u002Ftd>\u003Ctd>把 heavy lifting 移出請求路徑\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>它到底在解什麼痛點\u003C\u002Fh2>\u003Cp>很多 agent 架構都愛用 markdown 技能文件。好處很直觀，工程師看得懂，也好改。問題是，每次請求都把同一份說明重送一次，token 直接被吃掉。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781993875553-e5u3.png\" alt=\"Skill-to-LoRA 讓技能別再吃 Token\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>這件事在小 demo 看不出來。可一旦技能文件變長，或者你同時掛了好幾個技能，context 就開始膨脹。模型真正要做的工作，反而被一堆說明文字擠壓。\u003C\u002Fp>\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Fpeft\" target=\"blank\" rel=\"noopener\">Hugging Face PEFT\u003C\u002Fa> 的 LoRA 很適合這種場景。它不是把整份技能文字背進 prompt，而是把行為壓進少量參數。S2L 的做法，就是先讀技能，再離線訓練 adapter。\u003C\u002Fp>\u003Cul>\u003Cli>runtime 少吃一大段 prompt\u003C\u002Fli>\u003Cli>user input 有更多空間\u003C\u002Fli>\u003Cli>技能和對話內容分開處理\u003C\u002Fli>\u003Cli>適合穩定、重複的 agent 任務\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>離線訓練為什麼重要\u003C\u002Fh2>\u003Cp>S2L 的核心不是把文件壓縮而已。它是先用完整技能文件，合成示範資料，再拿這些資料訓練專屬 adapter。也就是說，模型學的是技能行為，不是每次都重新解析文字。\u003C\u002Fp>\u003Cp>這個設計很像把說明書變成肌肉記憶。對 browser automation、\u003Ca href=\"\u002Fnews\u002Fnpm-codex-command-not-found-fixes-zh\">code\u003C\u002Fa> review、file editing 這種固定流程的技能，效果理論上會比純文字提示更穩。因為這些技能的\u003Ca href=\"\u002Fnews\u002Fdistributed-innovation-beats-silicon-valley-tech-model-zh\">模式\u003C\u002Fa>本來就很重複。\u003C\u002Fp>\u003Cp>你可能會想問，這跟直接寫 prompt 有什麼差。差在 runtime 成本。文字提示每次都要付 token，adapter 則是前面先花一次算力，之後載入就好。對大量請求的服務端，這筆帳差很多。\u003C\u002Fp>\u003Cblockquote>“LoRA is a low-rank decomposition that is learned alongside the original model weights and does not require inference latency.” — Edward J. Hu et al., \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.09685\" target=\"_blank\" rel=\"noopener\">LoRA: Low-Rank Adaptation of Large Language Models\u003C\u002Fa>\u003C\u002Fblockquote>\u003Cp>這句話很關鍵。它點出 LoRA 的本質：把能力放進參數，不是放進長 prompt。S2L 只是把這個想法搬到 agent \u003Ca href=\"\u002Ftag\u002Fskills\">skills\u003C\u002Fa> 上，方向很直白，也很工程化。\u003C\u002Fp>\u003Cp>如果你想看更廣的 agent 工具路線，可以對照 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\" target=\"_blank\" rel=\"noopener\">DSPy\u003C\u002Fa> 這類系統。它們都在想同一件事：別把所有東西都塞進 prompt。\u003C\u002Fp>\u003Ch2>數字上代表什麼\u003C\u002Fh2>\u003Cp>原始素材沒有完整 \u003Ca href=\"\u002Ftag\u002Fbenchmark\">benchmark\u003C\u002Fa> 表，但它已經透露兩個重點。第一，目標是減少 token overhead。第二，方法想提高 pass rate。這兩個指標很務實，因為 agent 系統最後就是看成本和成功率。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781993878014-q96m.png\" alt=\"Skill-to-LoRA 讓技能別再吃 Token\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>如果只看文字技能，優點是可讀、可審、可直接放 Git。缺點也很現實，就是每次執行都要重複付費。對 API 服務來說，這種重複成本很煩，尤其是高頻任務。\u003C\u002Fp>\u003Cp>如果改成 adapter，runtime 會更乾淨，但你得多一條訓練管線。也就是說，你要管資料生成、adapter 訓練、驗證、版本控管。這不是玩票專案會想碰的東西。\u003C\u002Fp>\u003Cul>\u003Cli>文字技能：好讀、好改，但吃 context\u003C\u002Fli>\u003Cli>Adapter 技能：不好直接看，但 runtime 較省\u003C\u002Fli>\u003Cli>文字方案：適合快速迭代\u003C\u002Fli>\u003Cli>Adapter 方案：適合穩定技能和大量請求\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這裡最值得注意的，是它把技能管理從「每次請求都帶文件」改成「需要時載入能力」。對有十幾個、幾十個技能的\u003Ca href=\"\u002Fnews\u002Fgo-turns-team-chaos-into-boring-builds-zh\">團隊\u003C\u002Fa>，這差別不是小修小補，是成本結構改寫。\u003C\u002Fp>\u003Cp>但我也得吐槽一下。Adapter 不是萬靈丹。技能一變，還是得重訓或重做資料。若你的流程每週都在改，markdown 文件反而更靈活。工程上沒有白吃的午餐。\u003C\u002Fp>\u003Ch2>這在 agent 堆疊裡的位置\u003C\u002Fh2>\u003Cp>S2L 放在整個 agent stack 裡看，很像一種分層思路。穩定的程序技能，放進 weights。常改的政策、規則、偏好，留在文字層。這樣比較不會每次改一點點，就牽動整個模型流程。\u003C\u002Fp>\u003Cp>這也跟 function calling、planning\u002Fexecution 分離的方向一致。大家都在做同一件事：把長 prompt 拆掉。因為 prompt 不是資料庫，也不是版本控制系統。硬塞只會越來越醜。\u003C\u002Fp>\u003Cp>實務上，我會把它看成 hybrid 架構的候選方案。哪些技能夠穩，就轉成 adapter。哪些內容常改，就留在 \u003Ccode>SKILL.md\u003C\u002Fcode>。這樣比較像正常工程，而不是把模型當萬用膠水。\u003C\u002Fp>\u003Cp>如果你在做產品，這種切法很有用。客服流程、資料清理、固定格式輸出，可能都適合 adapter。法規說明、產品政策、臨時活動規則，還是留在文件最安全。\u003C\u002Fp>\u003Ch2>背景脈絡其實很清楚\u003C\u002Fh2>\u003Cp>這幾年 agent 熱起來後，大家都撞到同一堵牆：context 太貴。模型越能吃長上下文，工程師越容易手癢，把所有規則都塞進去。結果就是成本上升，還不一定更準。\u003C\u002Fp>\u003Cp>LoRA 之前多用在微調模型。現在把它拿來存技能，邏輯很順。因為 skill 本來就介於知識和流程之間。它不是純知識，也不是單次任務，而是一種可重複的行為模板。\u003C\u002Fp>\u003Cp>我覺得這篇最有價值的地方，不在於它多炫，而在於它很務實。它沒有想改變整個 LLM 世界，只是問了一個很工程的問題：同一份技能文件，真的要每次都重送嗎？答案多半是不用。\u003C\u002Fp>\u003Cp>接下來值得看的，不是概念，而是落地。哪些技能轉 adapter 之後真的省 token，哪些技能會因為資料不足而掉準確率。這會決定 S2L 是研究題，還是 production 團隊真的會拿來用的工具。\u003C\u002Fp>\u003Ch2>我會怎麼看這件事\u003C\u002Fh2>\u003Cp>如果你的 agent 只有一兩個技能，先別急著上 adapter。直接用 \u003Ccode>SKILL.md\u003C\u002Fcode> 比較快，也比較好 debug。工程上，能少一層就少一層，這很正常。\u003C\u002Fp>\u003Cp>但如果你已經有一堆固定流程，而且每次都在燒 token，那 S2L 這條路就值得試。它不是把模型變神，而是把重複成本搬走。這種優化很樸素，但很有效。\u003C\u002Fp>\u003Cp>我的預測很簡單。接下來會有更多團隊把「技能文件」和「模型參數」分開管理。你如果正在做 agent，不妨先盤點一下：哪些技能每週都在改，哪些技能半年都不動。答案通常會很明顯。\u003C\u002Fp>","Skill-to-LoRA 把 SKILL.md 轉成 LoRA adapter，讓 agent 不必每次把長文件塞進 context，降低 token 成本。","zhuanlan.zhihu.com","https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F2050299452569785949",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781993875553-e5u3.png","research","zh","40d7a637-c770-47b5-8813-fd56a798b332",[17,18,19,20,21,22,23,24],"Skill-to-LoRA","S2L","LoRA","SKILL.md","agent","token overhead","LLM","prompt optimization",[26,27,28],"S2L 把 SKILL.md 轉成 LoRA adapter，減少 runtime prompt 長度。","它把重訓成本放到離線階段，換取 inference 時更省 token。","適合穩定、重複的 agent 技能，不太適合常改的流程。",0,"2026-06-20T22:17:30.645442+00:00","2026-06-20T22:17:30.637+00:00","0c35a120-52fc-41fc-afa3-d404eb934158",{"tags":34,"relatedLang":36,"relatedPosts":40},[35],{"name":21,"slug":21},{"id":15,"slug":37,"title":38,"language":39},"skill-to-lora-cuts-agent-token-overhead-en","Skill-to-LoRA cuts agent token overhead","en",[41,47,53,59,65,71],{"id":42,"slug":43,"title":44,"cover_image":45,"image_url":45,"created_at":46,"category":13},"e3e27211-1d3e-41d5-bc4e-828679944083","turboquant-does-not-hurt-search-quality-equal-bytes-zh","TurboQuant 在等字節預算下不會傷害搜尋品質","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781857969634-naia.png","2026-06-19T08:32:21.766491+00:00",{"id":48,"slug":49,"title":50,"cover_image":51,"image_url":51,"created_at":52,"category":13},"ed7ed094-2671-4723-8105-a89dc805f8a9","deterministic-multicalibration-optimal-sample-use-zh","確定性多重校準終於達標","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781850776591-fs2z.png","2026-06-19T06:32:28.220144+00:00",{"id":54,"slug":55,"title":56,"cover_image":57,"image_url":57,"created_at":58,"category":13},"b84a7dd2-d3f3-428c-a37f-1ac69cb01d4b","uniego-proxy-teachers-egocentric-video-zh","UNIEGO 用代理教師統一自我中心影片","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781849878221-5dnm.png","2026-06-19T06:17:31.822125+00:00",{"id":60,"slug":61,"title":62,"cover_image":63,"image_url":63,"created_at":64,"category":13},"b630264c-6adf-4808-8c75-2b887020e0d9","diffusiongemma-transparency-measured-zh","DiffusionGemma 的透明度問題被量化了","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781848974850-kk3o.png","2026-06-19T06:02:30.127489+00:00",{"id":66,"slug":67,"title":68,"cover_image":69,"image_url":69,"created_at":70,"category":13},"01a0e759-2366-485d-bafa-db75293c9f0c","nitro-split-kernel-isolation-math-zh","Nitro 把隔離拆成可證明的數學","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781843603985-dhih.png","2026-06-19T04:32:57.737498+00:00",{"id":72,"slug":73,"title":74,"cover_image":75,"image_url":75,"created_at":76,"category":13},"97b3890c-40b6-4bdd-89b2-4a040d50784e","blackwell-wins-agentic-ai-infrastructure-benchmark-zh","Blackwell 會贏，因為 agentic AI 需要全堆疊基礎設施","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781803972649-hb56.png","2026-06-18T17:32:18.277048+00:00",[78,83,88,93,98,103,108,113,118,123],{"id":79,"slug":80,"title":81,"created_at":82},"f18dbadb-8c59-4723-84a4-6ad22746c77a","deepmind-bets-on-continuous-learning-ai-2026-zh","DeepMind 押注 2026 連續學習 AI","2026-03-26T08:16:02.367355+00:00",{"id":84,"slug":85,"title":86,"created_at":87},"f4a106cb-02a6-4508-8f39-9720a0a93cee","ml-papers-of-the-week-github-research-desk-zh","每週 ML 論文清單，為何紅到 GitHub","2026-03-27T01:11:39.284175+00:00",{"id":89,"slug":90,"title":91,"created_at":92},"c4f807ca-4e5f-47f1-a48c-961cf3fc44dc","ai-ml-conferences-to-watch-in-2026-zh","2026 AI 研討會投稿時程整理","2026-03-27T01:51:53.874432+00:00",{"id":94,"slug":95,"title":96,"created_at":97},"cf046742-efb2-4753-aef9-caed5da5e32e","adaptive-block-scaled-data-types-zh","IF4：神經網路量化的聰明選擇","2026-03-31T06:00:36.990273+00:00",{"id":99,"slug":100,"title":101,"created_at":102},"53a0dc54-0371-4e40-8d5e-74e94a73840c","geometry-aware-similarity-metrics-for-neural-representations-zh","超越距離測量：用微分幾何重新理解神經網路","2026-03-31T06:01:01.241968+00:00",{"id":104,"slug":105,"title":106,"created_at":107},"fee7d472-a775-4b1d-bbc2-1e8bca1bbf8b","on-the-fly-repulsion-in-the-contextual-space-for-rich-divers-zh","讓AI繪圖更有創意：用排斥力提升生成多樣性","2026-03-31T06:01:25.439673+00:00",{"id":109,"slug":110,"title":111,"created_at":112},"a9901203-d69b-447b-8854-15d14eab32b4","vision-aided-beam-prediction-cnn-eca-zh","影像輔助波束預測升級 CNN","2026-04-01T10:00:25.8073+00:00",{"id":114,"slug":115,"title":116,"created_at":117},"b55e7dd4-0a24-4b3d-804d-b0309a03f498","triple-band-fss-mimo-antenna-sub-6-ghz-zh","三頻 FSS MIMO 天線瞄準 sub-6 GHz","2026-04-01T13:18:36.857305+00:00",{"id":119,"slug":120,"title":121,"created_at":122},"f68290bd-e7f3-4b30-ba22-dcd4e0130a66","openclaw-1299-repos-eight-weeks-analysis-zh","OpenClaw 1299 個 Repo 的資料解讀","2026-04-02T05:03:45.208411+00:00",{"id":124,"slug":125,"title":126,"created_at":127},"ed9f80eb-eb02-4d35-8ad4-0ddf428751dd","beam-coherence-aware-combining-mmwave-mimo-zh","毫米波 MIMO 的雙階合併法","2026-04-02T05:27:26.897188+00:00"]