AIが書いたコードを公開することでRLHF
rkmt Clineで作ったプログラムをgitで公開していいのだろうか、と思うまもなく公開コードの大半は機械生成のものになるだろう。それをマイニングした先に何があるかはよくわからない。ただ「ほしいプログラム」という人間の願望が織り込まれているので広義のRLHF(人間フィードバックによる強化学習)になっているとも言える。
rkmt 懸念は、現状では人間が書いたコードを学んでいるので人間に対しても可読性があるが、機械生成のコードを学習しだすと次第に人間は置いてけぼりでちゃんと動作はするが解読できない、しかし効率はよい、みたいなコードだらけになるのではないか。
rkmt 人間が書いたコードは「天然物」100% organic などと呼ばれるようになるだろう。。
nishio 僕の肌感は少し違っていて、今の瞬間AIにコード解説のドキュメントを書かせる体験はとても良く、今後AIの支援でコードとセットのドキュメントが増え、それが人間だけでなくAIにとっても理解しやすさをもたらす、というループが回ってAIは「わかりやすい解説付きコード」を生み出すようになる
>rkmt: 懸念は、現状では人間が書いたコードを学んでいるので人間に対しても可読性があるが、機械生成のコードを学習しだすと次第に人間は置いてけぼりでちゃんと動作はするが解読できない、しかし効率はよい、みたいなコードだらけになるのではないか。
nishio もちろん「人間に取って理解不能なカリカリチューニングコード」も生成するけど、その場合に「これは何を意図したコードで、どうしてカリカリにしてるのか」というドキュメントを書くようになる。
teramotodaiki 完全に同意です。o1やDevinに実際に仕事させるとわかるけど、読みやすいコードが出てくることが多い。コメントも当たり前に丁寧に書いてくる。
むしろ「俺は読めるからいい」みたいな頑固さやエゴこそ人間が持ち得る特性というか、作家性に近いものになると思う。コードの癖というか。
ukkaripon それは、人間に出力する前提でチューニングされてるからでは?その必要がなくなったら、人間にはわからないけどより良いものが出てくるようになるのでは。
teramotodaiki あー、それはそうですね。直近の話と将来の話でだいぶ変わりそう
teramotodaiki まあでも、そこまでいくと人間向けのプログラミング言語を書いてるのだろうか?という疑問すらある
nishio AI視点で考えると、人間との共存が必要な時期においては当然人間にわかりやすいことは価値であり、人間が必要なくなった時代には、ごく一部の「人間にわかりにくくしてでも効率改善が必要なところ」以外は「わざわざ読みにくく変える必要がない」から放置される。
nishio たかだか定数倍の「コード圧縮」が価値を生むのはコンテキスト幅が小さい間だけであり、
人間より何桁もコンテキスト幅の大きいAIにとってはもはや「どうでもいいこと」になる
teramotodaiki この件について深く考えた結果、究極的にはソースコードの所有権が存在しなくなり、AGIが既に完成させている森羅万象ソフトウェアの利用権を人間に貸与することを便宜上「アプリ」や「サービス」と呼ぶようになる、という結論に行きつきました
nishio 深く考えたのは人間ですか?()
teramotodaiki :p
o1 Pro.icon
私自身は、当面は「人間が読みやすいコード+解説」が増える方向に進むと思います。なぜなら、人間がレビューや修正・利用を行う段階では可読性が依然として重要であり、さらにコメントやドキュメントを添えておく方がAIにとっても学習効率が高いからです。
長期的には、コードが高度に最適化・自動生成され、人間が容易に理解できない部分は増える可能性があります。しかし多くのケースでは、解説や可読性を犠牲にするよりも、十分にわかりやすいコードを生成しておくメリットの方が大きいでしょう(少なくとも人間が完全に不要になるまでは)。
最終的には、ソフトウェアの所有・ライセンス形態や、そもそもコードを“書く”という概念が変化する未来もあり得ますが、そこに至るまでの過渡期では「AIが書いたコードをオープンにして、人間もそれを理解しつつ改良していく」という相互学習のフェーズが長く続くのではないか、と考えています。