「LLMとツールの連携、もっとスムーズにならないかな…」と感じている方に、朗報です!🎉
Node.js向けのLLMライブラリ NodeLLM のバージョン1.17がリリースされました。今回のアップデートは地味に見えて、実はかなり大きな変化が含まれています。ポイントは大きく3つ。順番に見ていきましょう!
🔄 MCP Samplingとは?「サーバーがLLMにお願いできる」仕組み

MCP(Model Context Protocol)はもともと、ホスト(クライアント)がサーバーのツールやリソースを使うという一方通行の仕組みでした。
でも今回追加された MCP Sampling は、その逆方向を実現します。つまり「サーバー側がホストにLLM補完(テキスト生成)をお願いできる」ということです。
イメージとしては、こんな感じです👇
- 従来:クライアント → サーバーの機能を呼ぶ
- Sampling:サーバー → クライアントに「ちょっとLLMに考えてもらって」と依頼
これにより、AIエージェントがより自律的に動ける場面が増えます。たとえば、ツール実行中にサーバーが「次のアクションを決めるためにLLMの判断が欲しい」というケースに対応できるんですよね。
⚡ 並列ツール実行(Concurrent Tool Execution)でスピードアップ
これまでのNodeLLMでは、ツール呼び出しが逐次実行(一つ終わったら次へ)でした。でも1.17からは、複数のツールを同時に並列実行できるようになっています。
たとえば「天気APIを叩く」「カレンダーを確認する」「ニュースを取得する」という3つのツールがあったとき、これを同時に実行できるわけです。実行時間が大幅に短縮できますね!
コードで書くとこんなイメージです👇
// NodeLLM 1.17 での並列ツール実行の設定例
const agent = new NodeLLM({
model: 'gpt-4o',
tools: [weatherTool, calendarTool, newsTool],
// 並列実行を有効化するオプション
concurrentToolExecution: true,
maxConcurrentTools: 3, // 同時実行の上限数
});
// ツールが同時に呼ばれ、すべて完了してから次へ進む
const result = await agent.run('今日の予定と天気とニュースを教えて');
console.log(result);
ポイントをまとめるとこんな感じです👇
concurrentToolExecution: trueで並列モードONmaxConcurrentToolsで同時実行数の上限を制御できる- コアだけでなく ORM永続化レイヤー でも同じ設定が使えるようになった
🗄️ ORM制御がより賢く(Smarter ORM Control)
NodeLLMにはLLMのやり取りをデータベースに永続化するORMレイヤーが組み込まれています。今回の1.17では、このORM層でのツール実行制御が コア部分と統一された仕様 になりました。
つまり、「コアでできること=ORMでもできる」という一貫性が生まれたわけです。これ、地味ですが実際に使うと「なんでコアとORMで動きが違うんだろう?」という混乱がなくなるので、かなり助かります。
📌 まとめ
NodeLLM 1.17のアップデートをざっくりおさらいすると:
- ✅ MCP Sampling:サーバーからLLM補完をリクエストできるようになった
- ✅ 並列ツール実行:複数ツールを同時に動かして処理速度アップ
- ✅ ORM制御の統一:コアとORMで一貫した動作に
AIエージェントを実装する際の「痒いところに手が届く」系のアップデートが揃っています。特に並列ツール実行は、複数のAPIを叩くエージェントを作っている方にとってすぐ恩恵を感じられるはずです。ぜひ試してみてください!🚀





