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
810
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
18
スマートグラスのトリレンマ
kotauchisunsun
0
36
2025年上半期のスマートグラスの概況
kotauchisunsun
0
95
どのAI Coding Agentが一番使われてる? ~ ai-coding.info にみるGithubリポジトリのAI Coding Agent利用状況 ~
kotauchisunsun
0
720
A-Scouterの紹介 ~AtomS3/S3Rのスカウター化キット~
kotauchisunsun
0
95
今、スマートグラスが熱い。
kotauchisunsun
0
220
RooCodeによる開発の夢と実践の現実
kotauchisunsun
0
830
書籍「テスト駆動」が 教えてくれること 教えてくれないこと 知っておくべきこと
kotauchisunsun
0
150
2025年のARグラスの潮流
kotauchisunsun
0
1.1k
Other Decks in Technology
See All in Technology
PRDの正しい使い方 ~AI時代にも効く思考・対話・成長ツールとして~
techtekt
PRO
0
510
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
440
制約理論(ToC)入門
recruitengineers
PRO
9
3.7k
モダンフロントエンド 開発研修
recruitengineers
PRO
10
6.2k
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
5
1.4k
『FailNet~やらかし共有SNS~』エレベーターピッチ
yokomachi
1
200
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
4
1.8k
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
13
4.1k
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
0
150
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
4
2k
Grafana Meetup Japan Vol. 6
kaedemalu
1
200
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
2
130
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Site-Speed That Sticks
csswizardry
10
800
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Done Done
chrislema
185
16k
Being A Developer After 40
akosma
90
590k
We Have a Design System, Now What?
morganepeng
53
7.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
Code Reviewing Like a Champion
maltzj
525
40k
Typedesign – Prime Four
hannesfritz
42
2.8k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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♡リンク→