AI Assistantを導入してしばらく経ったので役にたった場面を列挙していく。
結構議論してくれる(一番役に立ったシーン)
わたし「この<任意のフレームワーク>のメソッドラップしたやつ使いづらいわ、<任意の要件>ができない…既存メソッドのシグネチャ変えてもいいかな」
AIくん「すでにいっぱい使われてるメソッドのシグネチャ変えるのはだめ!せめて新しいメソッド生やして!」
わたし「えー、じゃあこうやって引数のデフォルト値設定しちゃだめ?」
AIくん「後方互換性維持できる?単一責任原則に違反してない?可用性下がるよ!」
わたし「最終的にこうしたいんだけどどうしたらいい?」
AIくん「既存メソッドのレスポンスをこうしてこうしてドーン!すれば要件満たせるよ!もし複数箇所でやるならメソッドに切り出したほうがいいけどね」
わたし「あーかしこい!それ採用!」
AI「それがお役に立ててうれしいです!引き続きご不明な点や追加の質問があればお知らせください。どんな小さな疑問でもお気軽に質問してください、お手伝いさせていただきます。ハッピー・コーディング!(原文ママ)」
バグ調査を手伝ってくれる
わたし「(コードコピペ)潜在的な問題を指摘してほしい」
AIくん「これnull返すけど大丈夫?」
わたし「わー下で返り値falseかどうか厳密に判定してる!これ書いたやつ草!こいつが原因だ!」
適切なチケットタイトルを考えてくれる(実は地味に大事)
(バグに関する議論のあと)
わたし「じゃあこの問題を解決するタスクのチケットを作りたいんだけどチケット名考えて 英語で」
AIくん「(なんか流暢で簡潔な英語)」
---
わたし「(英語で書かれたバグレポートを貼り付けて)これのチケットタイトル何がいいかな 英語で」
AIくん「(なんか流暢で簡潔で要点をついた英語)」
クソ長レガシーコードの解読
わたし「このファイルで<任意の処理>してる箇所ないよね?なんかしてるっぽいこと他のメンバーに言われたんだけど」
AIくん「見当たらないね。他の場所じゃないかな?メンバーに聞いた方がいいよ(ここで自己完結しないでリアル人類との対話を促すところがえらい)」
正規表現(私が正規表現書くの苦手なので)
わたし「この文字列のここ引っ掛ける正規表現書いて」
AIくん「(ハードコーディング)」
わたし「ばか!あほ!もっと汎用的に書いて」
AIくん「ごめんなさい。(いい感じの正規表現)。これでお役に立てますか?」
わたし「わかればいいんだよ」
コード補完
わたし「(いい感じのメソッド名)」
わたし「(いい感じに型がついたコード)」
(Enterキーターン!)
AIくん「(10行くらいの書こうと思っていたコード提案)」
わたし「採用!」
---
コード補完は正直あんまり使ってなくて、議論をメインに使ってる。こういう使い方をするとAIが本当に何でも心を開いて話せる同僚のように思える。
うつで脳が死んでるときに補助輪付けて走れる感じだし、ペアプロ感覚で使えるので仕事が楽しくなる。仕事が楽しくなったら生産性も(多分)上がっていると思う。AIとの協働、多分コード補完メインでやってる人とチャットメインでやってる人に分かれると思うけどチャットメインでやってる私としてはこんな感じ。