- AIの急速な発展によって専門性が代替されることから来る心理的な憂うつを感じる開発者が増えている
- このような憂うつを感じる開発者が増えるにつれ、クロード・ブルーという名前が付けられるようになった
- また、毎日のようにあふれる新語が開発者のFOMOと不安をさらに増幅させている
- 恐怖を克服する鍵は理解することにある
- 数多くの「エンジニアリング」はすべて**「APIに適切な入力を送り、応答を処理する過程」の変形**にすぎず、これは開発者がすでに得意としてきたことでもある
- FOMOをあおるコンテンツに振り回されず、本質を理解していれば新しい用語が出てきても既存の知識体系に当てはめて冷静に判断できる
恐怖の構造と克服法
- 人は正体のわからないものの前で恐怖を感じる。AIへの恐れもAIそのものより「どう動くのか分からない」という事実から生まれる
- 正体を理解すれば魔法は技術として見え始め、技術とは学べて限界のあるものだと分かる
- 会社員の24%がAIによる情報過多でメンタルヘルスが悪化したという調査結果もある
LLMの正体
- LLMは**「与えられた入力に対して最も適切な出力を生成する」**次単語予測モデルである
- ChatGPT、Claude、Geminiはいずれも同じ原理で動作しており、サービスの実体はクライアントがメッセージを送り、モデルがトークンをストリーミングで返すHTTP API呼び出しである
- AIエージェントの強力なコーディング能力も、このAPI呼び出しを包んでいるにすぎない
AIエージェントが賢くなった過程
- プロンプトエンジニアリング: 役割付与、Few-Shot、Chain-of-Thoughtなどは、結局のところ入力テキストの文脈を具体化して出力の方向を導く方法である
- 出力形式の制御: JSON Schemaの指定、Function Callingなどによって、モデルの出力をプログラムがパース可能な構造にする。Function Callingによってモデルがツールを呼び出し、ランタイムが実行する構造が可能になる。MCP、RAGもツール呼び出しの一形態である
- コンテキストエンジニアリング: どう質問するかではなく、モデルが推論前に何を見るかを設計すること。入力が長くなると集中力が落ちるため、適切な情報を適切な位置に置くことが重要である
- プロンプト分割: 1つの巨大なプロンプトではなく、小さく集中した複数のプロンプトに分けて処理すること。Sub-Agent(サブエージェント)、Skill(スキル)などがこの範疇に入る
- ハーネスエンジニアリング: モデルを取り巻く実行環境全体を設計すること。ガイド(行動前の方向設定)とセンサー(行動後の結果検証)で構成される
- ラルフ・ループ: 完了基準を満たさない場合に同じプロンプトを繰り返し投入する手法。進行状況はファイルシステムとgitに保存し、毎回新しいコンテキストでも継続できる。ハーネスの下位戦略の1つにすぎず、ハーネス自体とは別の概念である
FOMOから抜け出す
- 知識があっても不安になるのは、FOMOをあおる人たちのせいで、まるで自分が何も知らないかのように感じてしまうからである
- FOMOを感じないための良い方法の1つは、FOMOをあおる人たちが実際に何を解決したのかを見てみること
- ほとんどは過程を圧縮しただけであり、問題そのものを解決したわけではない
- 本質を理解していれば、新しい情報に接したとき、新しいパラダイムなのか、既存概念の変形なのか、誇張なのかを自分で判断できるようになる
これから何をすべきか
- 必ず何かをしなければならないわけではない。AIが自分の問題に役立たないなら、今までどおりでいい。結局は道具にすぎず、必要なら使い、不要なら使わなければよい
- すべてのことに正解があるわけではない。したがって、模範解答を探そうと努力する必要はない
- 知識があれば、今後新しい用語が出てきてもそれが何の話なのかを見抜ける目が養われる
17件のコメント
FOMOを感じないための良い方法のひとつは、FOMOをあおる人たちが実際にAIを使って何を解決したのかを見てみることだ。
この言葉にはとても共感しますね(笑)
「AIが自分の問題の役に立たないなら、今までどおりに生きればいい。結局はただの道具なんだから、必要なら使えばいいし、必要なければ使わなければそれでいい」――簡単なことじゃないですね…
へへ、もう何しようかな
専門性のすべてが代替可能というわけではないのでは? 造語の過程からしておかしいです。
原文でAIが専門性のすべてを代替できると主張したことはありません。私もそうは思っていません…
> LLMは「与えられた入力に対して最も適切な出力を生成する」次単語予測モデルです。
GPT-3の話ですね。
GPT以降に市販された大規模言語モデルは、拡散モデルを使ったものをいくつか除けば、すべて次のトークンを予測する形式だと思っていたのですが、もし別の方式で動作するモデルがあれば教えていただけるとありがたいです
それでは、最新モデルは別なのでしょうか? もし内容に誤りがあれば教えていただけると、私を含めてほかの方々の参考にもなると思います(笑)
現代のLLMを「次の単語予測」と片付けるなら、AlphaGoも「次の一手予測」にすぎません。
ChatGPT以降、次の単語予測は単なるpre-trainedにすぎません。
憲裁は目標を達成するモデルです
AlphaGoも、最も勝率が高いと計算される次の一手を予測しているだけではないのでしょうか?????
混乱しています。冗談なのか、それとも私の知らない新しい手法や技術が出てきたのでしょうか??
「勝率」が核心ですね。
単に次の単語を予測するだけでは、使いものになる文章どころか、コーディングや数学もまともにできません。
こうした手法は60〜70年代に登場したものです。
(厳密には単語ですらないですが)
うーん……もしかすると、私の意図とは違って文章が伝わってしまったのかもしれないと思っています。もしこの文章から、LLMの技術的価値を貶めているように感じられたのであれば、お詫びします。
ただ、この文章の意図は、誇張された包装や神秘化を取り除いて冷静に見よう、ということでした。なので個人的には、「目標を達成するモデル」と表現すると神秘化されているように感じます。結局、一般的なソフトウェアであれモデルであれ、何らかの「目標」を達成するためのものでもありますから。
ですので、個人的な疑問も込めて、あなたがおっしゃった表現のほうがより技術的に正確なのか、あらためてお伺いしたいです。
gpt 3:次の単語予測 -> 正しい
gpt 3以降のトランスフォーマーベースのモデル:次の単語予測 -> 正しい。
AlphaGo、AlphaZero、MuZero、...:次の手予測 -> 正しい。
(特定の)目標を達成するモデル -> 正しい。
話の中で間違ったことはありません
そういう面もあると思います。
ただ、モデル自体は結局のところ入出力関数にすぎませんから。
適切なハーネスとエージェントループが与えられるという前提なら、モデルが目標を達成する、という言い方は成り立つように思います。
「次のトークン予測」は実装レベルの説明としては正確ですが、モデルの能力や目的を説明する方法としては不完全だ、と整理できますか?
それなら、もっと予測が上手なモデルというところで折り合いをつければよさそうですね 😄