今天又是一整日在研究 AI 技術,學了滿多東西,就拿其中一個來講好了 AI agent skills vs MCPs.
我之前有寫過一篇 agent skills 的文章,不過當時認知還有一些淺,只知道它可說是用自然語言寫的一段可重複利用的提示詞,像程式語言中的 functions.
但我最近發覺它的用法跟 MCP 有些重疊,讓我疑惑它的優勢在哪?在這 AI 時代問問題找答案已變得廉價了,所以我就去問 ChatGPT,果然得到很精闢的答案😆
簡單來說 MCP 是 LLM agent 的「工具與說明書」,而 Skill 是 LLM agent 的「工作技能」,而 LLM agent 是一位「工作者」。這還是不好懂嗎?舉個較具體的例子,比如一位雕刻師(工作者),他有許多雕刻工具與工具說明書,那他還少了什麼?少了雕刻技能 (skill)!比如這些雕刻工具要按什麼步驟使用,才能雕出好東西,這就是一種工作流的技能。
如果雕刻師缺少了後天學習的技能,那麼就只能靠他的天賦去使用工具完成作品。每個雕刻師的天賦不同,做出的作品品質也會差很多。但如果他們都學會了某種已研發已久、成熟的「技能 (skill)」,那麼天賦不好的雕刻師就能明顯提升作品品質!
以上雕刻師的例子也適用於 AI agent 的工作情形。Agent skills 的優點不僅是提示詞的複用(如同程式的 functions),還能作工作流的定義!
比如想叫 LLM agent 做一件複雜的事:叫它把一整個程式碼做出一分 PowerPoint 檔,比較笨的 LLM 可能就直接說它不會做。但如果將別人寫好的 PowerPoint skill 讓它使用,它就會做!為什麼這麼神奇?因為 PowerPoint skill 當中可以將一件複雜的工作流拆解成好幾步簡單的步驟,指導 LLM agent 一步步完成!比如第 1 步叫它讀程式碼;第 2 步叫它做出大綱,各頁內容,輸出一頁頁 htmls;第 3 步教它用某工具將 htmls 轉成 pptx!
所以 Agent Skills 的價值不僅僅是複用提示詞,還能將工作流 workflows 教給 agents! 而 MCP 只是提供工具 (tools) 給 LLM agents. RAG 則是提供資料給 LLM agents.
我總結(不知是否有人已提過的觀點),LLM 提示詞工程 (prompt engineering) 的幾項不同技巧:
Skills -> workflows
MCPs -> tools
RAG -> data
更新:跟一位高手討論此議題,我修正一點:Skills, MCPs, RAG 這幾個不完全是”提示詞工程”。”提示詞工程”講的只是利用提示詞技術改善 LLM 輸出的學問。
但 Skills, MCPs 兩者顯然不是只對提示詞作調校,它們還牽涉 LLM 以外的工具協同運作。
而 Skills, MCPs, RAG 的共同點,可說是 LLM agent 的工作技術,而差異在達成工作目使用的資源 – workflows, tools, data.