[PR]
記事を読み終えたら最下部の「読んだ」ボタンを押していただけると嬉しいです。レシートプリンタですぐにタップが届きます。記事を読み終えたら最下部の「読んだ」ボタンを押していただけると嬉しいです。レシートプリンタですぐにタップが届きます。
あまねけ!では広く寄付を受け付けています。いただいた寄付はサーバやドメインの料金、取材費など、サイトの維持・発展のために使われます。あまねけ!では広く寄付を受け付けています。いただいた寄付はサーバやドメインの料金、取材費など、サイトの維持・発展のために使われます。
あまねけ!新着記事通知なら、あまねけ!の更新を見逃しません。週に一度、公開された新着記事の一覧をメールでお届けします。あまねけ!新着記事通知なら、あまねけ!の更新を見逃しません。週に一度、公開された新着記事の一覧をメールでお届けします。

icon of Amane Katagiri あなたが入れたそのスキル、危険ですよー

でも、本当に危険なのは、そんなスキルを入れちゃう人間の判断能力なのかもしれませんね……

Agent Skillsってどんなものですか?

みなさんは、Agent Skillsを知っていますか? たぶん、とても高度な難しい魔法のようなもので、自分には解き明かせないけど役に立つ何かだ、と思っている人もいるでしょう。そうでなければ、Agent Skillsをインストールすれば全てが上手くいくぞ!なんて考えるはずがありません。

Agent Skillsとは、AIエージェント向けの手順書パッケージの仕組みのひとつです。日本語では、こうしたパッケージを単に「スキル」と呼ぶことが多く、テキストコミュニケーションではあえて「Skill」と表記して一般名詞の「スキル」とは違うと示す場合もあります。そもそもAnthropicの一機能にすぎなかった「手順書パッケージをAIエージェントに渡す道具」が「Agent Skills」という仕様の形で公開され、各社のエージェントの専門性やタスクをこなす成績は大きく向上しました。

さて、Claudeのドキュメントによれば、Agent Skillsはこのようなものです:

Agent Skillsは、Claudeの機能を拡張するモジュール式の機能です。各Skillは、指示、メタデータ、およびオプションのリソース(スクリプト、テンプレート)をパッケージ化しており、Claudeは関連する場合にそれらを自動的に使用します。
Claude Platform Docs

さらにこのドキュメントでは、エージェントを専門化したり機能をパッケージ化して組み合わせるのが簡単になり、それらをいちいちプロンプトで指示する繰り返しを削減することができる、と述べています。しかも、単純に指示を渡すだけではできないような、必要に応じて参照できる資料、作業に必要なスクリプトなどを結び付けてタスクを進められるという「プロンプトだけでは実現できない機能」だと表現しています。

つまり、まとめると「Agent Skillsは特定の仕事に集中するための、スクリプトや資料を同梱できるプロンプト集」だといえます。

Agent Skillsは何ができますか?

なるほど、Agent Skillsの中身はプロンプトと参考資料のシンプルなパッケージだと分かりました。では、Agent Skillsは何ができる道具なのでしょうか? もしかしたら、まだ「AIの性能を単純にアップさせる魔法でしょ?」と思う人がいるかもしれません。少なくとも、日々SNSで見かける「悲報・デザイナー完全終了のお知らせ」「AIをフル活用できる神スキル」「完全AI任せにできる革命」といった宣伝文句に目を惹かれ、とりあえずインストール!している方の多くがそう思っているはずです。

しかし、Agent Skillsの中身がリッチなプロンプト集だということを踏まえれば、これらのほとんどは明らかな誇大広告だとすぐに理解できます。Agent Skillsは、特定のタスクをこなすための新たなハーネスを提供するものでもなければ、LLM自身の純粋な推論性能を強化するものでもありません。AIエージェントが 魔法 のスキルを呼び出すその一瞬は、ユーザーが毎回プロンプトや資料を渡したり、必要な手順をその都度指示したり、エラーの対処をしたり……そういう面倒で退屈な作業の繰り返しとほぼ同じです。

