SmolAgents

SmolAgents

Hugging Face · コーディング

SmolAgentsはHugging FaceによるオープンソースのAIエージェントフレームワークだ。エージェントがコードを書いて行動し、サンドボックスで動くPythonエージェントライブラリである。

SmolAgents の画面プレビュー

SmolAgents について

What Is SmolAgents

SmolAgentsはAIエージェントを組み立てるためのPython エージェントライブラリで、オープンソース エージェントフレームワークとしてHugging Face エージェントの一つに数えられる。チームは中核のロジックを約1,000行に収めており、抽象の壁を覚えるのではなくコードが何をしているかをそのまま読める。プロジェクトはオープンソースで、pipコマンド1つで無料導入できる。

根っこにある発想は単純だ。エージェントは道具の呼び出しを並べたJSONを埋めるのではなく、コードを書いて行動する。CodeAgentは各ステップで短いPythonを書き、それを実行する。Hugging Faceによれば、この方式はタスクに必要な手数とモデル呼び出しを減らす。従来の書き方を使いたい場合は、JSON形式の呼び出しを保つToolCallingAgentも用意されている。

モデルが書いたコードを走らせる以上、危険は避けられない。そこでSmolAgentsは本物の隔離環境へと背中を押す。E2B、Blaxel、Modalといったマネージドのクラウドサンドボックスに対応し、自前のDockerも使える。内蔵のローカルPython実行器はわずかな制限をかけるだけであり、公式ドキュメントも安全境界ではないとはっきり記している。もう1つ覚えておきたいのは、これが開発者向けの道具だという点だ。ボタンで操作するアプリはなく、Pythonに慣れていないと元は取れない。

Getting Started

  1. pip install "smolagents[toolkit]" でパッケージを入れ、既定のツール一式を引き込む。
  2. モデルを選ぶ。ローカルのtransformersやOllama、Hugging Face Hub上のプロバイダ、あるいはLiteLLMやOpenAI互換の接続で届く任意のモデルでよい。
  3. CodeAgentを作り、ツールとモデルを渡し、agent.runに自然言語のタスクを与える。
  4. 大事なものに触れる前に、E2BやDockerといったサンドボックスの中でエージェントを走らせる。
  5. 仕上がったエージェントはpush_to_hubでHubに共有し、他の人が読み込んで再利用できるようにする。

AIツール情報

SmolAgentsの料金、対応プラットフォーム、性能を簡単に確認できます。

無料プランはい
有料プランN/A (free and open source)
プラットフォームPython library, CLI, Windows, macOS, Linux
開発元Hugging Face
カテゴリコーディング
リリース日Dec 2024
最終更新May 2026
サイト訪問数10.4K
サイト世界ランキング2.3M
API提供状況はい

こんな人におすすめ

このツールが最も力を発揮するユーザー、タスク、シーン。

ユーザー

  • Python開発者:読みやすく手を入れられるエージェントを求めており、小さなコードのおかげで全体の流れをマニュアルなしで追える。
  • ローカルモデルを使うAIエンジニア:このライブラリは特定のプロバイダに縛られないため、Ollamaやtransformersのモデルもホスト型APIと同じように動く。
  • 研究者や学生:公式のベンチマーク用スクリプトとHugging Faceのエージェント講座があり、コードエージェントの実力を試す実用的な場になる。

タスク

  • 多段階のリサーチを自動化する:CodeAgentがWeb検索をつなぎ、計算を回し、結果を一度にまとめる。ツールを1つずつ呼ぶ必要はない。
  • Webを巡回するエージェントを組む:同梱のwebagentコマンドがブラウザを操作し、ページや価格、商品情報を代わりに集める。
  • 手持ちのツールをつなぐ:MCPサーバ、LangChain、Hugging Face Spaceからツールを取り込み、書き直さずに使える。

