AIでも生成できる技術記事に価値はあるのか

最近、Qiitaの「タイムライン」(指定したタグのついた記事を新着順に表示してくれる機能)を眺めていると、ある特徴を持った記事が散見されるようになった。その特徴とは、

  • 内容が当たり障りないというか、オリジナルの知見とか著者の感情のようなものが少なく、淡白である
  • セクションに番号が振られている
  • 著者のページを見に行くと、毎日のように記事を公開している

である。そう、AIで生成された可能性が高い記事だ。

最近見かけるようになったAI生成された技術記事について何点か思うところがあるので、書いておく。

記事をAIに生成させて責任を取らない人

2024年のある日、Qiitaの「Haskell」タグに「Haskell入門」のような記事が投稿された(正確な記事名は忘れた)。その記事は「AI生成された記事」の特徴を備えていた。それだけならまだいい。Qiitaのガイドラインでは記事の執筆にAIを使うことは禁止されていないからだ。……内容の正確性が確認されていれば。

その記事は、環境構築にHaskell Platformを使っていた。Haskell PlatformはHaskell処理系であるGHCといくつかのライブラリーをまとめたディストリビューション(配布物)だったと思う。2024年の時点ではすでにディスコンになっており、StackやGHCupにその役割を譲っている。Haskell PlatformのWebサイトにアクセスすると、Haskell Platformは終了した旨のメッセージが表示される。真っ当な執筆者なら2024年のHaskell入門にHaskell Platformを取り上げることはないはずだ。

そう、その記事の著者は、AIが生成した記事中のリンクを開くことすらせずに記事を公開していたのだ。私はそのことを(AIを使用する場合のガイドラインにも触れて)コメントで指摘した。

しばらくして改めてその記事を開くと、なんと記事が消えていた。それどころか、著者のアカウントも消えていた……ように見えたが、実際には別のアカウント名に変更されていたようだった(Qiitaではアカウント名を変更すると、プロフィールページは消えるが、個別の記事ページに対してはリダイレクトが働くのでわかる)。

果たしてその著者はAIに記事を粗製濫造させることで何を得たかったのか?名声が欲しかったのであれば、「指摘一つでアカウント名を変更する」こととの辻褄が合わないように思える。長期的な名声は眼中になく、刹那的な「いいね」稼ぎなのか。謎である。

ネット上に情報の少ない話題についてはAIは正しく書けない

最近、C言語で関数のインライン化をしつつ、Haskellのような外部言語からその関数を呼び出せるようにしたいということがあった。C言語でインライン関数を書くときはstatic inlineとすることが多いと思うが、それだと他の言語からの呼び出しができない。

軽く調べてもこういう場合のベストプラクティスはわからなかったので、ChatGPT(無料版)に聞いてみた。すると、ヘッダーにインライン関数を書きつつ、ソースファイルにも同じ内容をextern付きで書くコードが出てきた。しかし、そのコードはコンパイルが通らない。問いただしても、うまく動くコードは出てこなかった。

対話の例:https://chatgpt.com/share/67b45626-d1ac-8011-aedd-a315aa1c8911 (ChatGPTが出してきたコードはコンパイルが通らない。試してみよう!)

C言語という広く使われている言語の、25年も存在し続けている言語機能であっても、世の中(ネット上)に言及が少ないとAIには正しく答えられないのだ。現状の汎用AIは自分でコンパイラーを起動できないことも要因としてあるだろう(もちろん、連携するような仕組みを作ればAIが自分でコンパイラーを起動してコンパイルが通るコードを出すようにすることはできるだろう)。

仕方がないので、この件については自力で規格書を参照したりコンパイラーで動作確認したりして、記事を書いた:C言語のinline関数について:C99とGNU89の違いも含めて この記事がクロールされれば、将来的にはAIもC言語のinline関数を理解するようになるかもしれない。

もしかすると、Deep Researchのような高度なAIであれば現時点でも正しく答えられたかもしれない。あるいは、モダンなC言語について書かれた良質な書籍を当たればinline関数についての知識を得られたかもしれない。しかし、有償のAIも有償の書籍も、アクセスするには壁がある。

AI生成のゴミ記事をインターネット上に溢れさせないでほしい/人間がすべきこと

このご時世では、AIに聞いてわかる知識はAIに聞けばいい。そうなってくると、技術記事のあり方も変わってくる。

AI生成に任せて人間が手を加えない記事は、価値が低い。蛇口から出てきた水道水をペットボトルに入れて商品として陳列するようなものだ。はっきり言って私にはゴミとしか思えない。そういうゴミをインターネット上に溢れさせないで欲しい。

まあ、無理な願いなのは分かっている。ワードサラダとしか思えないゴミ記事を精力的に投稿する輩はAI以前からいた。容量無制限を謳うクラウドストレージに乱数を流し込む話も聞く。会費制でも招待制でもないサービスで人間の良心に期待するのは無駄だ。仕組みでなんとかするのが望ましいが、私は記事投稿サイトの運営者ではないので具体的なことはなんとも言えない。

人間の執筆者は何をすればいいか。C言語のinlineの例を教訓とするならば、人間が新たに書く価値のある技術記事というのは、AIが正しく答えられないような話題の記事、ということになるのではないか。AIが正しく答えられないような話題というのは、例えばマイナーな話題であるとか、新しすぎてデータがないような場合だ。

あとは、私の好みとして、人間の成長とか人間の信念とかが感じられる記事は読んで面白いと思う。まあ「絵画自体ではなく画家の人生をコンテンツとして楽しむ」ようなものかもしれないが。

もちろん、こういう教訓や人間らしさへの希求も、AIの進歩の中で陳腐化していくかもしれない。最初に書いた「セクションに番号が振られている」も、そのうち見なくなっていくだろう。未来では「AI生成された」ことが「高品質」の代名詞になっているかもしれない。しかし、私は、私が有意義だと思う記事を私自身の手で執筆する努力をもうしばらく続けてみたい。

AIも使い方次第

AI生成の記事について否定的なことを書いたが、私は「記事執筆にAIを活用すること」全般を否定したいわけではない。例えば、文章の推敲にAIを活用する、日本語の記事を英語に翻訳する、などは真っ当な使い方と言えるだろう。AIが出してきた英語は私のような非ネイティブからすると流暢すぎてそのまま採用するのが怖くなったりするし、あるいはAIが出してくる英語に特有の癖があるような話もあるが……。

Spread the love