その他

OpenHandsとは?〜AIエージェント開発に向けて〜

その他
この記事は約7分で読めます。

はじめに

今回の記事は少し様変わりです。

みなさま、Devinをご存知でしょうか。

Devinは開発からデバッグまで自立して実行してくれるAIエージェントです。

弊社においてもDevinが導入され始めていますが、月額$500となかなかに高いため、全エンジニアが使うとなると毎月ものすごい額の経費が必要となるようです。

我々のチームでは代わりとなるようなAIエージェントの開発を目標としているため、どのモデルが良いのか検討するためにもDevinと同様のOSSであるOpenHandsを紹介します。

GitHub - All-Hands-AI/OpenHands: 🙌 OpenHands: Code Less, Make More
🙌 OpenHands: Code Less, Make More. Contribute to All-Hands-AI/OpenHands development by creating an account on GitHub.

OpenHands事前準備

Dockerインストール

OpenHandsを使うための手順として、READMEを読んだところ、Dockerが必須ということがわかりました。

Dockerをインストールして下記のコマンドをターミナルで実行すると、ダウンロードが始まります。

docker pull docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik

docker run -it --rm --pull=always \
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik \
    -e LOG_ALL_EVENTS=true \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v ~/.openhands-state:/.openhands-state \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    --name openhands-app \
    docker.all-hands.dev/all-hands-ai/openhands:0.39
行中

ダウンロードが終わるとコンソール画面にURLが表示されるので、ブラウザにコピペでOepnHnadsを実行することができます。

APIの取得

OpenHandsを利用する上でこれらのAPIを取得する必要があります。

なお、OpenAIは現在有料となっているようですが、一方でAnthropicAPIは5ドル分のクレジットを利用することができるようなので、この記事ではAnthropicAPIを使用しています。

・OpenAI または Anthropic(Claude)のAPI
・GitHub Personal Access Token

また、GitHub Personal Access Tokenの取得に関しては少し複雑でしたので、参考URLの方法を以下に記載します。

  1. GitHubにログインします
  2. 右上のプロフィールアイコンをクリックし、「Settings」を選択
  3. 左側のメニューから「Developer settings」をクリック
  4. 「Personal access tokens」→「Tokens (classic)」を選択
  5. 「Generate new token」→「Generate new token (classic)」をクリック
  6. トークンの名前を入力(例:「OpenHands」)
  7. 以下のスコープを選択:
    • repo (すべてのリポジトリ権限)
    • workflow (ワークフロー権限)
    • read:org (組織の読み取り権限)
  8. 「Generate token」をクリック
  9. 表示されたトークンをコピーして安全な場所に保存
OpenHandsを導入してAIアシスタントを活用する方法

OpenHandsの設定

前節で取得したAPIをOpenHandsの設定画面で入力します。

僕の場合はAnthropicのAPIキーを取得しましたので、LLMプロバイダーはAnthropicに設定し、LLMのモデルは”claude-3-7-sonnet-20250219”としています。

次に、自分のGithubアカウントとの接続をします。

取得したGithub トークンを入力すると、全てのリポジトリに接続することが可能となります。

以上で設定は完了です。

リポジトリに接続

OpenHandsとGitHubの連携が取れたので、任意のリポジトリを選択して接続します。

今回は軽めのタスクを指示する予定なので、空のリポジトリを作成し、その中で何かやらせてみます。

なお、接続にはある程度の時間がかかります。

OpenHandsを使ってみよう

今回設定したモデルは”claude-3-7-sonnet-20250219”ですが、このモデルがどこまでできるのか調べてみました。

その結果、拡張思考モードという機能が追加され、これによって高度な推論タスクや長文処理において優位性を持っていることが確認されているようです。

メモ帳アプリ作成

拡張思考モードについての興味から、リファレンスとなるコードがない状態でメモ帳アプリを作成してみます。

目的として、icloudのメモ帳は日付で分けられないので、datatimeモジュールを用いて日付で分けられるようなメモ帳アプリを開発してもらうこととしました。

プロンプトを出すと、OpenHandsの仮想環境にて実装が始まりデバッグまでしてくれます。

作成してくれたアプリケーションは、ローカル上で動くものと、Flaskを使ったWebアプリの2種類として実装してくれました。

これが思っていた以上に良い感じに動いてくれて自分が使う分には良いのでは?と思うものでした。

プロンプト例

完成

Webアプリとして開発されたファイルを実行すると、以下のようにURLが表示されるので、ブラウザで表示します。

Create a New Note欄にメモしたいことを書き込むと、ディレクトリ内にnotes.txtファイルが作成され、その中に書き込まれていきます。

* Running on http://127.0.0.1:50349
実行例

Devinの場合はプロンプトを詳細に書かないとまともに動かないという問題があるのに対して、claude-3-7-sonnetモデルは詳細に書かなくても開発してくれる分、OpenHandsもとても良いという所感です。

おわりに

いかがでしたでしょうか。

Devinとcalude-3-7-sonnetでどんな差があるかはわからないので比較をしなければなりませんが、個人開発をする分にはOpenHnadsでも良いのかなと思いました。

Devinは金額などの面で手が出しづらいですが、OpenHandsであればお試し感覚で使えそうではないですか?

また、OpenAIのgptモデルとの比較も必要そうです。

今回作成したwebアプリは僕のGithubから使用することができます。
なお、Githubから直接OpenHandsを使用することはできませんので、OpenHnadsを使用してみたいという方はこの記事を参考に設定してみてください!

GitHub - morishitaimpl/openhands_test: openhandsを使ってみようのリポジトリ
openhandsを使ってみようのリポジトリ. Contribute to morishitaimpl/openhands_test development by creating an account on GitHub.

今後の課題

DevinのようなAIエージェントを開発するとして、問題となる点はどのように内部で実行して修正をするかにあると考えています。

DevinやOpenHandsにしても、モデル自体はコードを生成し、推論するもののはずです。

そうだとすると、モデル以外のところにエージェントとなる役割をしているコードがあるはずなので、今後はこのあたりを重点的に調べる必要があります。

参考URL

ローカル環境でOpenHandsを立ち上げるまで - Qiita
はじめに本記事は手元の使用していないPCを有効活用するために、ローカル環境でAIエージェントのOpenHandsを動作させるまでの手順について解説しています。あくまで備忘録程度のものなので、他の環…
Claude 3.7 Sonetは3.5から何が変わった?chatGPT、Gemini、Grokなどその他のAIと比べてどう違う? | バーチャル執事 Webバトラー
Claude 3.7 Sonetの登場により、AI業界はさらなる進化を遂げました。 特に、前バージョンClaude 3.5と比べてどのように強化されたのか、そしてChatGPTやGoogleのGemini、Elon MuskのGrokなど他
AIエージェントの未来を切り拓く!Devin vs OpenHands徹底比較|りんか | AI情報発信 /ビジネス/研究
はじめに:AIエージェントがあなたの開発を変える! こんにちは、Link AIの広報担当、りんかです! 最近、AIの進化が止まりませんよね。特に、開発をまるごと引き受けてくれるAIエージェントが話題沸騰中です。「コードを書くのが面倒…」「エンジニア不足でプロジェクトが進まない…」なんてお悩み、ありませんか?そんな皆さ...
完全自律型AIエンジニア「Devin」オープンソース化:「OpenHands」セットアップ&運用ガイド - Qiita
はじめにみなさん、Devinをご存知でしょうか?Devinとは、米国のAIスタートアップ「Cognition」(またはCognition Labs)が開発した、完全自律型のAIソフトウェアエンジ…