
·S1 E213
213: おしえて、Agent Skills ~ユースケースが悩ましい~
Episode Transcript
マヂカル.fmは関西人のプロダクトマネージャーみちるだと関西人のソフトウェアエンジニアのうぱみゅんが週2で配信する雑談ポッドキャストです。お願いします。
うぱ / upamuneお願いします。
michiru_da今日のテーマは、エージェントスキルズって何?
うぱ / upamune何?
いやー、100年ぶりのテック会か?
michiru_daそうやね。そうでもない。
うぱ / upamuneあ、そうだっけ?
michiru_da最近あれやりましたよ。ワンパスワードとかのメールアドレス買ってそう話やったから。
うぱ / upamuneあー、確かに確かに。忘れてた。
michiru_daうん。でもAI系のはめっちゃ久しぶりかもですね。 なんか、エージェントスキルズとかスキルが、なんか12月入ってからとかめっちゃTwitterのタイムラインを逃げ合わせている気がしますね。
うぱ / upamuneうんうん。
michiru_daで、ちょっと何なのかっていうのをうばさんに教えてもらう回です。
うぱ / upamuneはい。なんか、実際この、どっから話そうかね。 エージェントスキルっていうのは何なのかっていう話なんですけど、そんな大したもんじゃないですと。
michiru_daあんなみんな大詐欺してる?
うぱ / upamune大したものではないというか、仕組み的には大したものではないですと。仕組みが大層なものと、得られる効果が大層なものが別の話なんで、仕組みはめっちゃ単純な話ですと。 何ができる、どういう話なのかっていうと、ほんとその名の通り、エージェントに対してスキル、何かしらの能力を授けるみたいな話なんですけど、 それをやり方を教えてあげると、エージェントに対して。 うちの会社にはホゲっていう仕事のプロセスがありまして、これはいつこれを使うのかとか、これは何なのかとか、 この仕事を進めるにはどうすればいいのかみたいなのを、ただのマークダウンファイルにやり方を書きますと。 それが基本的にスキルなんで、例えば一般的なことはAIわかってるけど、ある会社のホゲっていう仕事については、 いやホゲって何ですかってなるから、それの手順書というか、やり方とかコンテキストを書いてくれてるのが基本的にはスキルです。
michiru_da今言ってるスキルを使えるようになるAIエージェントっていうのは、それは何ですか?
クロードコードとかなのか、普通のChatGPTにもそういう機能があるよみたいなことなのか、 どの範囲に対して使えるもの?
うぱ / upamune基本的には手元で動くようなコーディングエージェントとかいうやつですかね。 でもあれですよね、ChatGPTにもスキル図が入ってるみたいな。
michiru_daそうなんだ。
うぱ / upamuneなんかChatGPTのスキル図どれ入ってるって言ったら、ZIPで返してくれるみたいな。
michiru_daなんか教えてくれるみたいなのありましたね。
うぱ / upamuneだからユーザーは今入れられないのかもしれないですけど、裏側では使ってるかもしれないですね。
michiru_daコーディングエージェントに対して特定の業務の手順を教えるみたいなことって、 これまでも似た概念がある理解でして、 スラッシュコマンドとかってそういうものとして私は理解していたんですが、また全然違うものなんでしょうか。
うぱ / upamuneスラッシュコマンドは自分で人間が発動タイミングを決めるんですよね。 スラッシュなんとかみたいな。 サークルだったら、ホゲっていう業務フローをやりたいなという時にスラッシュホゲって打つ。
michiru_da打って発動させる動作が必要だが、スキルは勝手に発動させてくれるってこと?
うぱ / upamuneそうです。 スキル図にはスキルの名前とスキルのディスクリプション、説明が必要なんですけど、 まずコーディングエージェントは起動立ち上がった時に、 自分のあるスキルの説明を全部自分コンテキストとして理解しますと。 なんで人間がなんとかやっといてくださいみたいな感じでやったら、 ホゲっていうのはこのスキルを使ってやればいけるんだみたいな感じで理解してやってくれるって感じですね。
michiru_daみんながめっちゃすごいってなってるのって、 その吉野にこの時にはこのスキルを使うといいなっていうのを、
うぱ / upamuneエージェント側が判断してくれるのがめっちゃいいみたいなことなんですか?
めっちゃいいのはまず、 一つはポータビリティが高いんですよ。 スキルっていうのはさっき話したようにめっちゃ簡単な仕組みなんですね。 このあるスキルの名前と説明を決めます。 基本的にはもうそれで必要な設定は終わってます。 その下に普通に別にJSONとかYAMLの設定ファイルじゃなくて、
michiru_da自然言語でそのスキルに対しての詳しい手順を書くんですね。
うぱ / upamuneもしそのリファレンスとか何かのスクリプトを走らせるのが必要だったら、 あるスキルと同じディレクトリに困ったらこのヘルプを参照してくださいっていうのが別のマークダウンとか、 これを実行してくださいみたいなスクリプトを置きますと。 基本的にもうそれだけなんで、 何がいいかというと、 究極的にはただのマークダウンファイルなんで、他のやつでも動きますと。 クロードコードだけじゃなくて、他のパイロットとかコーディックスとかもいけるのかな。 それが標準化されて、最初クロードコードが読むんだったんですけど、 それがAgent Skillsっていう普遍的な仕組みになったんで、 なんで一個Skillsっていうやつをどっかに作っておけば、 それを持って配置しておけば、どれを使っても読めるし、 何なら対応してないコーディングAgentとかでも、 設定ファイルに対してあなたができるのはこのディレクトリのスキル配下にあるから、 基本的にはスキルMDを読んでくださいみたいな感じでやればできなくはないっていう感じなんで、 すごいポータビリティが高い。
michiru_da使ってるコーディングAgent問わず、同じ会社の中で実装するときに、 これはちゃんと守ってくれみたいなやつとかをスキルで作っておいたら、 誰でもその恩恵を受けやすいよみたいな感じなんですね。 そうですね。
うぱ / upamuneみんなそれぞれこれまでも書いてきたと思うんですけど、 それが標準化されて、 クラウドコードでは先駆けて、 それをここにこういうフォーマットで書いてくれたら、 起動時に勝手に読み込みようっていうのが実装された。 これが10月とかですね。
michiru_da結構前なんですね。 タイムラインにめっちゃ流れてくるようになったのはめっちゃ最近の、 確かにSkillsって聞いたことあったけど、最近盛り上がってる印象でした。
うぱ / upamuneなんで?そうですね。 最近盛り上がってたのは多分、 MCPって実際いらなくね?みたいな話と対比されてというか、
michiru_daMCPって何でしたっけ?
うぱ / upamuneMCPは、 AIが何かしらのツールを使いたいっていうときに、 それを叩き方を標準化されたアクセス、 外部システムへのアクセスを標準化するためのプロトコルですね。
michiru_daAIエージェントからNotionとかFigmaとか、 別のサービスのデータを見に行きたいよみたいなときに、 そのMCPで3行ぐらい設定しておけば、 よし何連携ができて便利だよみたいな。 AIでデータを取りやすくて便利だよみたいな企画っていう感じですね。 なのでSkillsとMCPは全然違って、
うぱ / upamuneこれは黒道アンソロピックの公式ブログでも出てきてるんですけど、 全然違うから使い分けしようみたいな。 一応彼らも例示してるんですけど、 現実世界のお店に例えてて、 まずツールっていう一番プリミティブな、 例えばクロードコードだったらファイルを編集するとか、 ファイルを読み込むとか、 そういうのはお店にある道具そのものですよっていう、 ペンチとかそういう道具そのものですよと。 MCPは道具へのアクセス、 お店の通路に入るパスが用意されてるのがMCP。 Notionショップがあって、 Notionには記事を探すとかいろんなペンチが売られてて、 そこへの通路、お店へのたどり着くには、 そもそもMCPっていう通路がないといけません。 Skillsは道具の使い方を教える定員のようなものだって言って、 記事を探すとかそういうのはあるけど、 結局こういうホゲっていう業務をするには、 どの道にアクセスして、 どのショップのどの通路を使って、 業務を遂行すればいいかっていうのが、 そのSkillsには書くみたいな。
michiru_da結構広いですね。 どの通路に行くといいよとか、 どのショップに行くといいかとかも包含できるってことなんですね、 Skillsで。設計によってはだと思うんですけど。
うぱ / upamuneできますね、そうです。 一切何のツールも、 MCPももちろん使わないこともできますけど、 使うこともできる。なので手順書。
michiru_daではSkillsの中に、 こういうときはNotionのMCPで、 このドキュメント撮ってねみたいなこととかが書いてもいいよっていう。 はい。
うぱ / upamuneなので全然違うものだっていうことは理解していただけましたでしょうか。 はい。 で、もう一個さっきSkillsの、 なんでみんなこんな際合いでんだみたいな、 利点なんですけど、 Skillsは、 前にも話したんですけど、 あんまり普段GPDとかWeb版とかあれを使ったら意識しないですけど、 どのLLMもコンテキストウィンドウっていうものがありまして、 めっちゃ簡略化すると1000文字までしか使えませんみたいなのがあるんですよね。
michiru_daいろんなやりとりとか含めて、
うぱ / upamuneそうですそうです。
michiru_da1、チャットのラリーの最大の入れれる文字数みたいなのとかが決まっているっていうイメージですよね。
うぱ / upamuneそうですそうです。 なので例えばコーディングエージェントとかだったら、 ユーザーが入れた以外に、 あなたはアンサロピックが開発したクロードコードという名前のエージェントですみたいな、 システムのプロンプトも含めて1000文字なんですね。 なんでシステムプロンプトと呼ばれるもので、 例えば1000文字の文字100文字使ってますと。 MCPもそれぞれ例えばめっちゃ繋いでる人だったら、 GoogleカレンダーのMCP、 GmailのMCP、 NotionのMCP、 GitHubのMCPみたいだったら、 それぞれどういうMCPなのかと、 それぞれMCPの中にツールいっぱいあるんですよね。 例えばGmailだったらメールを検索する、 カレンダーだったら今の予定を。 それも何個もあるじゃないですか。 それを軌道陣に全部読み込むんですよ。 そしたらMCP繋いでる分だけ、 会話の中で一回も使わなかったとしても、 最初に例えば、 そのMCPとか説明全部含めたら500文字になったら、 最初のシステムプロンプト100文字、 次MCPのどういうMCPがあるかで500文字、 600文字、 じゃああとユーザー400文字しか使えません、
michiru_daみたいなことになるんですよ。
うぱ / upamune知らなかった。
michiru_daMCP使ってねとか、 使った方がいいなってなる前から、 MCPの設定は必ず読み込む段取りになってるんですね、 AIエージェント君は。
うぱ / upamuneだからツールが多いとめちゃくちゃ圧迫されてる。
michiru_da使わないのに、 もうそのコンテキスト帳が食われてもったいない。 もったいなくないですか。 なんでそうなってるの。
うぱ / upamuneその方がいいの?
michiru_daなんでその方がいいの。
うぱ / upamuneスキル図はそれと逆なんですよ。 スキル図は最初にやるのは、 例えばスキル図に300文字書いてるスキルがあるとしたら、 それを起動時に読んだら、 例えば10個あって300文字書いてたら、 最初でもう全部読み込んだら3000文字になって、 そもそも1000文字に収まらないじゃないですか。 けどスキル図は最初に読み込むのは、 スキルの名前と説明書き、 短い説明書きしか読み込めませんってなってるんで、 スキルが何文字であろうと、 全部読み込まない。 名前と説明だけバーって読み込むんで、 コンテキストも節約できるっていう感じなんですね。 なんで私は、 MCPを全部スキル経由に置き換えましたっていう。
michiru_daなるほど。
うぱ / upamuneスキルの中に、 MCPサーバーをコールするためのやり方が書かれてる。
michiru_daなるほどですね。 スキル図もエージェントが起動した時に全部読む、 概要だけ全部読むっていうのは同じ。 同じです。 そうなんだ、なるほど。
うぱ / upamuneそうですね。
michiru_daでもそうか、吉田に対応するためには、 全部しておく必要はあるのか。
うぱ / upamune最初にツールを覚えさせて。 これで私が実際に、 私が会社で開発してるMCPサーバーがあって、 それが本当に何でもアクセスできるんですよ。 NotionとかGmailとかカレンダーとか、 あとはおしゃべりをしたり、 人間聞いたりSlackをいろいろできたりするんで、 これ多分何ツールぐらいあるんだろう。 50ツールぐらいあるのかな。 これを接続してたら、 接続してるだけで何にもしてなくても、 38,400トークン消費してました。
michiru_da多いね。 思ったより多いか。
うぱ / upamuneそうです。なのでMCP、 オーパス4.5が20万トークンかな。 なのでそれのおよそ20%を最初から、 使うと限らない。 占有してます。 それを排除しまして、 全体で最初起動した時に、 もともと52%埋まってたんですよ。 あとシステムのプロンプトとか、 システムのツールとか含めて。 けどそれが36%になりましたね。 全部スキル図に移動して。
michiru_daほぼ���のMCPサーバー分がいなくなったぐらい。
うぱ / upamuneそうです。
michiru_daすごい。
うぱ / upamuneなのでそれオススメです。
michiru_daそれって、 1スキルに全部全MCPまとめてるみたいな感じなんですか?
MCPサーバーごとにスキルを作っているみたいな。
うぱ / upamuneそうですね。 今回はある業務単位というよりは、 あるMCPサーバー、 自作のやつをスキルにとにかく1ツール1対応で 変換したいという感じだったんで、 これも自動生成ですね。 なるほど。 MCPのサーバーは今までツールを提供するんだけど、 そのツールの名前とディスクリプションから
michiru_daskills.mdを自動生成して、
うぱ / upamuneその中にそのMCPのこれを叩くっていうやつを 自動で書き出すみたいな。 それが、そういうスキル作ったら 私も使いたいんだけど、みたいな人がもちろん現れるじゃないですか。 そうですね。 それを解決するのが、 クロードコードのマーケットプレイスっていう概念で、 これはApp Storeみたいな、 Google Play Storeみたいなのが、 いろんなみんな自分の みちるだ商店みたいなのがあったら、 私はそこのみちるだ商店に マーケットプレイスを自分のとこに追加しますと。 追加したうち、 じゃあみちるだマーケットプレイスのスキルはもらおうみたいな感じで ポチポチってインストールできるので、
michiru_da私も誰でも使えるようにしてます。 今回のやつは、外部で誰でも使える、 有名MCPへの接続を好きにしたやつだから、 誰でも使えてもいいっていう。
うぱ / upamuneあれなんですよ。 うちの会社の専用MCPのディスクトップなんですけど、 そのマーケットプレイスを会社のプライベートGitHubリポジトリにできるんですよ。 だから、うちの会社の人しかアクセスできないマーケットプレイスができるっていう感じです。
michiru_daそうなんですね。 GitHubにスキルを上げるより、マーケットプレイスの方が便利なんですか?
うぱ / upamuneGitHubがマーケットプレイスになります。 GitHubをマーケットプレイスとして認識してくれる。
michiru_daGitHubのままだといけてないんですか?
うぱ / upamuneマーケットプレイスの裏側はもうGitHubなんで、 同じです。 普通にGitHub以外にもマーケットプレイスできるよって話で、 今回はマーケットプレイスとしてGitHubっていう感じですね。 なので、例えば自分の個人でプライベートリポジトリ作ってGitHubで、 そこにどんなカーソルとかクロードコードとか、 いつものように使っているやつをそこに貯めていけば、 クロードコードだったらマーケットプレイス経由でポチポチってインストールできるし、 カーソルだったらGitのサブモジュールで持ってきてスキル配置すれば、 みんな同じスキルが使えてポータビリティ高くてハッピーみたいな感じ。 なので普通は多分MCPみたいなツールに一対一対応するより、 自分がよくやっているプロセス単位でスキルを使って作って、 これはまずGoogleカレンダーの今日の予定をまず取ってきて、 次にSlackに昨日の発言を持ってきて、 自分の今日のタスクリストを持ってきて優先順位付けてくださいみたいな、 一つのスキルにするみたいな感じですね。
michiru_daスキルは結構大きくていいっていう感じなんですね。 業務フロー単位でいいものにあると思うんですけど、 業務フロー単位で作るのか、なんかもうちょっと細かい、 その業務ステップ単位で作った方がいいとかあるんでしょうか。
うぱ / upamuneそのスキルがどれくらい再利用できるかじゃないですかね。 他のスキルでも同じようなことが使い回せるんだったら、 それを一つ切り出して、例えばSlack検索できるスキルとか、 毎回Slack検索方法をスキルに書くのがだるいんで、 そこは一般的なものを切り出してみたいな。
michiru_daこのスキルを使ってやってくれスキルを。
うぱ / upamuneそうですね。 公式も結構いろんなスキルが、 フロントエンドデザイナーみたいなスキルとか、 もちろんコードレビュースキルとかいろいろあるんで、 それらを見てポーンってなったり、 エージェントスキルを作れるスキルとかも公式からクリエイターがあるんで、 それを使えばいい感じになる。 みちるだスキルズを使って自分がやってることを、 とにかくマークダウンに書き出していけば、 最強人材、誕生、自分が2人分になる。 年末年始でやるか。 これ言われて何のスキル作るかなって難しくないですか。
michiru_daそうね。 めっちゃ毎日やるんだ。 Slackの内容から日報を作ってほしいとかありそう。 定期実行したいよなとか。
うぱ / upamuneなるほどね。
michiru_da勝手に作っておいたよって教えてほしいな。
うぱ / upamune今って自立的なアクションってないですもんね。
michiru_daタスク管理だったら今大丈夫かみたいな話しかけてくれないから。 こちらから問い合わせる必要がある。
うぱ / upamuneそうなんですよね。 一方、Twitterで見たケンスさんの毎分スクリーンショットを撮って、 あれは会社専用のMCPサーバーに実装しまして、 5秒ごとにスクリーンショットを撮り続けて、 MacのローカルのOCRで文字起こしして、 最終的に自分の1日のカレンダーと、 1日のSlackの発言と、 全部のOCR結果から日報を生成させるという機能がつきました。 使いましたか。 使いました。 どうですか。 ちょっとプロンプトのチューニングが必要かなというか、 細かすぎる単位とか、別にこれ載せなくていいなみたいな。
michiru_da確かにインジニアだと画面スクリーンショットを撮りたいみたいな。 めっちゃありそうですね。
うぱ / upamune音声もね、ずっとインとアウトを撮ってたら、 OCRすれば。 そうね。 それをやってたのが理由はインドAIなんだけど、 リミットレスになってメタに買収されちゃったから。
michiru_daチーン。
うぱ / upamuneチーン。 これOSSであるんですよ。 なんかスクリーンパイプっていう、 なんかめっちゃスクショし続けて、 その結果を柔軟にどうするかを自分でコードかけるみたいな。
michiru_daへー、すごいね。
うぱ / upamuneそうそう、OCRするもよし、なんとかするもよしみたいな。 あとめっちゃスターついてますけど、 ちょっと会社のPCでOSSでスクリーンショットを撮り続けたらやりたくない。
michiru_daちょっと怖いですね。
うぱ / upamune怖いですよね。
michiru_da何かあったときに怖い。
うぱ / upamuneはい、なんで年末年始はスキル作成に勤しむ。 勤しもう。 これマジでこのスキルいいぜっていうのがあれば知りたいです。
michiru_daそうですね。 うくわさん、そのMCP以外でスキルって作ってますか?
うぱ / upamune私なんかそんなスキル作ってなくて、 あれですね、そのコードレビューの時とかに、 コメントをプロリク、自分のプロリクについてる指摘事項とかを毎回この、 持ってこうさせるのに毎回スクリプト書いてたんですけど、 それもスキルと一緒にやってあげて、 ちょっとこのブランチのプロリクエストにコメントついてるから持ってきて、 対応すべきかをハンドリングして修正してほしいみたいなやつを、 毎回言ってたのをこっちに挟んで、 プロリクのコメント修正してってなったらスキルをこれだ、 使ってくれるみたいな感じですね。 でもねそれもなんかその自らの意思による実行だから、 フラッシュコマンドでええやんっていうのは、そりゃそうなんですよ。
michiru_daだからね、結構難しいんですよね。 そうですね。 自分もなんかそのさっきの何をやろう、好きにしようみたいな話で、 なんかこれ定型行みたいなのあるんだと思ったんですけど、 別に自然とこれもやった方がいいよみたいなのっていうよりか、 結構意思を持って今からこれをやってくれみたいな感じで、 今わりとフラッシュコマンドを何とか作ってるんですけど、 それが多いからちょっとどっちがいいのかしらという感じではありますね。
うぱ / upamuneわりとなんか一般的な話をスキルにするのは結構なんか、 簡単にできそうだなっていう感じはするんですけど、 例えばなんかさっき言ったようなSlack検索してみたいなやつを、 なんかMCP経由にするとか、 あとこのOCRしてっていうのをそのMacのOCRを使わせて、 何かOCRをするとか、 そういうのは何だろうな、 何かをこれしてって言うというよりは、 彼が処理してる間で勝手にそれこれOCRしたいなとか、 これSlack検索したいなみたいな時に、 プリミティブなものは使ってもらえるみたいな感じだけど、 何かのねワークフローを実行したいときは、 スラッシュコマンドでいいかっていう気持ちにはなるのは分かる。
michiru_daそうですね、なんかその業務全体が分かっている、 なんか大元のスキルみたいなのが必要になっちゃうっていうか、 何の時にそのスキルを発動させていいか分かんないみたいなのがありそうですよね。 ちょっと一個作ってみて、 汎用的なものは作ってみてという感じですね。
うぱ / upamuneなんでスキルはそんななんか行儀惜しいものじゃなくて、 単純な仕組みで実現されているやつですっていう話ですね。 こういうのなんかあれなんだけど、 一番の問題は作るのはそのイージーなんだけど、 その時こういう動きじゃねえんだよなっていう時に、 ちゃんと修正し続けられるかっていう、 そのハードルをどうにかしてやらないといけないんだよな。
michiru_da相当毎回使うやつじゃないとそんな頑張れないですね。 そうですよね。 そうやって人がやった方が早いわみたいな。
うぱ / upamune分かるー。
michiru_daなのでちょっとこのスキルはよく業務で活躍していますみたいなのがある人はぜひ教えてください。 どっかうぱさんがスライドを作ったやつもあったが、
うぱ / upamune今見た。
michiru_da何か言い残したことが。
うぱ / upamune確かにこのよくエンジニアであるのは、 このプロジェクトではこのライブラリのこのバージョン使ってとかいうのがよくAIって。 ありそう。 そうそう。 彼らのナレッジカットオフの最新のバージョンとかを使うとするんで、 2年前のバージョンとかなんですけど、 それを今まではルールで説明してたんですよね。 CloudMDみたいな。 でもその時って別に毎回プロジェクトを初期化してるわけじゃないんで、 その別に使わないのに無駄なコンテキストが消費されたのが、 それがなくなるっていう感じですね。
michiru_daこう書いてますね。 なんかこのお店の解説ブログみたいなのチラッと見た気がしますね。
うぱ / upamune毎回なんかまあそうかみたいなタイプCの話もそうだったけど、 MCPUはタイプCですって。
michiru_daわかりやすい。 しかもなんかレンチみたいな。 身近じゃないなって。
うぱ / upamuneはい。 俺たちも作ろう。 最強のスキルを。
michiru_daはい。 じゃあそんなところでしょうか。
うぱ / upamuneはい。
michiru_daはい。 感想・質問・フィードバックは、 Xのハッシュタグ、間近で読む全部小文字、または概要欄のお便りフォームまでお寄せください。 Spotifyのベルマークを押すと更新通知が届きますので、そちらもお願いします。 ありがとうございます。
うぱ / upamuneありがとうございました。