上級 11 分エージェント

OpenHands:モデルベースの開発者エージェント ローカル

端的な回答

はい、OpenHands(旧OpenDevin)は、任意のOpenAI互換エンドポイントを介してローカルモデルで動作します。ただし、エージェント型の処理としては最も要求が厳しいものです。270億〜320億パラメータと長いコンテキスト(最低22,000トークン、推奨32,768トークン)という水準を下回るモデルでは、エージェントが同じ処理を繰り返し、コマンドの出力を誤解し、間違ったファイルを変更します。

OpenHands はエージェントにターミナル、ブラウザー、リポジトリへのアクセスを与え、作業を任せます。エージェントは計画を立て、ファイルを変更し、サンドボックス内でコマンドを実行して出力を読み取り、タスクが完了するか、自ら断念するまでこの作業を繰り返します。ローカルモデルで動かすことは可能ですが、ほとんどの人が持っているものよりもはるかに大きなモデルが必要です。実際にどこが境目になるのか、プロジェクト自体が推奨する設定とともに紹介します。

著者 Mohamed Meguedmi·更新 2026-09-28·Windows・macOS・Linuxでテスト済み

#実際に何をしているか

あなたがフランス語でタスクを説明すると、エージェントはリポジトリを調べ、計画を立ててから、コマンドを実行し、結果を読み、ファイルを変更し、テストを再実行し、失敗の内容を読み、修正するというループで作業します。このループこそが製品の本体です。自動補完というより、ターミナルを使うインターンに近い存在です。

そこから次のような影響が生じます。反復のたびに、増大するコンテキストを使って一通りの生成を行うため、10段階のタスクには長いプロンプト10回分の処理が必要です。また、エージェントは提案するだけでなく実際に行動するため、その行動範囲はアクセスできるものすべてに及びます。だからこそ、サンドボックスは設定項目ではなく、設計の一部なのです。

#2026年のプロジェクト:Agent Canvas

ローカルコパイロットキット

このガイドでモデルの導入まで、キットでエディタ内でコードを書くコパイロットの導入まで進められます。

  • 永久に利用できるオンラインスペース
  • PDF + ファイル
  • 生涯アップデート

OpenHandsはリリース当初はOpenDevinと呼ばれており、後に現在の名称に変更されました。All Hands AIによってメンテナンスされているこのリポジトリはMITライセンスで公開されており、2026年夏時点でGitHub上のスター数が89,000を超えています。プロジェクトはさらに拡大しており、単なる孤立した自律エージェントではなく、「コードエージェントと自動化のためのセルフホスト型コントロールセンター」として位置づけられています。単一のインターフェースからOpenHandsだけでなく、Claude Code、Codex、Geminiも制御できます。

具体的には、提供される仕組みは複数の構成要素に整理されました。Agent Canvas(操作インターフェース)、独自のエージェントを構築するためのSoftware Agent SDK、Agent Server、そして定期実行タスク用の自動化サーバーです。以前の単体で動作するローカルインターフェースは、このモジュール式アーキテクチャへの移行に伴い非推奨となりました。ここで説明するローカル利用の基本原則、つまりコンテナ化されたサンドボックス内でエージェントが動作するという点は変わりません。ただし、構成要素の名前や起動コマンドは、古いドキュメントごとに異なる場合があります。今でもOpenDevinという名前で検索結果に出てくるドキュメントも、その例です。

#モデルに求められる条件を率直に解説

エージェントによる開発タスクで実際に得られる成果
モデルのクラス現実的な結果
70〜80億失敗します。コマンドの形式が不正で、出力を読み違え、同じファイルの処理を繰り返すループに陥ります。
140億単一ファイルを対象とするごく簡単なタスクには、ときどき成功します。信頼性は低いです。
270〜320億実用になる最低ラインです。範囲が狭く、要件が明確なタスクなら、役立つだけの頻度で成功します。
700億以上判断力は明らかに高くなりますが、処理が遅いため、タスクを開始したら別のことをして待つほどです。

ベンチマークのスコアよりも重要なのは、期待される形式に正確に従ってツールを呼び出す能力と、長いコンテキストでも安定して動作する能力の2つです。エージェントは各ステップで、増え続ける履歴を読み直すためです。プロンプトから関数を書くのが非常に得意なモデルでも、処理を繰り返すループの中では使い物にならないことがあります。この用途では一般に、コード向けのモデルが同じサイズの対話モデルを上回ります。

プロジェクトの公式ドキュメントは2026年中に推奨を変更し、現在は最初に試すローカルモデルとしてQwen3.6-35B-A3Bを推奨しています。これはエージェントによるコーディング向けに設計されたMoE(混合エキスパート)モデルで、大きなコンテキストに対応し、LM Studio、Ollama、vLLM、SGLangで利用できます。ここでのMoEの利点は明確です。重みの総数は350億ですが、トークンごとに有効になるパラメータは30億だけなので、同程度の規模の密なモデルより生成が大幅に速く、必要なVRAMも350億パラメータの密なモデルより140億パラメータのモデルに近くなります。

