MicrosoftのAIエージェント「Machette-1」徹底解説!驚異の機能と限界を紐解く
- 2025-01-22

MicrosoftのAIエージェント「Machette-1」徹底解説!驚異の機能と限界を紐解く
はじめに:AIエージェントの進化とMachette-1
皆さん、こんにちは!ニャンタです。今回は先日公開されたMicrosoftのAIエージェント「Machette-1」について、徹底的に解説していきます。
最近、AIエージェントが非常に盛り上がっていますが、皆さん何か使っていますか?特にコーディング系のAIエージェントが流行っていて、Replit AgentやGitHub Copilotなどが有名です。
そもそもAIエージェントとは何か?という方は、過去にアップロードした動画をご覧ください。簡単に言うと、人間が細かく指示しなくても、色々なことをうまくやってくれるものです。例えば、ChatGPTに「株価を分析するアプリを作ってください」と入力すると、それに基づいてコードを出力してくれます。
従来の開発では、このコードを自分の実行環境にコピー&ペーストし、アプリが動くかを確認しながら開発を進めていました。1回で全てうまくいくことは稀で、エラーが出たらChatGPTに聞き、出力された文章を元に開発を繰り返す…という作業を繰り返していました。これはある程度の専門知識を持つ人に限られる作業です。
ChatGPTのようなチャット型のAIのデメリットは、利用者にある程度のスキルを要求することです。自分が知らないことを質問するのも難しいですよね。
Machette-1の登場:AIエージェントの課題解決への挑戦
そこで、今回紹介するMachette-1の出番です!Machette-1はジェネラリストマルチエージェントシステムで、汎用的に様々なことができるAIエージェントです。だからこそ、多くの人に影響を与える技術になる可能性を秘めているのです。
では、Machette-1は具体的にどういったものなのでしょうか?誰でも分かるように解説していきます。最新の生成AIについて知りたい方は、ぜひ最後まで読んでみてください。
Machette-1:複数のAIエージェントによる協調作業
Microsoftの公式ページには、Machette-1について次のように書かれています。「ジェネラリストマルチエージェントシステム」です。複数のエージェントが協力しながら、難しいタスクを解決できるというものです。
「エージェント」という用語が分かりにくいですが、簡単に言うと特定のプロンプトが設定された言語モデルのことだと理解できます。例えば、プログラムコードを書かせるためのプロンプトが設定された言語モデルや、記事を書かせるためのプロンプトが設定された言語モデルなどです。
Machette-1では、これらの異なるプロンプトが設定された言語モデル(エージェント)が協力して問題を解決します。これがマルチエージェントの簡単なイメージです。
Machette-1の動作:オーケストラエージェントによるタスク管理
Machette-1を使っているユーザーがタスクを与えると、どのように動作するのかを図で示してみましょう。
例えば、テンポラリな画像にPythonのコードが書かれており、そのコードを実行するとURLが得られ、そのURLにアクセスするとC++のソースコードがあるとします。「それを実行して、3番目と5番目の数値を取得してください」というタスクが与えられたとします。
この様な複雑なタスクをAIエージェントだけでこなすのは非常に困難です。そこでMachette-1では、オーケストラというエージェントが、どのようなタスクを実行しなければならないかを分解し、それぞれのエージェントにタスクを割り振ります。
番号順にエージェントが実行されます。最初にテンポラリな画像にアクセスするためにFile Surferが使われ、情報が取得されます。次にCoderというエージェントが実行され、Pythonコードが書かれます。そしてComputer Terminalというエージェントがそのコードを実行し、URLを取得します。Web SurferというエージェントがそのURLにアクセスし、C++のコードを取得します。再度CoderがC++コードを書き、Computer Terminalが実行する、という流れです。
このように、それぞれのエージェントが得意なことを分担しながら、複雑なタスクを解決していくのがMachette-1のマルチエージェントシステムです。
例えば、「A社の決算書とB社の決算書の比較を行い、考察をPowerPointにまとめてください」といった指示を与えると、各エージェントが協力して成果物を作り出してくれるでしょう。
Machette-1の強み:オーケストラエージェントとタスク・プログレスレジャー
Machette-1の論文には、オーケストラエージェントのレジャーの仕組みが非常に重要だと書かれています。このオーケストラエージェントはタスクレジャーとプログレスレジャーという2つの状態管理を行っています。
タスクレジャーは、ユーザーから与えられたタスクにおいて、何をしなければならないのかを計画する仕組みです。例えば、コードを実行したり、Webブラウザを操作したりするなど、複数のタスクを分解・計画します。
プログレスレジャーは、分解されたタスクが完了しているか、あるいはループに陥っていないかを監視する仕組みです。エージェントを使うと、エラーが出ているのに何度も同じことを繰り返して無限ループに陥ることがありますが、プログレスレジャーはこのようなループの発生を検知します。2回以上ループが発生し、詰まっていたら、タスクレジャーで計画を立て直します。
オーケストラエージェントは、タスクの計画と監視、どのエージェントを使うべきかといったことを行ってくれます。この仕組みのおかげで、無限ループに陥ることなく、様々なタスクを実行できるのです。
従来のAIエージェントでは、このオーケストラエージェントのような仕組みがないため、パフォーマンスが31%も低下してしまうという実験結果も論文に記されています。
Machette-1で利用可能なエージェント
Machette-1では、オーケストラエージェント以外にも4つのエージェントが利用できます。
- Coder: プログラムコードを書く
- Computer Terminal: コードを実行する
- Web Surfer: インターネットのウェブサイトを参照する
- File Surfer: ローカルファイルを読み込む
エージェントの名前を見れば、おおよそ何が出来るか想像できるでしょう。
エージェントの定義方法:ツールベースとロールベース
Machette-1の論文では、エージェントの定義方法も重要なポイントとして取り上げられています。従来のマルチエージェントシステムは、ロールベース(役割ベース)で定義されていました。つまり、人間のチームのように、計画者のエージェント、研究者のエージェント、データ分析のエージェントなど、役割を明確に定義してシステムを構築することが多かったのです。
しかし、ロールベースだと、研究者とデータ分析のエージェントが両方ともWebブラウザを使ったりコードを書いたりするので、管理が複雑になります。
そのため、Machette-1ではツールベースでエージェントを定義することで、管理の複雑さを軽減しています。
Machette-1の評価結果と限界
いくつかのタスクにおいて、GPT-4のみを使った場合、他の手法を使った場合、Machette-1を使った場合、そして人間がやった場合を比較した評価結果があります。
GPT-4単体では精度が全く出ませんでしたが、Machette-1ではGPT-4 OmniとO1 Previewという論理的な問題解決に特化したモデルを組み合わせることで精度が向上しました。現在の最高性能を持つものと匹敵するほど、Machette-1の精度は高いです。
しかし、人間と比較すると、まだまだ差があるのが現状です。AIエージェントが2025年に来る!と言われていますが、言語モデルの性能が向上するだけでは、人間レベルに達することは難しいと感じます。
コーディングなど一部の分野では人間を超えてきていますが、複数のシステムを組み合わせる複雑なタスクは、依然として困難です。そのため、AIエージェントが人間の仕事を全て代替できるようになるには、まだギャップがあると言えるでしょう。
Machette-1の実践:簡単なタスク実行と課題
それでは、実際にMachette-1を使ってみましょう。まずは、GitHubからコードをコピーし、AutoGenというフレームワークを使ってセットアップします。ここでは、パッケージ管理ツールとしてuv
を使用します。
簡単なタスクとして、「NvidiaとAppleの株価を教えてください」という指示を与えてみます。オーケストラエージェントがWeb Surferを起動し、スクショを撮ったりしながら処理を進めます。しかし、途中で処理が止まってしまいました。
Human-in-the-loopモードで試すと、オーケストラエージェントがWeb Surferを使い、NvidiaとAppleの株価を検索してくれました。しかし、日本語が文字化けしたり、最新の動画を持ってきてくれなかったりと、完璧ではありません。
まとめ:Machette-1の可能性と今後の展望
Machette-1を検証した結果、ベンチマークでも示されているように、人間の能力にはまだ及びません。しかし、Webブラウジングなどの複数のシステムと連携するような複雑なタスクにおいては、タスクを計画し、進捗を管理するオーケストラエージェントの仕組みが非常に有効であることが分かります。
この仕組みを参考に、特定のタスクに特化したエージェントシステムを作っていくことは有望です。
Machette-1は、まだ発展途上ですが、今後のAIエージェントの進化において大きな可能性を秘めていると言えるでしょう。 皆様も何か感想があれば、コメント欄で教えてください!
余談:ニャンタの活動について
最後に、私の宣伝をさせてください!公式LINEでは、ChatGPTやDeFiに関する資料を提供しています。生成AIについてもっと学びたい方は、ぜひご覧ください。Udemyでも生成AIに関するコンテンツを販売しているので、そちらもチェックしてみてください!
この動画が良かったという方は、高評価、コメント、チャンネル登録をお願いします。それでは、また次の動画でお会いしましょう!バイバイ!