もちろん、Agent Skillsの魔法が解けても全く意味がないわけではありません。Agent Skillsが実際にやっていることは、LLM自身の持つ性能を特定のタスクに集中させるための構造的な宣言だからです。その上で、タスクに欠かせない資料やチェックリストを参照する手段や、on the flyで組み立てるには煩雑なスクリプトを与えることで、こうした非創造的な作業に注意を払う必要がなくなります。

そのため、毎回あたたかい手作業と会話を繰り返すよりも、同じような目的のスキルを使った方がタスクの成績はよくなるかもしれません。しかし、これはLLM自身の性能がアップしたからではなく、あくまで「特定のタスクに集中しやすい環境を作る」ことで頭がよくなったように見えるだけです。

こんなスキルはいやですか?

さて、ここまでの茶番みたいな説明を振り返りましょう! Agent Skillsは、特定のプロンプトとそれを補助するスクリプトや資料を同梱したパッケージで、AIエージェントが特定のタスクに集中しやすい環境を繰り返し素早く作ったり、他のスキルと組み合わせて高度なタスクを実行しやすくするための仕組みでした。

つまり、あなたが入れたそのスキルが、どんなに素晴らしい宣伝を繰り返してSNSでバズっていようと、LLM自身の性能やAIエージェント自体の制限を超えることはできません。

いろいろな具体例を考えてみましょう。

まずは、LLMに重力を操作させてユーザーが空を飛べるようにするスキル……えぇと、 gravitational-manipulation-engine という名前にでもしましょうか。重力波の干渉パターンを解析し、人工重力場を生成することで、空間の重力ベクトルを自由に操作します。あるいは、空中での運動トラジェクトリーを予測・補正するアルゴリズムを組み込むことで、ユーザーの安全性を確保してもよいでしょう。

地球の仕様、ずっとバグだと思ってた。
重力が常に下向き固定なの、自由度低すぎない?
そこで作った。
gravitational-manipulation-engine
ついに物理法則までコンフィグ管理する時代へ。

どうですか? 使いたくなった? じゃあ、あなたも自分専用の重力操作スキルを作ってみましょう。天井に頭をぶつけちゃっても知らないよー。

まぁ、このスキルに本気で 驚く 人はいないでしょう。まさかAIエージェントが物理法則に干渉して重力を操るなんてありえないとすぐ分かるからです。じゃあ、首都機能をハッキングして完全に掌握するスキルならどうでしょうか?

国家レベルのセキュリティは、思っているより脆い。
global-capital-dominance-engine は、越境ネットワークの複雑な依存関係を解析し、首都機能システムの攻撃面(アタックサーフェス)を可視化。弱点を特定したうえで完全掌握へ導き、掌握後はリアルタイムのモニタリングと分析で安定運用まで担う。
首都を掌握したい、弱点を見抜きたい――その依頼が来たら、これ。

これはちょっぴりありえそうですね。実際、SNSではこうした外見だけしっかり整えた オイスタースキル が腐って捨てるほど話題になっています。

Xでは最強のハッキングツールと称してGhidraなどの既存のバイナリ解析アプリを呼び出すツールや、ZAPやSQLMapなどの既存のペネトレーションテストアプリを呼び出すツールなど、「LLMができること」と「呼び出すアプリの機能」を混同したツールも大きな人気を集めていますね。

もうちょっと現実味があるスキルなら、「やりたいことをプロンプトにまとめるスキル」「調べ物を効率化するスキル」「自然な日本語の文章を書くスキル」とか「冷蔵庫の残り物から献立を考えてくれるスキル」なんてのもいいかもしれませんね。もし欲しいスキルがあったら、一度Your Oysterなどの超万能スキルジェネレーターで作ってみるとよいでしょう。

