1. AI駆動開発部の日常
  2. 53【毎晩3時に何が動く?】Git..
53【毎晩3時に何が動く?】GitHubイシューとループエンジニアリング
2026-07-30 26:11

53【毎晩3時に何が動く?】GitHubイシューとループエンジニアリング

今回は、阿部さんの長期休暇中に僕が作った仕組みを起点に、AI駆動開発ではなく、AIに駆動される開発について語っております。帰ってきたら勝手に生えていた、と阿部さんがいうこの仕組みは、毎晩午前3時、AIがGitHubのイシューを1件選び、実装してプルリクエストまで出します。
さらに別のセッションが探索的なE2Eテストを回し、懸念を書き残します。

毎晩つながって回る輪は、ループエンジニアリングと呼ばれるものに近いのかもしれません。
なぜ今なのか。モデルが賢くなって、任せきりでも狙いを外さなくなったからではないか。そう見る阿部さんに対して、僕が挙げた決め手はもう少し手前にあります。賢さと道具立て、効いたのはどちらか。

そしてこの仕組みはどう効くのか。イシューを1件潰すたびに探索的なE2Eテストが次のイシューを連れてくる、という新たな悩みも生まれています。
面白かったのは、自動化に踏み切れずにいた阿部さんとのやり取りです。
レートリミットのギリギリまで使いたいので、寝る前にAIに大きな計画を渡したいという阿部さん。
今回の話をきっかけに、自動化を充実させ深夜の作業を肩代わりさせたいと、自動化に前のめりになったのは阿部さんのほうでした。

後半は、なぜ午前3時なのかという疑問から、レートリミットの話へ。
制限が解けた瞬間にセッションを再開させるメディエーターの復旧監視から、あと1週間で終わると言われ続けたClaude Fable 5に振り回された7月の顛末まで入っています。

【関連リンク】
▼Orca 公式サイト
https://www.onorca.dev/
▼Mastra Factory
https://factory.mastra.ai/
▼Claude Code 公式サイト
https://claude.com/product/claude-code
▼Claude Fable 5 / Mythos 5 発表(Anthropic)
https://www.anthropic.com/news/claude-fable-5-mythos-5

【配信サービス】
▼Spotify
https://open.spotify.com/show/5b4x1u0M2f0Kmr1Xnv1Z7r?si=12580ee9ade0414e
▼Youtube
https://youtube.com/@ai-nichijo-fm
▼Apple Podcasts
https://podcasts.apple.com/jp/podcast/ai%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA%E9%83%A8%E3%81%AE%E6%97%A5%E5%B8%B8/id1843990202
▼amazon music
https://music.amazon.co.jp/podcasts/4fd4926b-a654-4dc7-a858-01ff5e0e8c25/ai%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA%E9%83%A8%E3%81%AE%E6%97%A5%E5%B8%B8
▼stand.fm
https://stand.fm/channels/68dc82a9036795923c400b4f
▼LISTEN
https://listen.style/p/ai-nichijo-fm?xtIZk9qq
---
stand.fmでは、この放送にいいね・コメント・レター送信ができます。
https://stand.fm/channels/68dc82a9036795923c400b4f

感想

まだ感想はありません。最初の1件を書きましょう!

