OpenManus をローカルLLMで実行してみました。
ついでにAlibabaが最近公開した QwQ-32B モデルも使ってみます。
前置き
Manus とは
Manusは、中国のスタートアップ企業Monicaが開発した完全自律型のAIエージェントです。en.wikipedia.org
人間の直接的な指示や監督なしに複雑なタスクを独立して実行する能力を持ち、具体的な機能として、履歴書の評価、株式の相関分析、ニューヨークの不動産評価など、多岐にわたるタスクを処理できます。
その性能は、OpenAIの「DeepResearch」を上回ると評価されており、AI分野における中国の技術的進歩を示すものとして注目されています。
OpenManus とは
OpenManusは、Manus AIエージェントの機能を再現することを目指したオープンソースプロジェクトです。github.com
Manusは招待制でアクセスが制限されています。これに対し、OpenManusは誰でも自由に利用・カスタマイズできるオープンソースの代替手段として開発されました。
QwQ-32B とは
Alibaba Cloudが2025年3月6日に公開したモデルで、32Bパラメータのモデルでありながら671BパラメータのDeepSeek R1と同等の性能を持つとされています。
このモデルは、Apache 2.0ライセンスの下でオープンソースとして公開されており、Hugging FaceやModelScopeを通じてアクセス可能です。
実行環境
- Windows 11
- Nvidia RTX4080 16GB
OpenManus のインストールと設定

OpenManusのインストール手順
uvのインストール
uv はRustで実装された高速なPythonパッケージおよびプロジェクト管理ツールです。
Installing uv の手順に従ってインストールします。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
インストールが完了したら環境変数の再読み込みのため、ターミナルを開き直してください。
uv -V
コマンドでバージョンが表示されれば uv のインストール成功です。
> uv -V
uv 0.6.5 (bcbcd0a1e 2025-03-06)
OpenManusをクローン
OpenManusのリポジトリ をクローンします。
git clone https://github.com/mannaandpoem/OpenManus.git
cd OpenManus
仮想環境の作成
新しい仮想環境を作成し、アクティベートします。
uv venv --python 3.11
.venv\Scripts\activate
依存関係のインストール
uv pip install -r requirements.txt
設定ファイルの作成
.\config\config.example.toml
をコピーして config.toml
を作成します。
cp .\config\config.example.toml .\config\config.toml
今回はOllamaと連携してローカルLLMで動かしたいため、以下のように設定しました。
せっかくなので、Alibabaが最近公開した QwQ-32B モデルを設定します。
# Global LLM configuration
[llm]
model = "qwq"
base_url = "http://localhost:11434/v1/"
api_key = "ollama"
max_tokens = 4096
temperature = 0.0
# Optional configuration for specific LLM models
[llm.vision]
model = "minicpm-v"
base_url = "http://localhost:11434/v1/"
api_key = "ollama"
補足1:BrowserUseテレメトリの無効化
デフォルトでは BrowserUseのテレメトリ が有効になっているので、これを無効にします。
.env
ファイルを作成し、以下の内容を記述します。
ANONYMIZED_TELEMETRY=false
補足2:タイムアウト対策
QwQ-32B
モデルは私の実行環境には荷が重いため、そのまま実行するとタイムアウトします。ツールの実行は60秒でタイムアウトするようです。
タイムアウト秒数を変更するオプションなどは見当たらなかったので、ちょっと無理やりですがコードを直接修正してタイムアウト秒数を60秒から600秒に変更しました。
# ./app/llm.py
@retry(
wait=wait_random_exponential(min=1, max=60),
stop=stop_after_attempt(6),
)
async def ask_tool(
self,
messages: List[Union[dict, Message]],
system_msgs: Optional[List[Union[dict, Message]]] = None,
timeout: int = 600,
tools: Optional[List[dict]] = None,
tool_choice: Literal["none", "auto", "required"] = "auto",
temperature: Optional[float] = None,
**kwargs,
):
ローカルLLMの準備

Ollamaのインストール
Ollamaの公式サイト からインストーラーをダウンロードしてインストールします。
モデルのダウンロード
ollama pull
コマンドでモデルをダウンロードします。
ollama pull qwq
ollama pull minicpm-v
OpenManus の実行

タスクの実行
仮想環境をアクティベートした状態で、以下のコマンドを実行します。
python main.py
コマンドを実行するとプロンプトの入力待ちになります。今回は以下のようなプロンプトを入力しました。
プロンプト:
2025年に発売予定のゲームタイトルをリサーチして注目度順にMarkdownにまとめて。それぞれのゲームタイトルの内容についても詳細に調査してください。ファイルは
F:/OpenManus/output
ディレクトリに出力してください。
file_saverツール(ファイルに出力するツール)で失敗しないようにプロンプトに出力先パス(F:/OpenManus/output
)を明示します。これがないと出鱈目なパスが指定されて出力に失敗しました。
実行結果
games_2025.md
ファイルが出力されました。5stepsで所要時間は13分4秒でした。
# 2025年注目ゲームタイトル一覧
以下は2025年に発売予定の主要なゲームタイトルです(注目度順)。
### 1. Grand Theft Auto 6 (TBD)
- **開発元**: Rockstar Games
- **概要**: 現代犯罪オープンワールド。シリーズ伝統の自由度とグラフィック向上が期待される。
### 2. Assassin's Creed Shadows (March 20)
- **開発元**: Ubisoft
- **概要**: 延期を経て完成を目指すアクションアドベンチャー。歴史的舞台での忍び足プレイが特徴。
### 3. Metroid Prime 4: Beyond (TBD)
- **開発元**: Nintendo
- **概要**: 20年ぶりのメトロイドプライムシリーズ。探索と戦闘のバランスが再構築。
### 4. Tales of the Shire (March 25)
- **開発元**: Weta Workshop
- **概要**: ロード・オブ・ザ・リング世界観の農園シミュレーター。平和な冒険が楽しめる。
### 5. Death Stranding 2 (TBD)
- **開発元**: Kojima Productions
- **概要**: 不思議なオープンワールドアクション。前作を超える世界観展開。
(中略)
### 25. Professor Layton and the New World of Steam (TBD)
- **開発元**: Level-5/Nintendo
- **概要**: 謎解きパズルの名作シリーズ最新作。スイッチ新機種対応予定。
(中略)の部分は私が省略したのではなく、OpenManus が勝手に省略したものです。
雑感
ローカルLLMでOpenManusを実行してみましたが、「とりあえず動く」というだけで実用性はあまり感じられませんでした。普通にClaudeを使うのがいいと思います。
あと OpenManus で使うと微妙でしたが、QwQ-32Bモデル自体は割と優秀だと感じました。
コメント