2025-06-15
2025-06-11 で不変条件を上手に設定して保つことがプロダクトを成長させるために効き、その効き具合は投下できるリソースの増加に応じて増すみたいなことを書いた。不変条件に限る必要はないはずで、内部品質を高めることが効くと思う。内部品質の高めかたの一つとして不変条件をいい感じにする方法がある。
AI前提の開発
CI・CDは開発・運用から動作検証とデプロイを自動化した。つまり、それに必要な人手をゼロにした。それらに必要な人間の頭がゼロになったのではなくて、求められる頭の使い方と必要な作業の種類を変えた(作業の量を減らして負荷の高いスポットな労働に変換した)。
AI前提な開発をそのパターンに当てはめて考える。
例えばブランチを切ることから始まるプルリクエストの作成を自動化することはAI前提な開発の一つの形態である。ブランチを切る時点で達成するべきコードベースの変更の目標が定まっていて、それをプロダクトとしての品質を保ちながら意味あるスコープで実現するのがここでいうプルリクエストの作成である。コードベースがまともで、CIが整備されていればその手のプルリクエストを人間であれAIであれできる。この自動化が広く実現するようになると、プルリクエストでどんな変更を実現したいかを決めることと、プルリクエストをマージして良いことを検証することが自動化した仕事の周辺に残る。そしてこれらは今まで単に実装するだけよりも少しレベルの高い作業として認識されてきたものである。
多少抽象的な課題から、それを具体的に落とし込んで、どのようなプルリクエストが必要かを洗い出すことも最近商用化されているAIには可能である。この自動化が広く実現するようになると、周辺に残る仕事は多少抽象的な課題を抽出することと、プルリクエストをマージして良いことを検証することである。
多少抽象的な課題を抽出することは、claude codeの開発のためにやられていそうという観測がある。インターネットを徘徊してユーザの反応を見れば良い。
プルリクエストをマージして良いことの検証はCIとそのメンテナンスとしてAIである程度自動化できるだろう。AIが直接判定しても良い。これはまだ現時点では難しいように感じる。僕が実現させられていないだけかもしれないが。
評価資料を書くしごと
僕はGMOペパボのエンジニアとして働いていて、定期的に評価資料を書く。何人か上長がそれを元に僕の評価を決定する(だいぶ端折った説明)。評価資料を書くのはそれなりに大変。具体的には自分の実績を元に評価要件に沿って評価を主張することが求められる。
仕事を分解してみる
評価資料を書く仕事はいかのような作業に分解できる
- 実績を洗い出す
- 評価要件を理解する
- 評価要件に照らし合わせて自身の評価の主張を想像する
- 主張をサポートする実績を対応づける
- そこに論理を持たせる(まともな文章として主張を書く)
実績を洗い出すこと
会社ではGitHub上でのアクティビティ(PRの作成とかissueの作成とか)を一覧できる仕組みがある。それを使うとGitHubで行った仕事へのポインタ一覧を取れる。レビューコメントとかは取りずらいのがネック。
SlackやNotion、対面でも仕事のやり取りや成果は発生しているがそれらを体系的に取得する方法はない。記憶と検索を頑張る必要がある。
評価要件を理解すること
何回か評価を受けたり、上長とお話をすることによってインストールできる
評価要件に照らし合わせて自身の評価の主張を想像する
こんな感じで成果を出せたし、これくらいの評価を主張できるだろう、を想像する。数学とかでこんな感じの命題は成り立つだろうと証明を書くまえに想像するのと同じ思考。
主張をサポートする実績を対応づける
この主張を示すためにはこの実績を説明できれば十分そう、を洗い出す
そこに論理を持たせる(まともな文章として主張を書く)
要件・主張・実績を頭に入れて、文章としてまともに書き下す。
大変なので楽をしたい
- 要件の理解と主張をすることは自分でやりたい。ぼくの専門性とか仕事の出来栄えは自身で認識していたいので。
- 実績を洗い出すことはできれば自分ではやりたくない。大変なので。でもSlackとかNotionのログを洗うのは大変。
- 主張をサポートする実績を対応づけけるのは自動化したい
- 論理を持たせるのは半自動化したい
- ドラフトを書いてもらいつつ、その内容を自分の中で腹落ちするものであるようにしたい
主張を書いた上で実績を対応づける作業をAIにさせたいが、どんな成果を出したか思い出すのが大変なので実績を洗い出してもらってそれを読んで記憶を取り戻したい。日記が上手に書かれていれば、それを要約するのでも構わないだろう。