シーン

  • エージェントの着想を素早く試す:数行で動くエージェントができ、大きな構成に投資する前にその方針が成り立つかを確かめられる。
  • 機密の作業をサンドボックスに留める:E2BやDockerのサンドボックスに向ければ、生成したコードを手元のマシンで野放しにせず実行できる。
  • 再利用できるエージェントをチームで共有する:Hubに公開すれば、使い捨てのスクリプトが同僚の一行呼び出しで読み込める部品になる。

主な機能

コードで行動を書くコードエージェント

SmolAgentsは既定のエージェントをコード中心に組み立てる。ツール名を並べたJSONを吐く代わりに、モデルは各ステップで短いPythonを書き、フレームワークがそれを実行する。Hugging Faceによると、この方式は一部のベンチマークで手数が約3割減り、難しい課題でも良い成績を出す。同じエージェントが複数の検索や計算を1回の行動で回せる。

サンドボックスでのコード実行

エージェントは自分で生成したコードを動かすため、SmolAgentsはE2B、Blaxel、Modalといったマネージドサンドボックスや、自前のDockerコンテナによる隔離実行に対応する。任意のコードが手元のマシンに届かない仕組みだ。ローカルのPython実行器は制限をいくつか加えるが、公式ドキュメントは安全境界ではないと警告しており、サンドボックスが本来の道筋となる。

モデルに縛られない構成

このライブラリは特定のプロバイダに閉じ込めない。Hugging FaceのInference Client、LiteLLM、Together AIやOpenRouterといったOpenAI互換サーバ、ローカルのtransformersモデル、Azure、Amazon Bedrockのモデルクラスを備える。エンジンの差し替えは1行で済み、コストを見比べたり、ホスト型とローカルの間を行き来したりするときに効いてくる。

ツールと入力形式の柔軟さ

MCPサーバからツールを読み込み、LangChainのツールを応用し、Hugging Face Spaceをツールとして包むこともできる。エージェントが受け取るのはテキストだけではない。同じフレームワークが視覚、動画、音声の入力も扱うため、巡回や画像読み取りをするエージェントを別のライブラリなしで組める。

Hubでの共有と再利用

エージェントとツールはHugging Face Hubへ上げ下げできる。仕上がったエージェントはSpaceリポジトリになり、どこからでも呼び出せる。個人のスクリプトが共有の部品に変わる。Hub連携こそ、チームやコミュニティでの再利用を現実にする部分だ。

CLIとマルチエージェント対応

smolagentとwebagentの2つのコマンドで、ターミナルから直接エージェントを走らせられる。対話モードはエージェントの種類、ツール、モデル設定を順に案内する。さらにSmolAgentsは、あるエージェントが別のエージェントを管理する階層構成に対応し、検索役やコード役へ仕事を振る管理者を組める。

メリットとデメリット

メリット

  • 中核は約1,000行で、エージェントのループが読みやすく、手を入れやすい。
  • コードエージェントはJSONのツール呼び出しより手数とモデル呼び出しを抑え、長いタスクのコストを下げる。
  • ローカルのOllamaからOpenAI、Anthropic、Bedrockまで、ほぼどのモデルでも動く。
  • E2B、Blaxel、Modal、Dockerによるサンドボックス対応が、生成コードに本物の隔離を与える。
  • Hub連携でエージェントとツールを公開・再利用でき、一から作り直さずに済む。

デメリット

  • 開発者向けのライブラリでありアプリではないため、Pythonが分からない人はそのままでは使えない。
  • 内蔵のローカル実行器は安全なサンドボックスではなく、E2BやDockerなしで信頼できないコードを走らせるのは現実的なリスクだ。
  • 抽象の層が薄いぶん配線の一部は自分で担う。必要な部品を多く同梱する重めのフレームワークとはそこが違う。
  • リモートサンドボックスやローカルモデルの設定には、最初のエージェントが動くまで手間がかかる。

よくある質問

SmolAgentsは、コードを書いて実行することでタスクをこなすAIエージェントを組むためのPythonライブラリだ。開発者はリサーチ、Web巡回、ツール呼び出しといった多段階の作業を自動化したり、重いフレームワークなしでエージェントの設計を試したりする。