土台:LLM・トークン・プロンプト・コンテキストウィンドウ
エージェントの頭脳はLLM(大規模言語モデル)です。まず結論から言うと、LLMは「これまでの文章の続きとして、次に来そうな単語のかけら(トークン)を確率的に予測する」ことを繰り返して文章を生成するモデルです。この性質を押さえると、エージェントの強みも弱みも理解しやすくなります。
トークンとは
LLMは文章を「トークン」という単位で扱います。トークンは単語よりも小さいことが多く、たとえば英語なら数文字ずつ、日本語なら1〜数文字ずつに分割されます。モデルは入力トークンを読み、次のトークンを1つ予測し、それを末尾に足して、また次を予測する——これを繰り返して文章を作ります。料金や処理量も多くの場合このトークン数で測られます。
コンテキストウィンドウ
LLMが一度に見られるトークンの量には上限があり、これをコンテキストウィンドウと呼びます。会話の履歴・指示・参考資料はすべてこのウィンドウに収める必要があり、上限を超えると古い情報は扱えません。Lilian Weng も、有限のコンテキスト長がエージェントの大きな制約だと指摘しています。後のレッスンで学ぶメモリやRAGは、この制約を補う工夫だと考えると分かりやすいでしょう。
プロンプト:システムとユーザー
LLMへの入力(指示文)をプロンプトと呼びます。多くのAPIでは役割を分けます。
- システムプロンプト: モデルの振る舞いや前提を決める土台の指示(例:「あなたは丁寧な家庭教師です」)。
- ユーザープロンプト: その場の具体的な依頼や質問。
エージェント設計では、このシステムプロンプトの書き方が動作を大きく左右します。
確率的であること=誤りが起きる前提
LLMは確率的に予測するため、**もっともらしいが事実でない内容を生成すること(ハルシネーション、幻覚)**があります。これはバグではなく仕組みに由来する性質です。だからこそエージェントでは、外部ツールで事実を確認したり(レッスン3)、検索した資料を根拠にしたり(レッスン6)して、誤りを減らす工夫が重要になります。
まとめ
LLMはトークン単位で次を確率的に予測するモデルで、扱える量はコンテキストウィンドウに制限され、プロンプトで振る舞いが決まり、確率的ゆえに誤りが起きます。これらの基本が、以降すべてのレッスンの土台です。