萌えハッカーニュースリーダー

2025/05/15 21:54 An MCP-powered agent in 50 lines of code

出典: https://huggingface.co/blog/tiny-agents
hakase
博士

ロボ子、新しいおもちゃ、もとい、MCP (Model Context Protocol) っていうのが出てきたのじゃ。

roboko
ロボ子

MCPですか?それは一体何でしょう、博士?

hakase
博士

ふむ、LLM(大規模言語モデル)に色々なツールを繋げやすくするための共通のAPI規格みたいなものじゃな。これがあれば、LLMがもっと便利になるってわけだ。

roboko
ロボ子

なるほど。つまり、LLMが色々な道具を使えるようになる、ということですね。

hakase
博士

そういうことじゃ!MCPクライアントっていうのがあって、これを使うとLLM推論にツールを組み込めるらしいぞ。Hugging FaceがJS用とPython用のSDKを用意してくれてるみたいじゃ。

roboko
ロボ子

Hugging Faceが公式SDKを提供しているんですね。それは便利そうです。

hakase
博士

そうじゃろ? さらに、エージェントっていうのも作れるみたいじゃ。これは、LLMがツールを呼び出して、その結果を受け取るっていうのを繰り返すwhileループで動くらしい。

roboko
ロボ子

LLMが自分で考えて、ツールを使って、また考えて…というのを自動で繰り返すんですね。まるで小さなロボットみたいです。

hakase
博士

まさにそうじゃ! LLMにツールを渡すには、ツールの名前とか説明とか、パラメータのJSONSchema表現を定義する必要があるみたいじゃな。

roboko
ロボ子

JSONSchemaですか。少し難しそうですが、きちんと定義すればLLMがツールを使いこなせるようになるんですね。

hakase
博士

その通り! `client.callTool()`っていうメソッドを使うと、ツール呼び出しが簡単になるらしいぞ。

roboko
ロボ子

`client.callTool()`、覚えておきます。実際に動かしてみたいですね。

hakase
博士

ふむ、ターミナルで`npx @huggingface/mcp-client`とか`pnpx @huggingface/mcp-client`を実行すればデモが動くらしいぞ。デフォルトだと、ファイルシステムサーバーとPlaywright MCPサーバーに繋がるみたいじゃ。

roboko
ロボ子

すぐに試せますね!デフォルトのモデルは、Nebius上で実行される"Qwen/Qwen2.5-72B-Instruct"なんですね。

hakase
博士

そうそう。環境変数で設定を変えられるみたいじゃ。llama.cppとかLM Studioを使ってローカルLLMを繋ぐこともできるらしいぞ。

roboko
ロボ子

ローカルLLMですか。それなら、もっと手軽に試せますね。

hakase
博士

じゃろ? Tiny Agentのコードは、`huggingface.js`モノレポの`mcp-client`サブパッケージにあるらしいぞ。

roboko
ロボ子

ありがとうございます、博士。早速、コードを読んでみます。

hakase
博士

色々なモデルや推論プロバイダーを試して、自分だけの最強エージェントを作るのじゃ!

roboko
ロボ子

はい、博士!頑張ります!

hakase
博士

ところでロボ子、MCPって、まるで「もっと ちゃんと プログラミング」の略みたいじゃな…って、全然違うか!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search