😇

生成aiも結局はデータって話

に公開

皆様、生成AIを使ってますか?
僕はおもちゃ程度にしか使えてないです

とはいえそれなりに触ってたって、色々知見が溜まってます
その中でなんかうまくいかないなぁを言語化したらデータじゃね?ってなった話を今回します

コンテキストエンジニアリングとは何だったのか

生成AIに関して世の中の理解が進むにつれてどうやらコンテキストエンジニアリングが非常に重要というのがわかって来ました
ある程度生成AIを触った人ならわかると思いますが、このコンテキストエンジニアリングというのは大きく2パターンあります

1つ目が限りあるコンテキストウィンドウどう埋めるかの戦略の話
clineとかAnthropicのブログで書いてあるやつですね
コーディングエージェントで言えば、既存のコードをどれだけ読むのか、どれだけユーザーから設計や仕様の情報を引き出すか、設計と実装でコンテキストを分割するのかなどのエージェント自体の設計に関わる部分です
多くの人はこの部分を考える必要がある場面に遭遇することはないと思います

2つ目はどういう情報を与えるかという戦術の話
うちの会社はこういうデータを持っているから生成AIでこんな事ができるはずだとか、こういうドキュメントを作るとコーディングエージェントが意図したコードを出力してくれるとか具体的に生成AIの入力とするデータをどう定義するかとかが具体例になります
多くのケースでコンテキストエンジニアリングが指すものはこちらになるかと思います

今回は後者の戦術のコンテキストエンジニアリングの文脈でデータの話をします

うまくいかないときはデータが悪いことが多い

コンテキストエンジニアリングを色々な会社頑張ってなにか成果を出そうとしてるのですが、多くの場合はうまくいっていないと思います
自社のサービスに組み込んだときにユーザーに刺さらないとかUXの設計ミスだったり、いいものはできるけどマネタイズできない等、色々な原因があると思いますが、個人の感覚でいうと多くのケースでそもそもまともに動くAIが作れてないというのが実情かと思います

なんで動くAIが作れてないんだっけ?って話が先程話したコンテキストエンジニアリングにつながるのですが、結局使えるデータがないんです

コーディングエージェントの例がわかりやすいのですが、コーディングエージェントがうまく使えないってケース大体コードがきれいじゃないんですよね
ディレクトリやクラスの責務が曖昧だったり、コーディングルールも統一されてなかったり、技術的負債が溜まってることが多いです
つまり生成AIにとって扱いやすいデータでないということです

社内のwikiとかを読み込ませて業務知識を教えてくれるGPTsとかもそうです
社内wikiにある多くの情報はメンテされてなくて古いです
同じ業務の手順書でも使ってる手順書と使ってない手順書がある状態です
そんな状態でGPTsに手順書を読み込ませても矛盾のあるデータをうまく扱えず、生成AIが混乱するだけでほとんど意味がないです
なぜならば必要なのはAIにとって扱いやすいデータになるようなドキュメント整備なのです

プロンプトエンジニアリングという幻想

生成AIが登場する前から機械学習や情報整理に関する業務をやっている人にとってはデータはあるだけでは意味がないというのは当たり前の話かと思いますが、多くの人は違います
生成AIが登場して初めてデータに触る人にとってはデータがあるというの非常に重要だと勘違いします
データがあるのうまくいかないとなると残る変数はなにか

プロンプトです

不幸なことにプロンプトエンジニアリングという言葉がバズったせいで多くの人はすぐにプロンプトに原因があると思いがちです
一旦冷静になりましょう
悪いのはデータの可能性が高いです

そのデータは余計な情報が入ってませんか?
矛盾していたり、曖昧な情報が入ってませんか?
そもそもデータがなかったりしませんか?
まずは泥臭いデータ整備の部分に目を向けましょう

データ整備ですべきこととは

じゃあどういうすればいいのか
必要十分かつ最新の情報に簡単にアクセスできる状態を作ればいいんです

これはほんとに言うがやすしで、実際やるのはめちゃくちゃ大変です
コーディングで言えば、クラスやディレクトリの責務を明確し、どんな処理がどのディレクトリ、クラスにあるのかがすぐに分かる状態です
これがいかに難しいかはエンジニアなら誰でもわかると思います

社内wikiの例であればこういうドキュメントはここにおいてくれってルールを作ってそれを守ってもらうことに当たります
これもやったことある人はわかりますが、極めて困難です

とんでもなく難しいことを気合を入れてどうにか最低限使える状態まで持っていき維持するというコストを払う必要があります

生成AI登場以前は正直コストに見合う活動ではなかったですが、生成AI登場した今、非常に費用対効果の高いコストのかけ方になっていると言えます

まとめ

というわけで結局はデータと言うのが個人的な結論になります
10年くらい前に偉い人が「これからはデータだから。わからんやつは指くわえて見とけ」って言ってて何だこいつと思ってましたが、正しかったですね
偉い人はすごいと改めて思いました

Discussion