Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OpenHands🤲にContributeしてみた
Search
kotauchisunsun
June 27, 2025
Technology
1
770
OpenHands🤲にContributeしてみた
AI駆動開発(AI-Driven Development) 勉強会 【大阪支部 #2】
https://aid.connpass.com/event/356707/
kotauchisunsun
June 27, 2025
Tweet
Share
More Decks by kotauchisunsun
See All by kotauchisunsun
スマートグラスのトリレンマ
kotauchisunsun
0
29
2025年上半期のスマートグラスの概況
kotauchisunsun
0
92
どのAI Coding Agentが一番使われてる? ~ ai-coding.info にみるGithubリポジトリのAI Coding Agent利用状況 ~
kotauchisunsun
0
680
A-Scouterの紹介 ~AtomS3/S3Rのスカウター化キット~
kotauchisunsun
0
92
今、スマートグラスが熱い。
kotauchisunsun
0
220
RooCodeによる開発の夢と実践の現実
kotauchisunsun
0
770
書籍「テスト駆動」が 教えてくれること 教えてくれないこと 知っておくべきこと
kotauchisunsun
0
140
2025年のARグラスの潮流
kotauchisunsun
0
1.1k
幻のLispマシン
kotauchisunsun
0
330
Other Decks in Technology
See All in Technology
プロジェクトマネジメントは不確実性との対話だ
hisashiwatanabe
0
170
Mackerel in さくらのクラウド
cubicdaiya
1
320
いま、あらためて考えてみるアカウント管理 with IaC / Account management with IaC
kohbis
2
440
Infrastructure as Prompt実装記 〜Bedrock AgentCoreで作る自然言語インフラエージェント〜
yusukeshimizu
1
160
Amazon Bedrock AgentCore でプロモーション用動画生成エージェントを開発する
nasuvitz
6
220
Rethinking Incident Response: Context-Aware AI in Practice - Incident Buddy Edition -
rrreeeyyy
0
120
信頼できる開発プラットフォームをどう作るか?-Governance as Codeと継続的監視/フィードバックが導くPlatform Engineeringの進め方
yuriemori
1
210
生成AIによるデータサイエンスの変革
taka_aki
0
3.1k
2025新卒研修・Webアプリケーションセキュリティ #弁護士ドットコム
bengo4com
3
9.6k
文字列の並び順 / String Collation
tmtms
1
110
MySQL HeatWave:サービス概要のご紹介
oracle4engineer
PRO
3
1.6k
AWS DDoS攻撃防御の最前線
ryutakondo
1
180
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Writing Fast Ruby
sferik
628
62k
We Have a Design System, Now What?
morganepeng
53
7.7k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
GraphQLとの向き合い方2022年版
quramy
49
14k
Music & Morning Musume
bryan
46
6.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Transcript
OpenHands に Contributeしてみた @こたうちさんさん 私が生産者(の一部)です。
自己紹介 • こたうち さんさん • @kotauchisunsun • こたうち企画 主催 • 本職:サーバーサイドエンジニア
• スマートグラスが好き
1月からほぼ毎日投稿してます!! 2025年だけで150本以上アップロードしてます。
HUAWEI Eyewear2 RayNeo X3 Pro Monocle Even Realities ASUS AirVision
M1 Oakley Meta
YouTubeChannel運用ツール AI Coding ニュースサイト ニュースの収集・選定 概要文の生成 YouTube運用の効率化ツールをAI Codingしてる。
OpenHandsとは Docker + WebUI (local) OpenHands Cloud (SaaS) OpenHands CLI
(local) OpenHands Resolver (Github,Gitlab,BitBucket) • 自然言語でコーディングを指示できるAI Coding Agent • いろいろな形態がある こたうちがContributeをしたのはコレ New!
デモ
OpenHands Resolverの機能 ①Issueの解決 GithubのIssueを作成し、”fix-me”のラベルをつけるだけ! あとは勝手にPRが作られる!
OpenHands Resolverの機能 ②PR修正への対応 “@openhands-agent”と修正内容をリプライするだけ!
OpenHands Resolverの始め方 • Github Actionsのworkflowのファイルを置く(Qiita記事or公式リポジトリ参照) • LLMのモデルの指定・APIキーの登録 • プライベートのリポジトリならPATトークンが必要 ◦
プライベートのリポジトリでも動く!! • Geminiの無料枠で動く • Github Actionsの無料枠で動く • 完全無料でAI Codingできる! 無料最強 タッグ
なんでContributeしたの?
Devinへの憧れ(2025年3月頃の話) ※当時月額50万円 Devinよさそうだけど 高いなぁ。 無料でできねぇかなぁ。 ①タスクを依頼 ②コードを実装 ③PR作成 null-sensei
その時に見つけた技術記事 https://zenn.dev/itaosan/articles/43742985318a21
動かねぇ。
OpenHandsのリトライ処理 リクエスト 429エラー(リクエスト上限) 無料枠 ・・・ リクエスト LLM_RETRY_MIN_WAIT LLM_NUM_RETRIES 何回か 繰り返す
待機
OpenHands Resolverのリトライ処理のバグ リクエスト 429エラー(リクエスト上限) 無料枠 ・・・ リクエスト LLM_RETRY_MIN_WAIT LLM_NUM_RETRIES 何回か
繰り返す 待機 リトライ関連の設定値が、 Resolverだと反映されない挙動だった
OpenHandsへContributeした内容 OpenHands ResolverによるGemini無料枠での稼働が安定するようになった。 やや強引にリトライ設定値を反映するPR 他の設定値も反映できるようにしたPR 大小合わせて6つのPRがマージ
2025年6月時点でのAI Coding Agentは戦乱状態 Visual Studio Code コマンドライン SaaS Plugin
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無制限) 無料の範囲内でかなりのことが出来る。
OpenHands公式の ベストプラクティス
OpenHandsの公式ベストプラクティス 良いプロンプトの例: 具体的 修正箇所の明示 適切な範囲 追加する必要がある機能や修正が必要なエラーを明確に説 明します。 コードベース内で変更する必要がある場所がわかっている場 合は指定します。 通常は
100 行のコードを超えない、単一の機能に重点を置く。
OpenHandsの公式ベストプラクティス 悪いプロンプトの例: 抽象的 曖昧な修正箇所 過大な指示 コードを改善してください。 (漠然としすぎていて、具体的ではありません) ユーザー認証のどこかにバグがあります。見つけて修正できま すか?(詳細度と位置情報が不足しています) バックエンド全体を書き換えて、別のフレームワークを使用す
る。(適切なスコープが設定されていない) 割とどんなAI Coding Agentでも使える内容
個人的な OpenHands Resolver プラクティス
AIにコーディング時に Lint・自動テストをさせない。 Github Actionsに指示させる。
タスクを忘れるAI • 機能Aを実装 ◦ 機能A-1を実装 ◦ 機能A-2を実装 • 機能Bを実装 •
機能Cを実装 • 機能Dを実装 • Lintを実行 • 自動テストを実行 やってほしいタスク • 機能Aを実装 ◦ 機能A-1を実装 ◦ 機能A-2を実装 • 機能Bを実装 • 機能Cを実装 • 機能Dを実装 • Lintを実行 • 自動テストを実行 実際に行ったタスク 複雑なタスクになればなるほど後半のタスクを忘れがち。 (RooCodeのOrchestratorなどはだいぶマシ)
Github ActionsにLint修正やテスト修正のAI指示をさせる PR作成 Lint実行 Lint成功? Lint実行をコメント指示 No
AIに機能の実装に集中させる Lint実行 自動テスト実行 機能実装 機能実装 Lint実行指示 テスト修正指示 やることが多いとうまく動かない AIにタスクを一気に渡さない。 AIは実装に集中。Lintやテスト修正のフォローアップをGithub
Actionsにさせる。 ♪~
Github Actionsによるフォローアップは前時代的か? • 手動やローカルでコードを書くこともある。 • Lint忘れやテスト忘れでプッシュ ◦ AIも忘れる。 • 人力レビューが止まる
◦ (マージが遅れる。リリースが遅れる。 ) • 割とやりたくないLintエラー修正や テスト修正をOpenHandsが フォローしてくれる。 ①Lint忘れ・テスト忘れで ブランチにプッシュ ③Lint修正・ テスト修正を OpenHandsが 自動修正 ②作業忘れを検知 手動でのコード品質維持のコストやリードタイムを下げることができる。
シンギュラリティ来てる?
人類の最後の柱がOpenHandAgentに 倒れようとしている 人間が書いたコード量 < AIが書いたコード量になりそう。 OpenHandsAgentによるOpenHandsの修正が人間を超えるのも時間の問題。
コミット数に関しては AI Agentが人間を突破した。
まとめ • OpenHandsの紹介 • OpenHands ResolverはGeminiと利用することで無料でGitthub Issueを解決出来 る • OpenHands(AI
Coding Agent)へのプロンプトのベストプラクティス ◦ 具体的 ◦ 修正箇所の明示 ◦ 適切な範囲 • Lint忘れ・テスト忘れのためのGithubActionsによるフォローが有用 • OpenHands自体の開発がOpenHandsにより行われ、人間を一部超えた。
言いたかったこと
AIによるCodingは不完全
AI Coding Agent自体も不完全
まだまだつくる部分はいっぱいある
みなさんもContributeしてはいかが?
ご清聴ありがとうございました。 Github Sponsor♡リンク→