!
コンテキストは隠れたコストです
エージェントのプロンプトには、タスク、計画、ファイルの内容、コマンド履歴が含まれます。OpenHandsのドキュメントでは、Ollamaで少なくとも22,000トークンのコンテキスト長を確保するよう求めており、32,768トークンを推奨しています(デフォルトの4,096トークンでは、システムプロンプトさえ収まりません)。長いコンテキストでは、処理時間よりも先にメモリ容量が問題になります。320億パラメータのモデルで本当に長いコンテキストを使うなら、24GB以上のメモリが必要です。

#ローカルで実行する

  1. 01
    モデルを提供する
    OpenAI互換のエンドポイントでモデルを提供し、Ollamaを使う場合は、変数OLLAMA_CONTEXT_LENGTHの値を最低22,000(32,768を推奨)まで引き上げます。この設定は省略されがちですが、省略するとエージェントが自分自身の計画を忘れてしまいます。
  2. 02
    コンテナ構成でアプリケーションを起動する
    このアプリケーションにはコンテナエンジン(Docker DesktopまたはDocker Engine)が必要です。エージェントのシェルはホスト上ではなく、コンテナ内で動作します。
  3. 03
    ローカルエンドポイントを接続先に指定する
    ダミーのAPIキー(例:local-llm)と、コンテナからアクセスできるベースURLを使ってください。Docker Desktopでは、localhostではなく http://host.docker.internal:PORT/v1 を使います。localhostはコンテナ自身を指すためです。ツール呼び出しへの対応を宣言するのは、モデルが実際にその機能を使える場合だけにしてください。
  4. 04
    リポジトリを 1 つだけマウントする
    できれば、使い捨てのクローンを用意し、削除しても困らないブランチを使ってください。
  5. 05
    小さく、結果を検証できるタスクから始める
    失敗しているこのテストを修正し、このパラメータを追加し、この設定を更新してください。その後、diffを見直してください。

#タスクの実際のコスト

エージェントが行うタスクでは、モデルの呼び出しは1回では済まず、一連の呼び出しが必要です。履歴が蓄積されるため、各呼び出しのコンテキストは前回より長くなります。10回の反復が必要なタスクで、各ステップが履歴に平均800トークンを追加すると、10回目の呼び出しでは、応答を生成する前にすでに数千トークンのコンテキストを読み直すことになります。ローカルでの計算では、各ターンでプロンプトの読み込み時間(「プリフィル」)が生成時間に加わります。そのため、320億パラメータのモデルを使うローカルエージェントでは、通常の補完のように秒単位ではなく、タスクごとに分単位の時間がかかります。

これはAPI請求料を支払わないことの見返りです。コストが消えるのではなく、グラフィックカードと待機時間へと移るだけです。エージェントがループを回して20回の反復をトリガーする、不適切に指定されたタスクの場合、このコストの移転は、同等のAPI呼び出しよりも、電気代と時間の面で急速に高価になります。

#具体的な例を挙げて説明します

現実的なタスクを例に挙げましょう。「test_export_csvテストが直近のコミット以降失敗しているので、修正してください」。320億パラメータクラスのモデルでは、通常の処理は5~8回の反復で完了します。テストと失敗メッセージを読み、該当するソースファイルを開き、原因について仮説を立て、修正し、テストを再実行し、新しい結果を確認して、必要に応じて調整します。各反復では、それまでの履歴全体を読み直すため、コンテキストウィンドウが決定的に重要になります。8,000トークンしかないと、エージェントは3~4ステップで流れを見失い、すでに却下した仮説を再び検討し始めます。

70億~80億パラメータのモデルでは、同じタスクでも、多くの場合は別の形で失敗します。テスト自体は正しく特定できても、再実行コマンドの形式を間違えたり、名前が似ている別の近隣ファイルを編集したりします。これは設定の誤りではありません。システムプロンプトの品質にかかわらず、ツール、結果、判断というループが要求する厳密な形式に対応するモデルの能力の限界です。コード補完ベンチマークで公表されているスコアが、ここではあまり予測の役に立たないのも、このためです。単独の関数の生成で高い評価を得たモデルでも、途中で脱線せず、一貫したツール呼び出しを10回続けることはできない場合があります。この二つの能力の相関のあり方は、モデルの訓練方法によって異なるためです。

#セキュリティはオプションではありません

