【ITニュース解説】AI-generated Art and AI-generated code are treated differently
2025年09月14日に「Dev.to」が公開したITニュース「AI-generated Art and AI-generated code are treated differently」について初心者にもわかりやすく解説しています。
ITニュース概要
AIによる生成物は、アートとコードで受け止められ方が違う。アーティストは著作権や職を奪われる不安からAIアートに反発する一方、エンジニアはAIコードを生産性向上のツールとして歓迎する。これは、アートが感情的な表現で人間性に訴えかけるのに対し、コードは機能的で目に見えにくい性質を持つためだ。
ITニュース解説
現代のITの世界では、人工知能(AI)が様々な分野で活用されている。中でも、画像を生成するAIと、プログラムのコードを生成するAIは、それぞれ世間から異なる反応を受けているのが現状だ。システムエンジニアを目指す皆さんにとって、この違いはAIの社会的な側面を理解する上で非常に興味深い点となるだろう。
まず、AIによって生成されたアート作品について考えてみよう。多くのアーティストはAIの登場に対し、強い拒否反応を示している。これは、AIが学習する際に、許可なく既存のアーティストの作品が大量に使われていることへの反発が大きい。自分の個性やスタイルが、AIによって無断で模倣され、利用されることへの怒りや不公平感があるのだ。また、AIが自分たちの仕事を奪い、経済的な脅威となることへの不安も大きい。実際に「#NOAI」といったハッシュタグや「人間が作ったもの」を強調する運動が起きていることからも、アーティストたちの深刻な懸念がうかがえる。
一方で、ソフトウェア開発の現場では、AIへの見方が大きく異なる。多くの開発者はAIを、コードの品質や生産性を高めるための「新たなツール」として積極的に受け入れている。もちろん、技術的な課題や潜在的な欠陥に対する議論はあるものの、AIの学習プロセスにおける倫理的な問題、例えば既存のコードが学習データとして使われることに対する反発は、アーティストに比べてずっと少ないように見える。なぜ、同じAIが生成するものでありながら、これほどまでに反応が異なるのだろうか。
その理由の一つに、「アート」と「コード」の本質的な違いがある。アートは視覚的かつ感情的なコミュニケーションの直接的な形だ。絵画を見た人は、その作品から美しさや感動、作者の意図を感じ取ろうとする。このような「人間らしさ」が強く求められる領域において、機械が生成したものが果たして同じ価値を持つのか、あるいは人間の表現を脅かす存在となるのか、という疑問や抵抗感が生まれるのは自然なことかもしれない。人間は進化の過程で、生存のために視覚を重要なツールとしてきた。そのため、目で見て認識する情報には特に強く反応する傾向がある。
それに対して、コードは機能的で抽象的な性質を持つ。コードの目的は、コンピューターに対して明確な指示を与え、特定のタスクを実行させることにある。コードそのものが感情を伝えるものではなく、また、ほとんどの人がコードそのものを見る機会もない。そのため、そのコードが人間によって書かれたのか、AIによって書かれたのか、という点に対する感情的な重みはほとんどない。コードは論理の抽象化であり、人間が直接的に感情移入する対象とはなりにくいのだ。
また、アートとコードは「目的」という点でも大きく異なる。コードは、コンピューターに特定のタスクを実行させるための、明確で決定論的な一連の指示を、人間が理解しやすい言語で抽象化したものだ。つまり、実用的な目的のために存在する。しかし、アートはそれとは違う。著名な作家オスカー・ワイルドが「すべての芸術はまったく役に立たない」と言ったように、アートの存在意義は、美しさや自己表現、あるいは感動を与えることにある。生存や道徳的な教訓のためではなく、それ自体が目的となる。この「有用性」の違いが、AIがアートとコードを生成する際の機能の仕方に影響を与えている可能性がある。アートはコードや論理的なシステムよりもはるかに柔軟なのだ。
AIが新しいものを生成する仕組みについて少し触れてみよう。AIは、大量のデータ(学習データ)から特定の「パターン」を抽出し、それらのパターンや典型的な特徴を記憶する。そして、新しいものを生成する際には、このパターンを基にしつつ、「ランダム性」を組み合わせて結果を生み出す。このランダム性があるおかげで、AIは学習データと全く同じものをコピーするのではなく、学習したパターンに「合致する」新しいバリエーションを生み出すことができるのだ。
AIがアートを生成する場合、アーティストが様々なインスピレーション(他の作品、経験、音楽など)を組み合わせて新しい作品を生み出すプロセスに似ている。AIはこれらを無意識的に行い、学習した「画風」や「モチーフ」のパターンに沿って、ランダムな要素を加えながら新しい画像を生成する。結果として、元の作品からの参照や特徴を保ちつつも、独自の表現を持つ作品が生まれる。
AIがコードを生成する場合も、基本的なプロセスは同じだ。AIは多数のコードサンプルから特定のプログラミングパターンやロジックを検出し、それらを学習する。そして、与えられた指示に基づいて、学習したパターンを基に新しいコードを生成する。ここでもランダム性が導入されることで、全く同じコードではなく、少しずつ異なる、しかし機能的に同じ目的を達成するコードが生成される。このランダム性があるからこそ、AIは単なるコピー機ではなく、創造的な側面を持つことができる。
このランダム性が、アートとコードのAI生成に対する認識の違いに大きく影響する。アートは非常に主観的で多様な表現が可能だ。同じ「リンゴ」を描くにも、ピカソ風もベラスケス風も、あるいは超現実的なスタイルも、それぞれが「有効な表現」として受け入れられる。あるコンセプトを表現する方法は、文字通り無限に近い。このような、多種多様な表現が許容されるアートの世界では、AIがランダム性を使って生成する様々なバリエーションが、ユーザーにとって「有効な結果」として受け入れられやすい。いくつかの試行を重ねれば、ユーザーは満足する結果を得られる可能性が高い。
しかし、コードの場合は事情が異なる。特定の機能、例えば「0から100まで数えるループ」を書く方法だとしても、同じプログラミング言語の中では数ダース程度の解決策に限られるかもしれない。さらに重要なのは、コードの場合、すべての解決策が等しく有効なわけではない点だ。プログラムの実行速度、メモリの使用量、拡張性、1秒あたりのリクエスト処理能力など、定量的な指標で「より良い」または「劣る」バージョンが存在する。例えば、ウェブサイトを巡回するクローラーやデータベースのような複雑なプログラムでは、わずかなコードの変更が、性能や安定性に大きな違いをもたらす。AIがコードを生成する際、常に「最適な」解決策を一度で出すことは難しく、多くの試行錯誤や人間の修正が必要となる。このため、AIの非決定的な性質は、アート生成と比較すると、コード生成においては「より多くの調整が必要」と感じられることが多い。
そして、AI生成アートとAI生成コードに対する世間の認識の差には、もう一つ重要な側面がある。それは「最終的な製品がどのようにユーザーに提示されるか」という点だ。AIが生成したアート作品は、それ自体が最終的な製品としてユーザーの目に触れる。美術館に飾られたり、SNSで共有されたり、ユーザーは直接的にその画像を見て、美的感覚や感情を刺激される。その際、AIが生成したものであることが比較的容易に判別できる場合も多い(例えば、不自然な指の数や、どこかで見たような汎用的なスタイルなど)。
対照的に、AIが生成したコードは、ほとんどの場合、最終的なエンドユーザーの目に触れることはない。ユーザーがウェブサイトやアプリケーションを利用する際、その裏側で動いているコードが人間によって書かれたものか、AIによって書かれたものかを意識することはないだろう。コードそのものには、アートのような視覚的なインパクトや感情的な訴求力がないため、たとえAIが生成したものであっても、ユーザーの反発やデモが起きることは極めて稀だ。AIがプログラマーを置き換えると話題になった「Devin AI」の件を除けば、開発者向けのツールがAI学習に利用されても、一般社会から大きな反発が起こることは少ない。
ウェブサイトの例を考えてみても、この違いは明らかだ。AIが生成したウェブサイトは、見た目では人間が作ったものとほとんど区別がつかない。そして、ウェブサイトは通常、個人の芸術的な「表現」の結果とは認識されないため、AIが作ったものと知っても、アートに対するような感情的な反応は起こりにくい。つまり、AI生成アートは「AIが作ったものだとわかる」一方で、AI生成コードは「見えない」、あるいは「人間が作ったものと区別がつかない」という大きな違いがあるのだ。
これらのことから、AIが生成するアートとコードに対する世間の反応や認識の違いは、それぞれの本質的な目的、人間の感情や視覚への影響の度合い、そして最終的な成果物がユーザーにどう提示されるかという複合的な要因から生まれていることがわかるだろう。システムエンジニアを目指す皆さんにとって、AIの技術的な側面だけでなく、このような社会的な受容性の違いを理解することは、将来のキャリアを考える上で非常に有益な視点となるはずだ。