生成AIを使ったシステムを構築しているとき、要件を満たす方法で、掲題のどちらにすればよいかと考えることがあった。
現在私が構築しているシステムで扱うデータは、クリエイティブ要素がある自然言語だ。この文字列の読みを自動生成したり、特定の意味合いで分割させるシステムの構築を行おうとしている。(会社でPoCとして進めているため、具体的には書けない)
クリエイティブな要素を含んでいるデータのため、単純なルールとして扱うことができない場合がある。そういったケースで生成AIを活用しよう、といった運びだ。
しかし、プログラミングによるロジックと生成AIを用いた処理の境界線が非常に難しい。具体的なことは書けないので言いたいことを書く。
生成AIはうまく活用できればプログラミングによる実現範囲を超えた処理が可能だ。なら、両者のどちらかではなく、生成AI を主体にし、プログラミングによるロジックは補助として使うのはどうだろうか。
例えば、イメージの話で、生成AIはサッカーボールを一定の方向に向けて蹴るマシン、プログラミングは生成AIが蹴った方向にゴールを置き、適切なタイミングでパスを出すマシンだ。プログラミングによるチューニングを行なってしまえば、常にゴールにサッカーボールを蹴ることができる。
わかりづらい記事になったかもしれないが、両者は対立構造ではなく、それぞれの役割があるんだと思う。今までは人間がプログラミングによりコンピュータを操作することをしてきたが、これからは少し複雑で、AIをうまく使えるようにコンピュータが操作するプログラミングを人間がする、ということになり、目的を達成するゴールを決めるのはプログラミングによるコンピュータの挙動ではなく、プログラミングによって動かされたAIなんだと思う。
全く具体的でないが、当たり前のような変な話だが、オカシイ備忘録として残しておく。