環境内に機密情報を置かない
エージェントは自身の環境を読み取り、その内容を表示できます。
一時的なブランチと作業用のクローン
未確定の変更が含まれる、普段使っている作業コピーは決して使わないでください。
ネットワークアクセスの制限
どこにでも接続できるエージェントは、読み取った情報をすべて外部に送信できてしまいます。
取得したコンテンツはすべて、原則として敵対的なものとして扱う
チケットの説明やREADMEファイルには、エージェントに向けた指示が含まれていることがあります。その仕組みは、当サイトのプロンプトインジェクションに関するガイドで詳しく解説しています。
差分を一つずつ見直す
「テストが通過した」というのは、テストが通過したことを意味し、変更が正しいとは限りません。

#エージェントよりアシスタントが適している場合

タスクに応じたツールの選定
タスク最良のツール
入力中の補完エディタ拡張機能
ファイルごとに内容を説明できる変更ファイルを開いた状態で使う対話型アシスタント
成功を確認する明確なテストがある、複数のステップからなるタスクOpenHands、モデルが十分に大きな場合
自分でレビューできないコードどちらも選ばない:結果を検証できないため

まとめると、ローカルで使うOpenHandsは単なるおもちゃでも万能の代替ツールでもありません。270億パラメータ以上のモデルを32,000トークンのコンテキストとともに実際にメモリに収められるマシンと、自動テストや簡単なレビューで結果を判断できるほど範囲が限定されたタスクに使うべきツールです。このハードウェア要件を満たさない場合は、ファイルを開いた状態で従来の対話型アシスタントを使うほうが、処理を繰り返すばかりでいつまでも結果にたどり着かないエージェントよりも速く、信頼性も高くなります。

#FAQ

OpenHandsはローカルモデルで動作できますか?+
はい、Ollama、LM Studio、vLLM、SGLangなど、OpenAI互換の任意のエンドポイント経由で実行できます。制約となるのは接続ではなく、モデルの能力です。これは日常的な用途の中で最も負荷の高いローカルワークロードであり、小規模なモデルは、構成や使用するシステムプロンプトの品質にかかわらず失敗します。
最低限どの程度のモデルが必要ですか?+
現実的には、長いコンテキストと信頼性の高いツール呼び出しに対応した、270億〜320億パラメータのコード向けモデルが必要です。公式ドキュメントでは現在、エージェント用途のMoEモデルであるQwen3.6-35B-A3Bを、最初に試すモデルとして推奨しています。140億パラメータでは、ごく簡単なタスクだけが時折成功する程度です。80億パラメータ未満では、実用的に動作しません。
Ollama ではコンテキスト長をどのくらいに設定すべきですか?+
少なくとも22,000トークンが必要です。OpenHandsのドキュメントには、デフォルトの4,096トークンでは、エージェントのシステムプロンプトだけでも収まらないと明記されています。複数のステップからなるタスクを快適に実行し、履歴が通知なく切り詰められるのを防ぐため、OLLAMA_CONTEXT_LENGTH変数で32,768トークンに設定することを推奨しています。
自分のマシンで実行しても安全ですか?+
コンテナ化されたサンドボックスを使い、リポジトリの使い捨てクローンを用意し、環境内に機密情報を置かず、ネットワークアクセスをタスクに本当に必要な範囲に制限する場合に限ります。エージェントは、チケット、README、依存関係などの内容に基づいて、自ら書いたコマンドを実行します。こうした内容は、原則として潜在的に悪意のあるものとみなす必要があります。
どのくらいのVRAMが必要ですか?+
320億パラメータクラスのモデルと長いコンテキストを収められる容量が必要です。一般的なデンスモデルなら、実際には24 GB以上が目安です。Qwen3.6-35B-A3BのようなMoEでは、生成するトークンごとに重みの一部だけが有効になるため、もう少し少ない容量で足ります。どちらの場合も、初心者が最も驚くことが多いのは、重みだけでなくコンテキストが必要とするメモリ容量です。
なぜエージェントは同じ手順を繰り返すのですか?+
一般的には、モデルがフレームワークの要求する正確なツール呼び出し形式を生成できないか、コンテキストが上限に達し、計画の冒頭と実行済みコマンドの履歴が通知なく切り捨てられたことが原因です。対処する順序は、まず割り当てるコンテキストを増やし、それでも問題が続く場合にのみ、より大きなモデルに切り替えることです。
OpenHandsは現在もOpenDevinと同じプロジェクトですか?+
はい、同じプロジェクトで、初期に名前が変更されただけです。2026 年には、単独で動く自律エージェントの枠を大きく超えています。現在は、Agent Canvas と名付けられたモジュール型アーキテクチャを通じて Claude Code、Codex、Gemini も制御できるセルフホスト型のコントロールセンターを標榜しており、独自のエージェント SDK も備えています。
このガイドは役に立ちましたか?

ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。