LLMアプリケーションの高度化

に向けた3つのエンジニアリング

社内技術共有会

目的

LLMを単なる「チャットボット」から、

信頼性の高い「自律的エージェント/システム」へと進化させるための、

3つの重要なエンジニアリング領域を解説する。

1. Prompt Engineering

「モデルへの指示」を最適化する

定義

LLMの出力を望ましい、信頼できる、安全なものにするために、自然言語の入力を設計・構造化・改善する技術。

コア原則

  • 役割の付与 (Role): 「あなたはシニアエンジニアです」
  • 形式の指定 (Format): 「JSON形式で出力してください」
  • 例示 (Few-shot): 入出力のペアを提示してパターンを学習させる
  • 思考の連鎖 (CoT): 「ステップバイステップで考えてください」

課題

指示の曖昧さ、コンテキスト不足、複雑すぎるタスクの詰め込みによる性能低下。

2. Context Engineering

「モデルが見る情報」を最適化する

定義

LLMが回答を生成する前に参照するすべての情報(履歴、ユーザー、外部ドキュメント、ツール等)を設計・選択・オーケストレーションする技術。

主な手法

  • RAG (Retrieval-Augmented Generation): 外部知識を検索して注入。
  • コンテキスト圧縮 (Compression): トークン制限に対応するため、情報を要約。
  • メモリ管理 (Memory): 短期記憶(会話)と長期記憶(知識)の活用。

Promptとの違い

🔍 Prompt: 「どう聞くか」 (Wording, Pattern)

📚 Context: 「何を教えるか」 (Knowledge, Data)

3. Harness Engineering

「モデルを取り巻く環境」を最適化する

定義

生のLLMを信頼できる自律的エージェントに変えるために、制約、フィードバック、観測性、ツール統合、状態管理などを設計する技術。

主要コンポーネント

  • 🛠️ ツール層: コード実行、検索、API呼び出しの統合
  • 💾 状態管理: タスク進捗の保存・復元
  • 🛡️ ガードレール: 安全性・品質の自動チェック
  • 🔄 フィードバックループ: 実行結果に基づいた再試行

重要性

モデルの能力(IQ)を、システムの設計(環境)によって最大限に引き出し、プロダクション品質へと昇華させる。

まとめ:3つの階層構造

領域 焦点 レベル 役割
Prompt 指示の質 微視的 (Micro) 「振る舞い」を制御
Context 情報の質 中視的 (Meso) 「知識」を補完
Harness システムの質 巨視的 (Macro) 「実行能力」を保証

高度なAIシステムには、これら3つの統合的なアプローチが不可欠である。

Thank You!

ご清聴ありがとうございました。

Questions? | contact: ai-team@example.com