メッセージ。 - にゃー
# にゃー
最近、生成AIにある程度大きい要件を入力してプログラムを生成してもらう実験をしている。ある程度最近の賢いモデルであればそれなりのプログラムを一発で生成してくれるのだけど、生成されたコードをレビューするのが憂鬱という問題が出てきた。
もうコードレビューは諦めて、実際のデータを食わせて試してみるという手もあるかもしれない。けれども試してみたのは複雑なロジックに基づいてたくさんの数値を集計、出力するという要件なので、その方法では出力された数値が正しいかどうかは分からない。そういう意味では自分の手で書いたコードのほうが構造とかをよく理解できるし、理解しようという気にもなる。
そう考えると、生成AIを使う場合でも、インクリメンタルに機能を追加して都度テストをしていくようなやり方のほうが良さそうな気がするね。結局人間の限界としてというか、やる気という貴重なリソースをどういう風に確保するかという問題だよ。これは。
入力と出力が期待通りになっているかっていうチェックも、本来はちゃんとやった方がいいんだろうけれども、それはそれで面倒くさいよね。とくに大きな要件でドカンと作った場合。このデータだったらこう、このデータだったらこうってテストコードを人間が書くんだったら、それはそれで人間の不得意な仕事だしさ。かといって、要件をもとにテストコードも自動でAIに生成してもらったら、それって結局どうなの?という感じはする。つまり、与える要件が必要十分であるかどうかと、生成AIが正しくて必要十分なコードを生成できているかどうかという2つのリスクがあるわけだよ。
もういっそのこと、MAGIシステムのように複数のシステムに同じ要件を与えて同じ結果を出すかどうかを確認するというようなやり方の方が最終的にはいいのかもしれないね。まあ、そもそもの要件がダメだったらだめなんだけれども、そこは別の方法で担保するとして。
自分で1から手で書くよりは楽だったり面白かったりというのはあるから、まあまだしばらくはこういう遊びを色々やってみようとは思っている。
もうコードレビューは諦めて、実際のデータを食わせて試してみるという手もあるかもしれない。けれども試してみたのは複雑なロジックに基づいてたくさんの数値を集計、出力するという要件なので、その方法では出力された数値が正しいかどうかは分からない。そういう意味では自分の手で書いたコードのほうが構造とかをよく理解できるし、理解しようという気にもなる。
そう考えると、生成AIを使う場合でも、インクリメンタルに機能を追加して都度テストをしていくようなやり方のほうが良さそうな気がするね。結局人間の限界としてというか、やる気という貴重なリソースをどういう風に確保するかという問題だよ。これは。
入力と出力が期待通りになっているかっていうチェックも、本来はちゃんとやった方がいいんだろうけれども、それはそれで面倒くさいよね。とくに大きな要件でドカンと作った場合。このデータだったらこう、このデータだったらこうってテストコードを人間が書くんだったら、それはそれで人間の不得意な仕事だしさ。かといって、要件をもとにテストコードも自動でAIに生成してもらったら、それって結局どうなの?という感じはする。つまり、与える要件が必要十分であるかどうかと、生成AIが正しくて必要十分なコードを生成できているかどうかという2つのリスクがあるわけだよ。
もういっそのこと、MAGIシステムのように複数のシステムに同じ要件を与えて同じ結果を出すかどうかを確認するというようなやり方の方が最終的にはいいのかもしれないね。まあ、そもそもの要件がダメだったらだめなんだけれども、そこは別の方法で担保するとして。
自分で1から手で書くよりは楽だったり面白かったりというのはあるから、まあまだしばらくはこういう遊びを色々やってみようとは思っている。
Comment
Trackback