Claude Skillsを早速試す

10/16に発表になったClaude Skillsは、これまでClaudeCodeのみだったAgent機能やまともにプログラミング知識が必要なMCPサーバとちがって、Claude DesktopのみでClaudeに機能追加できる画期的な新機能でした。

早速試してみましたのでレポートを。

そもそもSkillsって?

要するに「LLMでやる必要がない作業はスクリプトでやったほうがトークンお得だよね」です。意味合い的にはMCPサーバと同じですが、Skillsは使うときだけ読み込まれるのでなんぼ作っても設定ファイルでトークンが圧縮されるようなことがありません。

Skillsの作り方

各種設定やアーティファクトを生成するのとあんまり変わりません。

「〇〇をするSkillを作ってください」

でOKです。

ClaudeCodeにスラッシュコマンドがあるかなと思いましたが、まだ無いみたいです。

で。動作的にはAgentsと同じで、呼び出し元のコンテキストはほとんど消費せず、独立したコンテキスト空間で作業をします。なので長文の読み書きなどをさせてもトークンオーバーになりにくいのが特徴です。ClaudeCodeだと自動コンパクトがあるのでトークンオーバーしても継続できますが、ClaudeDesktopでは完全停止しちゃうので、トークン節約出来るとかなり使い勝手が良くなるのではないでしょうか。

今回はClaudeくんおすすめの「Javascriptのコメントからドキュメントを作ってくれるSukills」を作ってみたいと思います。

Agentsは作成した時点で読み込まれて、再起動時にも自動的にロードされて常駐しますが、Skillsは指示があるまで読み込まれません。なのでこういった「ドキュメントを作る」といったたまにしか動かない用途にはピッタリだと思います。

「JavascriptのコメントからAPIドキュメントを作るSkillを作ってください」

これでOKです。

SkillsでAPIドキュメントを作らせてみる

そんなわけで、プロンプトだけで作ったSkillは、こんな感じで居ると思います。(ClaudeCodeの場合。ClaudeDesktopだと多分 C:\Users\ユーザ名\.claudeの中に居ると思います)

./
├ .claude
│└ skills
│ └ api-doc
│  └ SKILL.md
 ⋮

このSKILL.mdが本体です。呼び出すときは親フォルダ名がそのまま名前になります。

api-docでこのファイルのドキュメントを作成してください

どこに作るかとか、ファイル形式はどうするかとか聞かれると思いますが改めて指示してあげてください。

1ドキュメントで試す

Plain vs Skills

Skills使ったほうがトークン消費が多いという結果に。ま、まあ1ファイルだけだし、オーバヘッドとかあるし……。大量のファイルだと違うんじゃないかな

20ドキュメントで試す

Plain vs Skills in 20 files

悪化してる

トークン消費が多い理由

既にお気づきの方もいらっしゃるかもしれませんが、この時点ではClaudeを多重起動しているだけなんで、それぞれのスレッド同士のやり取りがオーバヘッドになるため逆に消費が増えるという。。

それを解消するために、Skillsにはスクリプトを実行する機能があります。

Skillsにスクリプトを組み合わせる

スクリプトといいつつ、ClaudeCodeで動かすならC++だろうがRustだろうが実行可能なアプリならなんでもOKです。ただそこまで速度も必要ないでしょうから、どこでも動くスクリプト(Javascript、Python、sh、cmdなど)が無難ですね。

JavaScript、PythonならClaude Desktopでも動作してくれるみたいです。

スクリプトもClaudeに作ってもらう

こういうツール類は使い捨て前提で作りましょう。

srcフォルダの中のソースコードをすべて読み込み、docコメントからAPIドキュメントを作成してmarkdown形式でdocsフォルダに保存するスクリプトをJavaScriptで作成してください。

srcフォルダもdocsフォルダも出力形式も決め打ちです。

./
├ .claude
│└ skills
│ └ api-doc
│  ├ SKILL.md
│  └ api-doc.js
 ⋮

こうなっていればOKです。ClaudeCodeの場合は一度再起動する必要があります。

試した結果

Plain vs Skills vs Skills with Script

17,369tokens -> 4,000tokens。これは圧倒的です。

なんで消費が減ったのか

AIが得意なのは「バラツキがあるデータ群の処理」で、アルゴリズムやプログラムが得意なのは「整形されたデータの処理」です。そしてアルゴリズムそのものはトークンを消費せず、AIに比べれば実行コストもほぼゼロ、速度も俊足です。今回の場合は

Docコメント

というある程度整形されたデータを扱うため、普通のプログラムで十分対応可能ということ。(もともとJSDocとかPHPDocumentorとか、AIナシでドキュメントを生成できる専用のプログラムがあります)

AIが苦手な部分はプログラムにぶん投げる事ができる、それがSkillsの強みだと思います。

SKILL.mdとスクリプトファイルをディレクトリに入れてzipで固めてClaudeDesktopにD&DでClaudeDesktopでも使えるようになるそうです。

あれ、どこかで聞いたような……

そう、MCPサーバと全く同じコンセプトです。

MCPを制作する場合、所定の入出力機構が必要で、制作や実際に動かすにはある程度プログラミングの経験・知識が必要です。

SkillsはMCPを作るほどでもないことをササッと簡易パッケージに出来るのが強みになるんじゃないかなと思います。Fetch機能がエージェント本体に組み込まれて廃れたように、MCPは既存ソフトをAIが操作できるように機能追加したり、より複雑な作業をするのに特化して棲み分けされて、お互いに補間しあって使われるものになりそうです。

公式記事だとpythonスクリプトを使ってPDFファイルからの文章抽出の例が出ていますが、「1機能に絞るべき」と書かれています。多分、あまり何でも出来るようにしちゃうとSKILL.mdが長くなって結局トークン消費量がお得じゃないからかもですね。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です