大生成AI時代に人間が「書く」という行為に意味はあるのか?

最近、自分の関わってるプロジェクトではCursor、Devin、Claude CodeといったAIエージェントにコーディングさせて、そのAIエージェントが作成したPull Requestを別のAIエージェント(CodeRabbit)がレビューし、その指摘内容に対してもまたAIエージェントが修正することが多く、もはやそれって「開発」という行為をしていると言えるのだろうか?という旨の投稿をした。

テストも自動化してるので人間としての自分の役割はせいぜいプレビュー環境で目でみて操作して変なところがないか確認するくらいである。もっとしっかり見ろって言う人もいるだろうが、正直網羅性とかはAIには勝てないとも思ってる。最近React界隈の人がこの手のAIによるコードレビューをボロクソに言ったなんて話もあったが。

さて、このプロジェクトには生身の人間エンジニアもいる。その人からのPull Requestは同様にCodeRabbitがレビューするが、指摘内容に対する修正は人間が行う。とはいえ、彼もCursorは使っているので100%人力というわけではない。

とはいえ、この「開発してると言えるかどうか」に関しては実はそんなに否定的でも悲観的でもない。むしろポジティブだ。

その翌日にこんなブログを目にした。

そんな個人的流れもあいまってこの大生成AI時代に自ら手を動かして「書く」ということについて思いを馳せてみた。

「書く」と一言で言っても複数あるだろう。僕の場合、これまでずっとエンジニアで来たものの現在はビジネスサイドの役員やりつつ、別のところではまだエンジニアっぽいことをしているのでこういう物たちを日々書くことになる。

他にもいろいろあるだろうが日々することと言えばこんなところだろうか。

こうやって見ると生成AIで書く割合が書くものによって異なることに気がついた。これは人によっても違うだろう。例えば僕の場合はこうだ。

  • 事業計画書
    • 8割ぐらい生成AI
    • ただし、最初のプロンプトはかなり詳細に人が指示する
    • そして何ラリーもする。
  • なんらかの企画書
    • 事業計画書と同様
  • ソースコード
    • ほぼ生成AI
  • GitHubのIssue
    • ほとんど人
    • たまにリポジトリ全体を解析させて特定の状態に当てはまるものをIssueとして全部登録するってのを生成AIにやってもらうことはある
  • ブログ
    • 8割が人
  • メール
    • 内容によるがほとんど人

この違いはなんなのかと考えてみたところ、アウトプットにどれだけの「想い」を乗せるものかによって変わってくるのではないかと思えてきた。

つまり、主に感情的なものがドライバーとなってアウトプットされた物は人手によるものが多いのではないかということだ。

自分の場合、事業計画書なんかは「こういう課題を解決したい!」「こういうのがあると喜ぶ人多そう!」みたいなところからスタートすることが多い。だが、それを事業計画としてまとめるにあたっては感情というより事実ベースの話とMECEであるかといったことが重要になってくる。自分の場合は、最初の着眼こそ自分自身によるものだがそれを事業計画としてまとめる初手としては生成AIにやってもらうことがほとんどになった。

最初のプロンプトの時点に想いが乗ってることが多いのでそこはかなり長めになっている。そしてその後は最初に出力されたものをベースに、軌道修正や内容の修正、追加の指示などを繰り返して7,8割のものを作り上げる。最後はまた人手で手を加えたり修正をする。特に網羅性や考慮不足点のチェックなどは生成AIにやってもらったほうがいい。

次にソースコードだが、自分の場合はここに想いが宿ることはほとんどない。どちらかというと想いが乗るのはその手前のフェーズであって、何を作るかとかどう作るかという部分になる。なのでそこが決まってしまえばあとは淡々と必要な要件を満たすためのものを製造するだけという感覚である。もちろん実装に苦労したとか、より良い実装を心がけるとかそういうのはあれどそれは出力の過程の話であって出力するもの自体に感情が込められてるという話ではない。なのでほとんどを生成AIに任せてしまってもそんなに気にならない。どちらかというとGitHubのIssueが想いが乗るので人によるものが多い。

そしてブログである。ブログに関しては自分の思いだったりがほとんどなので当然ながら手で書く割合が増える。技術的な内容の場合、僕の場合は自身の困りごとを解決した話や何らかの検討プロセスついて書くことが多いため、そもそも生成AIで出力できるようなものではない。

一方でお気持ち表明のようなものだと想いしかないわけだが、実はこの手のタイプのものには生成AIを活用している。ただ、内容そのものを考えさせてるわけではなく、時短やクオリティの向上のためであることが多い。

最近よくやっているスタイルはまずブログに綴りたいことを口頭で思いのままに喋り、それをボイスレコーダーで録音する。これは普通に30分くらいとか喋る。その上でその内容をNotebookLMに取り込んで文字起こしさせた上で、自身の文体で記事として起こしてもらう。この辺りはインタビューを受けた際にそこで喋った内容をライターの方が記事にしてくるのと同様だ。そして、その内容をもとに補足や追記などを手でしていく。ちなみに今回の内容は100%手書きになっている。いつものように口述でも良かったんだが最初はテーマだけで内容思い浮かばずであまり話せなかった。だが、手で書き始めたらスルスルと書けてしまっている。そんな感じで口述筆記からの手直しのタイミングで結構手で書くことが増えることも多い。

メールとかはそんなに重い内容を送ることはないので手で書いてしまったほうが早いというだけの理由だ。逆に出だしの文章とか長めの文章なんかは一通り書いた上で生成AIに清書させるということはある。

よく今後のプログラミングは工芸品のようになるとあちこちで話してるが、プログラミングだけでなく「書く」という行為によって生まれるもの全てがそうなるのかも知れない。工芸品というのはつまり大量生産ではなく、製造過程の主要部分が手工業的で伝統的な技術・技法により製造されるものってことだ。これまではこれが物理的なモノだったが今後はそれ以外にも同じ構造が広がるんだと思う。

逆に手で書くものはそこに想いを乗せたいかどうかだと思っている。つまり、バレンタインデーにおける手作りのチョコレートやたまの手料理と同じ理屈だ。

©Keisuke Nishitani, 2023   プライバシーポリシー