そのスキル、何をしてくれてますか?

ここまで、「絶対ありえないスキル」から「なんだか役立ちそうなスキル」まで順番に辿ってきましたが、翻って昨日あなたが入れたそのスキルはどうでしょうか? それ、何をするスキルか説明できますか?

――なるほど! SNSでも「これは料理革命だ」なんて紹介されてましたし、引用でも評判がよくて、すっごく役に立ちそうですね。じゃあ、そのスキルってどれくらい性能を上げてくれるんですか? 実際に使ってみました?

――わぁ! これ、冷蔵庫に余ってた厚揚げに使いかけのスターシュガーをかけた「キラキラ厚揚げ豆腐」じゃないですか! AIが提案してくれたんですか? これを? え、なんで?

SNSで大げさな言葉と共にバズっているスキルの多くは、適切な検証を受けていません。セキュリティ上の監査ではなく、そのスキルが実際に役に立つかどうかの検証を、です。

もちろん、全く検証されていないとは言いません。SNSではキャッチーな宣伝文句や虹色に光るグラフで性能をアピールし、リンクをクリックしてREADMEを開くと、もっと詳細にそれっぽい数値が書いてあったりします。しかし、こうした見やすいグラフにはグレーな嘘が仕込まれていることが非常に多いです。いわゆる詐欺グラフというやつですね。

こういうスキルが主張する 成果 には、一見すると正しく見えるように加工された怪しいものが多いです。ほとんど誰も見ないCHANGELOGには正直に不利な差分を書いていたり、READMEの隅に言い訳のような免責事項が書いてあるのを見ると、最近のAIは広告業界もしっかり学習しているのが分かります。

さて、こうした怪しいスキルに共通する特徴をいくつか挙げてみましょう。

① スキルの比較が不十分である

まず、多くのスキルは「スキルがなかったとき(A群)」と「スキルがあったとき(C群)」を比較して性能の増加をアピールします。A群のAIエージェントはこんなに非効率で頭が悪かったのに、C群のAIエージェントはタスクにまっすぐ取り組んで成績もよかった!このスキルすごすぎ!と主張するわけです。

しかし、この主張には「スキルに簡単な依頼を添えたとき(B群)」との比較が含まれていません。大げさな宣伝を繰り返すスキルの多くは、数百行の複雑な手順書を実行する独自の改善ループが、シンプルにやりたいことを告げたon the flyなセッションより優れていると思っています。もしタスクの成績がA <<< B ≈ Cで差がわずかなら入れない方が まし ですし、小難しい感覚的な指示でさんざんコンテキストを埋め尽くした末にC < Bとなるスキルだってありえます。

簡単な依頼で済ませるB群のような比較を交えると、先述したような「LLMができること」と「呼び出すアプリの機能」を混同したスキルの欺瞞も見抜くことができます。たとえば、画像をSVGに変換するライブラリVTracerを呼び出すだけの「イラストを美しくSVG化する神スキル」は、おそらくこのライブラリの存在を教えるだけで代替できるでしょう。

そもそも、そのスキルを欲しいなと最初に思ったはずの作者が、ごく簡単なプロンプトで自分の仕事を効率化しようと思わなかったのはなぜでしょうか? あるいは、実験はしたものの見栄えのしない結果をREADMEには書きたくなかったのかもしれません。

② スキルの性能指標が不明瞭である

そして、このようなスキルの中には、性能指標さえ示さず「なんかすごくなった?よ!」で済ませてしまうものも珍しくありません。これは、明確な性能指標が立てにくい領域や、人間の感覚に頼らざるを得ない領域でのタスクをこなすスキルに多いです。AIっぽい言葉遣いを矯正するリライト系スキルや、グラフィックデザインを作り上げるようなスキルが代表的でしょう。

