Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenHands🤲にContributeしてみた

 OpenHands🤲にContributeしてみた

AI駆動開発(AI-Driven Development) 勉強会 【大阪支部 #2】
https://aid.connpass.com/event/356707/

Avatar for kotauchisunsun

kotauchisunsun

June 27, 2025
Tweet

More Decks by kotauchisunsun

Other Decks in Technology

Transcript

  1. OpenHandsとは Docker + WebUI (local) OpenHands Cloud (SaaS) OpenHands CLI

    (local) OpenHands Resolver (Github,Gitlab,BitBucket) • 自然言語でコーディングを指示できるAI Coding Agent • いろいろな形態がある こたうちがContributeをしたのはコレ New!
  2. OpenHands Resolverの始め方 • Github Actionsのworkflowのファイルを置く(Qiita記事or公式リポジトリ参照) • LLMのモデルの指定・APIキーの登録 • プライベートのリポジトリならPATトークンが必要 ◦

    プライベートのリポジトリでも動く!! • Geminiの無料枠で動く • Github Actionsの無料枠で動く • 完全無料でAI Codingできる! 無料最強 タッグ
  3. OpenHandsの現在のメリット “GithubのIssueをGithub Actions上で解決し、 PRを無料で作らせる ”用途 Gemini無料枠が使える コマンドラインで動く 問題解決ができる ClineやRooCodeなどのVSCodeプラグインは Github

    Actions上では動かせない。 ClaudeCodeやRobodev(?)は LLMをGeminiに変更できない。 OpenHandsで修正できた内容がCodex CLIで 修正できなかった(Geminiが原因?) • Geminiの無料枠は日毎に復活する • Github Actionsの無料枠は2000分(Pulbic無制限) 無料の範囲内でかなりのことが出来る。
  4. タスクを忘れるAI • 機能Aを実装 ◦ 機能A-1を実装 ◦ 機能A-2を実装 • 機能Bを実装 •

    機能Cを実装 • 機能Dを実装 • Lintを実行 • 自動テストを実行 やってほしいタスク • 機能Aを実装 ◦ 機能A-1を実装 ◦ 機能A-2を実装 • 機能Bを実装 • 機能Cを実装 • 機能Dを実装 • Lintを実行 • 自動テストを実行 実際に行ったタスク 複雑なタスクになればなるほど後半のタスクを忘れがち。 (RooCodeのOrchestratorなどはだいぶマシ)
  5. Github Actionsによるフォローアップは前時代的か? • 手動やローカルでコードを書くこともある。 • Lint忘れやテスト忘れでプッシュ ◦ AIも忘れる。 • 人力レビューが止まる

    ◦ (マージが遅れる。リリースが遅れる。 ) • 割とやりたくないLintエラー修正や テスト修正をOpenHandsが フォローしてくれる。 ①Lint忘れ・テスト忘れで ブランチにプッシュ ③Lint修正・ テスト修正を OpenHandsが 自動修正 ②作業忘れを検知 手動でのコード品質維持のコストやリードタイムを下げることができる。
  6. まとめ • OpenHandsの紹介 • OpenHands ResolverはGeminiと利用することで無料でGitthub Issueを解決出来 る • OpenHands(AI

    Coding Agent)へのプロンプトのベストプラクティス ◦ 具体的 ◦ 修正箇所の明示 ◦ 適切な範囲 • Lint忘れ・テスト忘れのためのGithubActionsによるフォローが有用 • OpenHands自体の開発がOpenHandsにより行われ、人間を一部超えた。