00:00
こんにちは、AI駆動開発部の日常へようこそ。 このポッドキャストは、日々AI駆動開発を行う
企業家の山本とエンジニアの阿部が AI駆動開発のリアルを緩く語り合う番組です。
はい、じゃあ本日よろしくお願いします。
お願いします。
はい、ちょっとじゃあ今日は、実は収録自体は久しぶりではあるんですけども、
ちょっとその久しぶりの間で、聞いてる方はそんな久しぶりの感じではないか。
基本的にこのAI駆動開発部の日常は、毎週収録して、2、3日後に出すみたいな感じでやってるんですけれども、
ちょっと前回取り溜めておいたやつをポンパンと出していたので、1週間ぐらい、1週間間が空いて、2週間ぶりになっています。
その間にちょっと僕が、ついにですね、これぞAI駆動開発なんじゃないかという仕組みを作りましたので、
ちょっと阿部ちゃんは長期休暇に入ってたんで、知らぬ間に多分できてたみたいな感じなのかなというふうに思うんですけれども、
その機能について話してきたなというふうに思っております。
まぁちょっと阿部ちゃんもそんなにまだ多分この機能についてちゃんと知らないというか、どういうふうになっているのかと思います。
何も知らないよね。だってまぁそれこそね、長期休暇行って帰ってきたら勝手に生えてて、便利だよって言われて、
あ、そうなんだね。今終わってるからね。
別に俺の、今んとこ俺の手元でしか動かしてないしみたいなね。
まぁそんな。ちょっとどんな機能を作ったかというとですね、
GitHubの一周から毎日朝3時、午前3時に、夜中ですね。だから夜中にどれが一番いいかみたいなのをAIが選んで、
それをピックアップして、実際に回収してくれて、その回収したものをプーリクを投げて、
そのプーリクを投げたプーリクに対してE2Eテストが走って、新しいAIセッションが動き出して、
E2Eテストをしてくれると。E2Eテストって言ってもプログラムでやるんじゃなくて探索的なテストをしてくれる。
あとはスクショを撮りながら渡り歩くみたいな感じになっていて、
最終的にどういうのがパスしたかと、どういう懸念が残ってるかっていうのを言語化してくれて、
プーリクのコメントにスクショと懸念点であったりとか、こういうのを見たよ、ちゃんと動いてたよみたいなこととかをログとして残しておいてくれて、
僕が朝を迎えてやってたのかみたいな顔をして、それを取り込むのか、ちょっとレビュー対応していくのかみたいなのを選ぶみたいな、
03:06
ちょっとそういう仕組みになっております。
結構これのおかげで毎日イシューが1個ずつ消化していくんですよね。
しかもこれは別に正直僕が1個っていうふうにやってるだけで、これが10個でも100個でも動かせるような状態になっている。
GitWorks 3で完全に隔離した環境でイシューごとになっているので、ある意味本当に無限に騒げるみたいな仕組みになっているという状況ではあるんですけれども、
ちょっと1つ問題がありまして、イシューを通り味してさばいていくんですけど、
探索テストをしてくれたら、また問題が見つかるとあったらしい。
イシューを1個解消するとイシューが増えていくという問題がございました。
なるほどね。1歩進んで2歩下がるみたいなことしてるね。下がりはしないけどね。改善はしていくんだけどね。
というような問題は抱えつつも、一応そんな感じの状況になっております。
まず前提としてOrcaの仕組みが必要なんですよね。
そうか、Orcaの自動化の機能を使っているみたいなイメージ。
Orcaのオートメーションの機能だけで言うと、正直コーデックスでやってもいいよねとか、
そういうのがあると思うんですよね。スケジュール機能があるので。
なんですけど、次のセッションにパスするみたいなのをOrcaのCLIでやってる。
次のセッションにパスする。
そう、プルリクを作ったエージェントセッションをそのままE2Eテスト回すと、
そいつのバイアスがかかったまま、コンテキストも結構逼迫している状態だし、
自分が実装した実装者がテストしてもバイアスがかかったまま見るので、
フラットにゼロコンテキストのエージェントに任せたいと思った時に、
E2Eテストは違うエージェントセッションにパスしている。
なるほど。だから、毎晩3時にトリガーして、一周トリアージして、
これやるって決めたら、とりあえずやってもらって、
そしたら一旦そこでセッションは終了というか、引き継ぎをしてもらって、
新しいセッションでやっている。そういう感じなんだ。
そうそう。バトンリレーみたいな感じにしていって、
そうするとクリアな感じになるんで、というような形になっていて、
06:02
これをやろうと思ったら、別にパスした人が監視しておくみたいなこともできるんですけど、
そこはちょっとやっていなくて、
一応元々うちのリポジトリの中であったE2Eテストを、
探索テストをしてくれるみたいなスキルとかあるんで、
それと組み合わせながらやったっていうところと、
あとこれを実現するにあたって結構重要なのが、
最近僕がせこせこ、たぶん阿部ちゃんが見てて、
何かやってるなーみたいに思ってたかもしれないですけど、
Issue Reportスキルとかを整備してたんですよね。
してたね。
あれも結構キモかなって思ってて、
前提としてうちのチーム内で、
とりあえず全員クロードコードもしくはコーデックス使いましょうって言ってて、
前々回ぐらいに紹介してたMediatorとかOrcaとか使って、
全員だから、まずチャットアプリ使わない。
非エンジニア用のIssue Reportスキルと、
エンジニア用のIssue Reportスキルをやってるんですけど、
あそこの中で、今上がってるIssueを全部見させて、
コンフリクト起きない範囲で統合していくっていうことをしてるんですよ。
Issueを統合するってこと?
そう、Issueを統合したり、今ユーザーが課題だよって言ったものが、
既に既存にあるIssueで被ってたりとか、
これ一緒に回収できそうとかみたいなのを、
一応コンフリクトが起きる範囲という意味合いで、
仕分けするみたいなようにしてて、
プラス、結構横断的なリファクタリングっぽいIssueに関しては、
クロスカッティングっていうラベルをつけて、
これは横断的なIssueだから、そういうやつはそもそも範囲が広いから、
他のやつと統合しないみたいなルールをやってて、
それ以外の局所的なやつだと、この画面が問題がありました、
Aっていう画面の次の問題が出たら、
それをもうIssue、一緒にひっくるめて直しちゃうみたいな。
そういう風にしてIssueを立てるようにしてるんです。
それはIssueを立てる時に、それこそクロスカッティングとか、
まとめるみたいなのをやってもらってるってこと?
そうそう、そうすることによって、
常に整理されてる状態が作られると。
確かに。
それでようやくオートメッションがうまく動作するっていう。
確かに単純にIssueを作るだけのスキル作ると、
もうIssueが爆量に量産されていくだけみたいな。
そうそう。
同一だけど、Issueとしては一緒なんだけど、
09:02
別のユーザーからリポートが来たってなったら、
それも参考情報になるんで、
それもヒアリングしてコメントに残すみたいな感じにしてるんですよね。
統合した時は、
もう用済みになったIssueは基本的にクローズして、
一個にどんどん集約していったりとかっていうのをやってる?
そうそう、みたいな感じ。
基本的に元々既存のIssueがあって、
今回新しくIssueをリポートするやつが、
統合するに値するよねってなった場合は、
その元のIssueをエディットするみたいな形の
ご機嫌になってるんですけど。
なるほど、なるほど。
で、そこで溜まったIssueを、
オートメーションで処理していく。
初めはP1とか一番プライオリティの高いものから
やっていくみたいなことを、
初手に出したのはやってきたんだけど、
それだと、
ふくりが効かないなっていう話をして、
ちょっとクローズと相談しながら、
だから横断的であれ、
今後の開発の速度が上がることに寄与するものを、
優先的に取り味していくというか、
取って解消していくみたいな感じの仕組みにしてる。
そうなんだ、確かに。
それはだから、取り味するその判断軸が、
なるべく開発の効率というか、
ふくりが効くものからやっていけばいいよね、
っていう判断なんだと思うけど、
とはいえ早く対処した方がいいじゃん、
みたいなのもある気がするんですけど、
それはオートメーションでは対処せずに、
人間が対応していくって感じのイメージ。
そうそう、みたいな感じかな。
一応勝手に人間側が受動的にだんだん、
回収が進むっていうところで、
結構早く直した方がいいよねって緊急度が高くて、
仕様に結構依存するものも多いかなと思ってて、
そういったものに関しては、
人間がチョイスして、
寝てる間にやるんじゃなくて、
起きてる間にやってくれた方がいいかなっていう判断もある。
確かに。
っていう感じで、
まさにAI駆動、朝起きたらできててみたいなのは、
報告も上がっててみたいな感じなんで、
AIに駆動される開発っぽいなみたいな。
そうだね、ようやく来たなみたいな感じがするよね。
そうそう、ちょうどね、
マストラファクトリーっていう、
それを作ったら、僕がそういう仕組みができたって思って、
ある程度運用回ってきたなみたいな、3日後ぐらいに、
マストラっていうワークフローを作る、
フレームワークの会社さんが、
マストラファクトリーっていう、
12:00
石を取り味して、分別して、
勝手にさばいていくみたいな、
そういう仕組みをリリースしたり、
そういう時代に突入してきてるんだなっていうのを。
自分もやりながらだし、
周りのニュースも見ながら感じてると。
山ちゃんはなんでそれを、
僕が休んでるその1週間、ちょうどそのタイミングでやろうとしたの?
AI駆動開発としては、
確かに自動化みたいなのは結構前からできる状況ではあったけど、
僕もやろうかなと思いつつ、やってなかったなって、
手が回ってないのもあるし、
ちょっと今やるの早いなって気持ちもあったんだけど、
山ちゃんの中で何か心境の変化とかあった?
それはオルカですよね、完全に。
オルカを触り始めて、
オルカってタスクっていう概念があって、
そこにいわゆるイシューが全部、
オルカ内で立ってて、
それを始めるって押すだけで、
そのイシューを解消し進めてくれるみたいなところと、
あとオルカのおかげで、
GitWorks 3の運用がすごくクリーンにできるようになったじゃん、シンプルに。
あと、メディエーターって今うちが作ってるやつ?
ツールとして。
クロードが途中でレートリミットの制限がかかっても、
それが解消されたらコンティニューで動き始めるみたいな仕組みにしたじゃん。
その辺が複合的で、
あとオルカでエージェントセッションを立ち上げれる、
エージェントセッション間のやり取りができるっていうところの、
いくつかの要素を見て、
これもできるなっていうところまでちょっと、
なったなって思ったんで、
やりましたって感じですね。
なんで結構オルカの存在が大きいかも。
そうなんだ、どっちかっていうとツール側かなって、
今聞いてて思ったんだけど、
僕勝手な想像で、
FableとかGPT 5.6とかが来て、
マカセッキにしててもそんなに外れなくなったみたいな感覚を得たからかなって最初思ってたんだけど、
そっち側ではないのかな?
それもなくはないけど、
ツール側かな、
どっちかというと、
まずオルカが出て、
メディエーター自分たち作って、
チーム全体、非エンジニアも含めたチーム全体が、
クロードコードとかコーデックスとか使えるようになって、
そうすると、問題があった場合、
課題の記表が全部GitHubに統合されるし、
15:02
しかもその報告っていうのが、
イシューリポートスキルで、
ある程度確率化できるというか、
高品質なイシューが立てられるようにできるっていう、
そこが多分前提条件。
イシューがちゃんとしてたら、
多分5.5とかぐらいだったら、
多分イケてたなって。
より安心感っていう意味で、
夜中だしフェイブルにしてるけど、
正直多分オーパスでも、
5.6ソルでも、
5.5でもできそうだなみたいな感じではあるから、
どっちかというとツールが結構デカいかもしれないですね。
確かに一個一個の突っかかりみたいなものが、
なくなっていった結果みたいなのもあるのかな。
あれも結構すごいなと思ってて、
プルリクエスト投げた後に、
僕らがせこせこ作ってたE2Eを、
AIが自動で、
しかもそれはプログラム的なものじゃなくて、
AIがプレイライト、
MCPかな、CLAかな。
MCPの方かな。
使ってスクショ撮りながら、
違和感を検知して言語化してくれるみたいな、
そういうスキルもあるからこそ、
ようやくできるようになったみたいな感じなのかな。
ツールもそうだし。
あれに関しては、
ソネット4.7からできてたから、
あれできるってことは結構できるなって感覚はあったよね。
はいはいはい。
そうそうそう。
そういうスキルを一個一個積み上げていって、
ある程度、
信頼を持って任せられるようになってきたっていうところも含めて、
あとはやっぱ、
GitHubに完全に閉じて、
管理ができるようになって、
ある意味、
エージェントループ的な、ループエンジニアリング的な話になるのかな。
こうなってくると。
そうだよね。
輪が繋がって、
あとぐるぐる回していくだけだよねみたいな。
うんうんうん。
そうだよね。
うん。
ちなみに、なんで3時にしたの?
え?
3時にしたの?
だいたい、
なんか、
3時か4時かなって思ってて、
はいはいはい。
なんか、寝ようかな、ぼちぼちみたいな。
超やる型みたいな。
寝るかな、ぼちぼちって確実になってて、
で、ある程度その最後の最後で、
ある程度自分の持ってるタスクがほぼほぼ消化されて、
で、そこから、
1時間後にリセットされるみたいなタイミングなんですよ。
18:03
うんうんうん。
だからその時に、レートリミット来ても、
3時とか4時だったらコンティニューされて、起きて、
で、一番だから僕の中で無駄な時間なんですよね。
そのエージェントが動かない、
なんか4時から、
4時から8時とか、9時ぐらいとかまでが一番無駄な時間で、
そう。
なんでそのタイミングで回ってほしいなという思いを込めてですね、
そうしました。
なるほどね。なるほどなるほど。
なんか、あとこの自動化の話聞いて、
まあ、いろいろやりたいなと思いつつ、
なんかなかなか手出してなかったんですけど、
僕は、割とこう、寝る前にでかいタスクをAIに渡して、
朝起きたらある程度終わってるみたいなのが理想なんで、
結構まあ、でかい計画を立てるんだけど、
なかなか終わらなくて、どんどんどんどん夜更かしになるみたいな。
で、でも、
寝てる時間、罪悪感がすごくて、
痛いので、
どんどん夜更かししちゃうんですけど、
自動化をどんどんどんどん増やしていけばいいってほど、
寝てる間に走ってくれるから、
罪悪感なく打ち切って寝れそうだなみたいな感覚を、
まあ、山下は感じないかもしれないけど、
僕はなんか、もっと自動化を頑張った方がいいなって思いました。
確かにね。
あ、けどそれはあるかな、なんか計画立て切って、
なんかずるずる行くじゃん、夜更か。
それで絶対に収束してるだろう、時間が3時か4時くらいだよ、多分。
まあ、なんかそんな感じになるよね。
そうそうそうそう。
で、そっから、計画の実行も含めてやらせれるかな、みたいな感じの時間だったので、
って感じなんで、だからなんかこう、
寝る前に一番レートリミットが余ってるアカウントに切り替えておくっていうのは大事ですね。
あー、確かにそうだね。
そうそうそうそう。
まあ、だし止まってもコンティニューされるっていうのは結構やっぱ、
なんか心理的に嬉しくて、
例えば次、3時スタートじゃん、それだと。
で、次が4時リセットみたいになってたら、
寝てる間に切れるな、みたいになると、
なんか今までの僕だと、4時まで起きとこうみたいな感覚だったんですよね。
はいはいはい。
で、ちゃんとそのレートリミットがリセットされて、
で、計画を実行させて寝ようみたいな感じだったんですけど、
コンティニュー機能なんかね、本当にいいですよ。
はいはいはい。
ちょっとコンティニュー機能、ちょっと分かんない人もいると思うんですけど、
だからちょっと我々はその、ORCAをラップする形で、
いい感じの機能、エージェント開発する上でいい感じの機能をちょっと、
使えるようにっていうので、ちょっと作っていってるんですけど、
その中の復旧監視っていう機能があって、
簡単に言うと、クロードがレートリミットで制限で止まってますと、
21:02
で、止まったのを検知して、で、復活したタイミングでコンティニューって、
メッセージを送ってくれるだけの機能なんですけど。
意外と大事だよね、これ。
大事大事。
めっちゃ大事。
そう。
だから寝てる間に、まあね、進められるようになったっていうのは、
まあ今までもやってたけど、よりこう、多くを進められる、
自動的に進められるようになったって結構まあ、
いいなーって僕は思ってました。
いや、本当にそう。
やりたいなって。
だからメディエーターに次、アカウント切り替え機能が欲しいよね。
いや、そうなんだよね。
まあ、僕が作ってるそのCCプロファイルとかを使って自動で切り替えるのか、
なんかログインとかまでやらせてアカウント切り替えしようとすると結構難しいから。
まあね、9アカウント?
まあ1人約5アカウントずつぐらい持ってるみたいな感じなんですけど。
ですけど。
ぶん回しまくってる。
そう、ぶん回しまくって。
レートリミット来たら、今レートリミット開いてるアカウントを登録しておくと、
見つけてそれに切り替えてくれるみたいな。
そういう機能があればすごく嬉しい。
どう作るのがいいのかな。
僕らが保有してる全アカウントの認証情報をどっかに貯めておいて、
取得する仕組みを作らなきゃいけないよね。
まあそんな感じ。
オープンコードってボチボチだから、
クロードのアカウント量で瀕死になるんで、
オープンコードとかにまたちょっと。
キミとかね、今いい感じのモデル出てきてはいるんで、
今ちょっと新たなサブスクは停止してるみたいですけど、
なんかその辺もちょっとコスパに。
ディープシックのプレビューが終わって、
正式版もリリースされるみたいなこともあるみたいなんで、
ちょっとまたコスパモードに切り替えて、
ちょっとやっていきたいなっていうのがありますね。
今ちょっとフェーブル来てて、
結局サブスクで使い続けるようになったけど、
ガンガンモードでいってたんで。
またオープンコードに戻りたいなって思ってますね。
オープンコード好きなんで、単純に。
本当にけど、フェーブルがいけるようになったじゃん、サブスクで。
マジでちょっとメンタルが死にかけたよね。
最初だって7月の1日から1週間しか使えないので、
もうネルマを死んで頑張るぞみたいなアドレナリンドバドバでやってたのに。
そう。あと1週間伸びた、1週間伸びたっつって。
24:02
どんどん伸びていって。
もう嬉しいんだけど、もうやめてくれみたいな気持ちになっていって。
共感してくれる人多いんじゃないかなって思って。
そうだよね。
生事故をあと1週間で終わるっていう、
使えなくなるみたいなのが言われてるからこそ、
結構無理して頑張ってたのにみたいな。
無理して頑張ったのに、またあと1週間。
あと1週間が、これはありがたいことだから頑張ろうって。
もう一回、またあと1週間みたいな。
やられましたね、アンソロピックには。
やられましたね。
すごい、7月はだから振り回されてましたね。
辛かった。辛い1ヶ月でしたよ。
相当いろんな開発が進んだけど。
本当にすごい仕事が進んだね。
なるほど。
そんな感じで、また今日は以上にできればと思います。
今日はようやくAIエージェント、
AI駆動開発か、駆動される系開発になってきたなっていうところがあるんで、
それをもうちょっと増やしていきたいなというところで、
情報の共有でした。
こんな感じかな。
本日はありがとうございました。
ありがとうございました。
本日もAI駆動開発部の日常をお聞きいただきありがとうございました。
いかがでしたでしょうか。
今回はGitHub Issueに登録されているものを、
自動でAIが寝てる間に開発しきって、プールリク作って、
そのまま実際に触ってテストもしてくれるというような仕組みを
作ったので、その共有となりました。
こんな感じでAI駆動開発、いつも発信しておりますので、
気に入ってくれた方は、いいねやフォロー、高評価ぜひお願いいたします。
それではまた次回もお楽しみください。
バイバイ。
26:11

コメント

スクロール