本動画では、Codexアプリを活用した開発タスクの自動化手法が紹介されている。コミット情報の日次要約、スキルの自動改善、パーソナライゼーションの更新、Sentryとの連携によるバグ修正の自動化、そしてプルリクエストの自動管理など、開発者が本来あまり楽しくない作業を自動化することで、より創造的な作業に集中できる環境を実現している実例である。特にプルリクエストの自動グリーン化機能は、マージコンフリクトやCI失敗への対応を自動化し、開発者の負担を大幅に軽減する。

Codexによる開発作業の自動化
仕事の中には、実際にはそれほど楽しくない部分がたくさんあるんですが、そういった作業をほぼ完全に自動化してしまいました。自動化タブでいくつかお見せしましょう。今、たくさんの自動化が動いているんですが、いくつか見ていきますね。私はいくつか異なるタイプの自動化を設定しているんです。
最初のタイプは、単純に情報収集です。Codexに、モノレポのこのセクションへの過去1日分のコミットを見てもらって、基本的にそれらをグループ化して、誰が何に取り組んだのか、何が完了したのか、私が知っておくべきことは何かを教えてもらっています。だから朝起きると、ほとんどJotGPT Pulseを使ったことがある方ならわかると思いますが、パーソナライズされたパルスのような感じで、朝アプリを開くと、昨日コードベースで何が起こったかがそこに表示されているんです。これは本当に便利ですよ。
スキルの自動改善機能
それから「Upskill」という自動化があります。Upskillは過去1日のスキル使用状況を見るんです。スキルは本当に便利なんですが、時々正しく動作させるために少し調整が必要なことがあるんですよね。だからこれは過去1日のCodex使用状況を見て、スキルに何か問題がなかったか、スクリプトが正しく動作しなかったか、何かをスピードアップできるかどうかを検出するんです。
そしてスキルの改善を行います。つまり、夜間にアップスキルしているわけです。私が寝ている間に、朝起きるとCodexは、私たちがここでやろうとしていることに基づいて、朝にはより賢くなっているんです。同様に、AgentsMDの更新も、6時間ごとくらいに実行させています。
これは私たちが何をしてきたかを見て、Codexとの間に何か意見の相違や誤解があったか、コミュニケーションに予想以上に時間がかかったことがあったか、あるいはCodexが馴染みのない省略表現を私が使ったかどうかをチェックするんです。そういうことがあれば、パーソナライゼーションに追加してくれます。だから次回はもっと早くできるようになるんですよ。
他ツールとの深い統合
他にも、他のツールと深く統合されているものがいくつかあります。その一つがSentryです。これは少し違うタイプの自動化で、どんなスケジュールでも、どんな頻度でも実行され、上位のSentry問題の一つを取り上げるんです。パフォーマンスの低下やクラッシュ、アプリで発生しているエラーなどですね。そして、それについて持っている情報、ログ、マップ、Sentryが持っているすべての情報を調べて、コードベースを見て、基本的に修正すべきものを選ぶわけです。
自動化にはメモリがあります。だから前回何を解決しようとしたかを覚えているんです。だから1時間ごとに1位の問題を解決するプルリクエストが来るようなことはないんですよ。でもこれは本当に良いんです。この種の自動化が可能にしてくれるのは、Codexアプリを使いやすく、便利で、楽しいものにすることに集中できるということなんです。バグや隙間からこぼれ落ちるようなもので、少なくとも私にとってはあまり楽しくない作業、そういうものが裏側で起こるようにできるんです。もちろんそういうのが大好きな人もいるのは知っていますけどね。
プルリクエストの自動グリーン化
マージしようとするとマージコンフリクトに遭遇することは本当によくありますよね。アプローチを繰り返し改善して、さまざまなタイプの人からレビューをもらって、ようやくマージする準備ができたと思ったら、コンフリクトが発生している。CIが小さな理由で失敗している。それを調べないといけない。そういったことに対処するのは好きじゃないんです。まあ、おそらくほとんどの人がそうでしょう。CIツールに取り組んでいる人たちの中には、そういうのが大好きな人もいますけどね。
でも、私にはグリーンPRsという自動化があって、これは私たちのスキルのいくつかを使っています。BuildKaiを使っていますし、GitHubも使っています。これがやってくれるのは、私にオープンなプルリクエストがあるかどうかをチェックすることです。最近では、Codexアプリのおかげで、常に10から20個のプルリクエストが同時にオープンになっているんです。これは別の問題ですね。
この自動化は、リントが間違っていたり、プッシュ前に検出されなかったことによるCI失敗があるかどうかをチェックします。あるいは、プロジェクトを急いで終わらせようとしているときに、誰かが同時に変更を加えているためにマージコンフリクトが発生するかもしれません。この自動化は、すべてのプルリクエストがグリーンであることを確認してくれます。ベースブランチを更新してくれます。人々が何をしようとしてきたかを見て、マージコンフリクトをインテリジェントに解決してくれるんです。
だから、単にコンフリクトマーカーをクリーンアップするというような事実的な処理ではないんです。ああ、ジョーイがこの機能を入れようとしていたから、この理由でこのブロックを変更したんだな、私はこれをやろうとしていて、これを変更していて、コンフリクトがある、というふうに理解できるんです。つまり、長くなりましたが要するに、私のプルリクエストは常にグリーンなんです。


コメント