コンテンツにスキップ

8.4.1 エンジニアリングロードマップ:非同期、API、ログ、デプロイ

エンジニアリングは、動く LLM デモをソフトウェアに変えます。プロンプト、モデル、文書、ユーザーが変わったあとも、デプロイ、デバッグ、計測、保守できる状態にします。

LLM engineering 章の学習順序図

LLMOps トレース レビュー閉ループ図

Observability の logs、メトリクス、トレース対応図

最初のエンジニアリング目標は単純です。回答が間違ったとき、どの層が原因か説明できることです。

トレース 準備チェックを動かす

Section titled “トレース 準備チェックを動かす”

本番に近い LLM 機能には、悪い回答を 1 件 debug できるだけの trace fields が必要です。

trace = {
"request_id": "demo-001",
"prompt_version": "rag-v2",
"retrieval_hits": 2,
"model_ms": 850,
"format_ok": True,
"cost_usd": 0.003,
}
required = ["request_id", "prompt_version", "retrieval_hits", "model_ms", "format_ok", "cost_usd"]
print("trace_ready:", all(field in trace for field in required))
print("debug_fields:", ", ".join(required))

期待される出力:

Terminal window
trace_ready: True
debug_fields: request_id, prompt_version, retrieval_hits, model_ms, format_ok, cost_usd

これらの field がないと、debug は推測になります。機能を増やす前に logs を追加します。

手順読む内容実践アウトプット
1非同期プログラミングtimeout、retry、concurrency limit、cancellation の考え方を入れる
2API 設計request/response スキーマ と error code を定義する
3ログと監視prompt version、retrieval hits、レイテンシ、cost、failures を記録する
4Docker デプロイ再現可能な実行手順でアプリを package する

このページを終えたら、この証拠カードを残します。

サービス契約
エンドポイント、入力スキーマ、出力スキーマ、エラースキーマ
実行シグナル
レイテンシ、スループット、ログ、ヘルスチェック、またはコンテナ状態
可観測性
request id、trace id、構造化ログ、または metric
失敗確認
タイムアウト、リトライの連鎖、ログ不足、デプロイ不一致
運用アクション
バックオフ、キュー、アラート、段階展開、またはロールバック

最小アプリに実行コマンド、API 契約、エラー処理、ログ、1 件の失敗調査メモがあれば、この章は合格です。

出口ミニプロジェクトは engineering evidence pack です:1 件の trace log、1 つのよくある error、1 回の fix、1 回の regression check、1 つの deployment note を残します。

確認の考え方と解説
  1. 合格レベルの答えでは、query から chunks、retrieval scores、引用 evidence、answer、fallback behavior までの流れを追跡します。
  2. 証拠には、retrieved passages、source metadata、引用付き回答、空振りまたは誤検索の例を含めます。
  3. 失敗原因が chunking、retrieval、ranking、prompt assembly、source 不足、根拠のない生成のどれかを説明できればよいです。