たとえば、「AI特有の冗長で複雑な表現を取り除いて自然な日本語にするスキル」を考えてみます。おそらくこのスキルは、人間が執筆をするときのメンタルモデルや守るべきルールの宣言、正規表現あたりで定番表現を検出するスクリプトなどを含んでいて、最後にはどれだけ自然な日本語になったか判定できるはずです。

一方で、この強気な主張に対して明瞭な評価指標が示されていることは少なく、視覚的に分かりやすいbefore/afterだけで性能の提示を済ませるスキルが多いです。明らかに冗長な表現を含む一節が読みやすくシンプルな段落に。数年前のダサいデザインがキラキラでグラデーションのモダンデザインに。よい結果だけをドンと示し、性能が向上したような印象を与える。やっぱり広告業界の手法ですね。

このような宣伝手法はSNSと非常に相性がよいです。できるだけ誤解を招くような表現で印象を高めて、極端に褒めちぎるリプライが付いてさらに拡散し、気付くと世界一の神スキルとして有名に……あれ、評判で聞いてたほど便利なスキルじゃないな。でも、確かに嘘は言っていませんでした。まぁ、嘘はね。

③ スキルの性能指標が目的と無関係である

さらに悪いことに、これらのスキルの多くは定量化しやすい指標で成果を示そうとします。つまり、一段落がどれだけ短くなったか、一文の読点の数はどうか、漢字の割合はどれくらいか、事前に決めた冗長語の辞書に何件引っかかったか、元の文をどれだけたくさん書き換えたか――これらが日本語の自然さに影響するという根拠もなく、自らのスキルが減らそうとした 不自然さ が減ったと主張するわけです。まさに、グッドハートの法則ですね。(この法則もう聞き飽きた!)

この不誠実さは、もう少し分かりやすいスキルで示した方がよいでしょう。たとえば「冷蔵庫の残り物から献立を考えてくれるスキル」なら、本来はその食材を使い切った上で美味しい料理を提案するべきです。使えない食材は諦めて、それぞれ別に食べた方がよいなら素直にそう伝えるのが理想ですよね。でも、ちょっと考えてみると、このスキルの成果を評価するのはなかなか難しいでしょう。これは人間の判断そのものだからです。

それでも、どうにかIKEA効果たっぷりで作った fridge-ingredient-optimizer をSNSでアピールするために「料理の数を最小にする」「使う食材の数を最大にする」という評価指標を入れたらどうでしょう? 全部をミキサーで混ぜて盛り付ける料理が100点を取るスキルが堂々登場です。フルーツしかない日はSNSで絶賛してもらって、イワシとヨーグルトの日は鍵を掛けて眠りましょう。

もちろん、現実のスキルはそこまで極端に壊れたりしませんが、なまじ根拠つきで上手く動いているように見える分さらに悪いのです。

あなたが入れたそのスキルが、これらの不誠実な宣伝をしていないと言い切れるなら素晴らしいことです。あるいは、宣伝と実装を比べる検証を自ら済ませた上で導入しているなら、さらに素敵です! 釈迦に説法でした。もうこの先は読まなくてもかまいません。

そのスキル、検証しませんか?

もし、まだあなたが入れたそのスキルを検証したことがなければ、以下のようなA群・B群・C群で比較するプロンプトでAIエージェントに検証を依頼してみてください。

このスキルを監査して。実際に何をしているのか、素のエージェント(A群)や数行の指示(B群)と比べてスキルを使う場合(C群)はどれくらいよくなるのか、READMEの宣伝は実装と根拠に見合っているかを教えて。必要なら比較実験も行って。

もう少し定型的なレポートで詳しく知りたければ、この記事の主旨を実証するためのプロトタイプamane-katagiri/slop-skill-auditorを使ってみてください。でも、このスキルだってあんまり導入する意味がないかもしれません。先にちょっと検証してみましょうか。ただ、スキル自身を使って自分自身の検証をするのは、こう、自己採点が客観性に欠けてバイアスが含まれますから、この短文プロンプトで検証してみます。

