新しいAI agent framework「smolagents」を使ってみました。 コードはシンプルで使いやすく、AI agent初心者にもお勧めです!
昨年末に新しいAI agent framework「smolagents」がHugging Faceから出ました(1)。コードはシンプルで使いやすく、その上マルチエージェントにも対応してます。今回は実際にデータ分析AIエージェントを作成して、いろいろ試してみました。参考にして頂ければ幸いです。
1.「smolagents」の特徴
今回新しくリリースされた「smolagents」は、既存のフレームワークにない特徴があります。1)まずシンプルな構造です。AIエージェントを動かすのに3〜5行書けばすぐ実行できます。とにかくAIエージェントを始めたいといった方にピッタリです。2)また、Hugging Faceから出ただけに、既に膨大な数のオープンソースモデルがHubにあります。これを簡単に呼び出して使えます。もちろんGPT4oなどプロプライアタリモデルにも対応してますので、オープン・クローズ両方に使えます。3)最後に、エージェントを実行するとpython codeが生成されてアクションします。従って膨大なpython ecosystemの資産が使えるので、非常に便利です。特に私のようにデータ分析を専門とする者にとってはsklearnなどのpythonライブラリが使えるのでうってつけのframeworkです。
2.クレジットカードのデフォルトを予測するエージェント
それでは実際にAIエージェントを構築してみましょう。テーマは「smolagentによるAIエージェントがクレジットカードのデフォルトを予測する」です。通常、デフォルト予測モデルを構築する場合、skleanなどの機械学習ライブラリを使ってコーディングするわけですが、今回はデータを与えると、AIエージェント自身が内部でpythonを使ってコーディングし、最初の10顧客のデフォルト確率を自動的に表示するようにしたいと思います。
コード書き方は公式ドキュメントを参考にして頂くとして、ここでは実際にどんなプロンプトを書いて、AIエージェントにデフォルト予測をさせるかを提示したいと思います。ポイントは具体的に「データの分析には sklearn の HistGradientBoostingClassifier を使用してください」と指示する点だと思います。このライブラリは機械学習モデルを作成する上で精度高くかつ、使いやすいもので評価が高いです。これはデータ分析のドメイン知識になりますが、その知識をプロンプトに盛り込むことにより高い精度が得られることを期待してます。
さらに、question(質問)として、具体的に「顧客10名のデフォルト確率」を計算する指示を追加します。AIエージェントには「プロンプト+質問」の形で入力します。
するとAI agentが以下のようなpython codeを自動生成してくれました。通常であれば私が自分で書いている内容ですが、AI agentがかわりにやってくれてます。そして結果として、10人分のデフォルト確率も出ていますね。素晴らしい!
このように、ユーザーは「sklearnを使ってデフォルトの確率を出して」と指示するだけで、AIエージェントが顧客ごとにデフォルトの確率を計算するコードを書いてくれます。そして顧客ごとのデフォルト予想ができるようになります。今回はデフォルト予測でやってみましたが、いろんなことに応用が効くと思います。今後の展開が楽しみですね。
3.初めて「smolagents」使ってみた感想
今までAI エージェントを実装するにはLangGraphを使っていました。いろいろ細かい設定ができるので気に入っていましたが、state, tool, node, edgeなどをそれぞれコーディングすることが必要で、初心者の方がいきなり始めるには敷居が高いと感じていました。今回「smolagents」で実装してみて、テンプレートに従ってコーディングすれば、数行書けば動くので、誰でも始められると思いました。もちろんAI開発経験者のニーズにも充分応えられるので、2025年は積極的に使って様々なAIエージェントを開発しようと思ってます。今回のコードはnotebookで公開しました(2)。それでは次回のAIエージェント記事をお楽しみに。stay tuned!
(1) Introducing smolagents, a simple library to build agents, Aymeric Roucher, Merve Noyan, Thomas Wolf, Hugging Face, Dec 31,2024
2) AI-agent-to-predict-default-of-credit-card-with-smolagent_20250121
Notice: ToshiStats Co., Ltd. and I do not accept any responsibility or liability for loss or damage occasioned to any person or property through using materials, instructions, methods, algorithms or ideas contained herein, or acting or refraining from acting as a result of such use. ToshiStats Co., Ltd. and I expressly disclaim all implied warranties, including merchantability or fitness for any particular purpose. There will be no duty on ToshiStats Co., Ltd. and me to correct any errors or defects in the codes and the software.