無料プランの宣伝が来ていたのと、vscodeをアップデートしたら勝手に拡張が入って上部にアイコンが現れたので、ちょっと有効化して使ってみることにした。何日か使ってみた感想。
思った以上に賢いのは分かった。ただ、もちろん思った通りのものが出てくるわけじゃないので、提案を無考慮で受け止めるような習慣がつくとやばいね。
chatでリファクタリングを頼むと普通に上手いと思う。好みの部分で自分とは違ったりするけど、悪くない。だけど入力に対して結果が異なるような変更提案が来ることもある。それなりのレベルでチェックしてくれるunittest書いてからじゃないと、既存コードをいじらせるのはまずいと感じる。やり始めると、とてもじゃないが受け止めきれないスピードと分量になって目で問題を見つけられなくなってしまう。
あとは、適切なログを出してよ、みたいな頼みはよく聞いてくれる。平均的な人間と比べても、割とマシなログを出す。このへんは人間にもセンスのない奴がいるからね。えらいぞコピ郎。
unittestを書く部分については、頼んでみると割とマシなものを出してくる。エラーケースは考慮が足りないし、細かい部分でそのままで動かないものを出してくるのは本体コードと同じくらいのクオリティだ(それとも、これもプロンプト次第なのかな?)。全体的には、予想以上によくできている。さすが、ローカルLLMのollamaよりはかなり上だしレスポンスも速い。リファクタリングより前にunittestを書かせて、ある程度ちゃんとした形になったらリファクタリングを頼んでテストを回す、みたいな使い方が助かるだろうなあ。開発していて、最もめんどくさくて、労力がでかい部分がそれだ。たいてい、本体コード書いてる方が楽だもんね。
それでクオリティだけど、そこそこのレベルの人間のコードレビューをそのまま通過できるかという話になると、人間の上の方の人よりは通過率は低いだろうと思う。下の方の人だったらもう超えているのではないか。適当にやらせて、人間がある程度手直しするだけで終わりそう。
希望としては、ペアプロの相手みたいにもうちょっとペラペラ知識や考えを喋ってくれるといいなと思った。今のだと、助けになったとしても人間側のスキルが上がる気がしない。そして、今のAIは人間側のスキルを上げなければ、いいものが作れないんだ。
actionsからPRのレビューをする、みたいなのもあるようだけど、まだ試していない。変更概要の説明やセキュリティ面での分析、変更に対してunittestが十分か…みたい分析をしてくれると、かなり助かると思う。