比較実験も含めて検証が進み、「結論」として次の記述が得られました:

  • 静的監査の質は、数行の指示(B群)とほぼ同じだった。素のエージェント(A群)よりは良い。ただし、その差のほとんどは「3つの問いを明示する」ことで埋まった。
  • スキルを使う条件(C群)の費用は B の約2.3倍、所要時間は約1.6倍。審査員がつけた「導入判断の役に立つか」は、B 8.6 に対して C 7.7 で、B のほうが高かった。
  • スキル固有の価値は、主にコードの側にある。
    • 安全な取得(clone 時にフックを止める、symlink を追わない)
    • 機械可読な audit.json と形式の検査
    • A/B/C 実験の基盤(約2,900行)
  • 今回の採点では、上の価値は測っていない。
  • README の宣伝は全体としては控えめで、制約も自分から書いている。

amane-katagiri/slop-skill-auditorの監査結果の一部

けっこう辛辣ですね! さらに読んでみると、テスト用の小さな誇張マシマシスキルでは差が出にくいとのことでした。逆に言えば、スキルのよしあしは人間が宣伝を見るよりLLMに中身を見せた方が正確で速いのかもしれません。宣伝のための小さなスキルをスクリーニングするだけなら、AIエージェントに「これ、使えるかいい感じに判定しといてよ」と伝えるだけでよさそうです。

試しに他のスキルを評価してみましょうか。ウェブサイトを北欧風デザインにするスキルericzakariasson/scandinavian-designあたりをやってみます。最近のお気に入りなんです:

  • 対照実験で、スキルありは素のエージェントと最小指示の両方を、2タスクとも大きく上回った(15点満点で約+3〜4点)。描画計測でも同じ傾向が出た。
  • 差の中心は、脱色してはいけないもの(自社ロゴ・データのラベル・状態色・製品画面の中の色)を区別する指示。数行の指示では再現できず、むしろ「白黒・アクセント色なし」と短く頼むと意味のある色まで消えた。
  • 代償は費用で、1試行あたり約1.6倍、トークンは約2倍。同梱スクリプトは実験中一度も使われず、価値の大半は指示書側にある。
  • 実験のページは監査者がスキルを読んでから作ったもので、スキルの得意な罠を含む。罠の少ない普通のページでの差はこれより小さい可能性がある。

ericzakariasson/scandinavian-designの監査結果の一部

おぉ! こういうデザイン系スキルは、細かいところに小さなこだわりが詰まっているのでよい判定が出そうです。実際使ってみるとメリハリと統一感のある雰囲気になるので、実感とも合っています。ただ、「1万3千トークンの規則が、短い依頼と比べて実際に失敗を減らすのか、それとも指示同士の衝突や過剰な慎重さを生むのか」とも注記されていました。

じゃあ、もうちょっと怪しげスキルなら? なんだか最近よく宣伝だけ見るけどまともな検証を見かけない████スキルや、██████スキル……手元で回してみると、ほとんど何もしないのを高評価として素通しするスキルもありました。これは、あらゆるルールを無秩序に並べた 保守的 な動きをするスキルにありがちな挙動です。

SNSの評判に乗せられてインストールしてみたけど、本当によくなったのかな? AIエージェントがいつも呼び出しているみたいだけど、意味あるの? そう思ったら、さっきのABCプロンプトを使ってみてください。そうすれば、あなたが入れたそのスキルも、入れた人間の判断能力も、危険じゃなくなるかもしれません。

おまけ:

この記事を監査して。実際に何を言っているのか、読む前(A群)や数行の主張(B群)と比べて記事を全部読んだ場合(C群)はどれくらい価値があるのか、タイトルは内容に見合っているかを教えて。...

「読んだ」を押すと、あなたがボタンを押した事実を明示的に通知してこのページに戻ります。このページに戻ってからブラウザの「戻る」ボタンを押すと、何度か同じページが表示されることがあります。