チャットボット設計のベストプラクティスの知識マップ(知識グラフ)
type: Dataset
description: この記事は、チャットボットをモデル選定より先に設計すべき要素として、用途の一点化、知識ソースの正本管理、権限の最小化、人への引き継ぎ条件、評価方法を整理します。RAGはチャンク分割した文書を検索してモデルに渡すことでグラウンディングを実現し、根拠のない断定であるhallucinationを防ぎます。ガードレールと権限の最小化はprompt injectionの影響を軽減し、handoff rulesは高リスクな質問を人へ確実に渡す条件を定めます。評価セット(evals)を先に作り、model snapshotを固定してから変更を測ることで、改善を勘に頼らせない運用を目指します。single-agent構成から始め、明確な理由がない限りmulti-agent化は避けるべきというのが本記事の推奨です。

チャットボット設計
type: Concept
definition: モデル選定より前に、役割・知識ソース・権限・引き継ぎ条件・評価方法を含めて行うチャットボット開発の実務。
alternative label: Chatbot Design
alternative label: 対話エージェント設計
verified by: escalation rate

RAG(Retrieval-Augmented Generation)
type: Concept
definition: 質問に関係しそうな文書やページをまず検索し、その本文をモデルに渡して答えさせる方式。モデルが覚えていることだけに頼らせないための仕組み。
alternative label: Retrieval-Augmented Generation
implements: グラウンディング(grounding)

グラウンディング(grounding)
type: Concept
definition: 回答を、モデルの内部知識ではなく指定した資料に基づかせること。
alternative label: Grounding
mitigates: hallucination

チャンク分割(chunking)
type: Concept
definition: 長い文書を、検索で拾いやすい大きさの意味の塊(1つの制度説明、1つの手順、1つのFAQなど)に切り分けること。
alternative label: Chunking
recommended for: RAG(Retrieval-Augmented Generation)

hallucination
type: Concept
definition: 事実でないことを、もっともらしい文章で答えてしまうこと。
alternative label: ハルシネーション
verified by: evals(evaluations)

用途を1つに絞る設計
type: Concept
definition: 誰の、どの仕事を、どこまで減らすのかというチャットボットの用途を、着手前に1つへ絞り込むこと。
alternative label: スコープ定義
alternative label: Scope Definition
should precede: 正本と更新責任者の管理
recommended for: チャットボット設計

正本と更新責任者の管理
type: Concept
definition: どの文書やページを正本にするか、誰が更新責任者か、どの頻度で更新し、いつ古い情報を捨てるかを決めて運用すること。
alternative label: ナレッジガバナンス
alternative label: Knowledge Source Governance
recommended for: チャットボット設計

single-agent構成
type: Concept
definition: 1つのボット(agent)で完結させる構成。
alternative label: シングルエージェント
recommended for: チャットボット設計

multi-agent構成
type: Concept
definition: 役割の違うボット(agent)を複数組み合わせる構成。
alternative label: マルチエージェント

handoff rules(引き継ぎ規則)
type: Concept
definition: どの条件で、ボットから人(または別の担当ボット)へ引き継ぐかをあらかじめ決めておく規則。
alternative label: Handoff Rules
recommended for: チャットボット設計

escalation rate
type: Concept
definition: 全体のうち、人へ引き継いだ割合を示す指標。
alternative label: エスカレーション率

evals(evaluations)
type: Concept
definition: 決めておいた入力の一式を流して、回答の良し悪しを毎回同じ基準で測る仕組み。
alternative label: 評価セット
alternative label: Evaluations
recommended for: チャットボット設計

ガードレール(guardrails)
type: Concept
definition: チャットボットが答えてよい範囲、実行してよい操作をあらかじめ制限しておく仕組み。
alternative label: Guardrails
recommended for: チャットボット設計
mitigates: prompt injection

prompt injection
type: Concept
definition: 利用者の入力や、読み込ませた外部の文書・Webページに指示文を仕込んで、ボット本来の指示を上書きする攻撃。
alternative label: プロンプトインジェクション

権限の最小化(least privilege)
type: Concept
definition: 読める資料や実行できる操作を必要最小限に絞り込む設計原則。
alternative label: Least Privilege
mitigates: prompt injection
recommended for: PII(Personally Identifiable Information)

Structured Outputs
type: Concept
definition: 回答を自由な文章ではなく、決められた形のJSONで返させる機能。後段のシステムへ値を渡すときに使う。
alternative label: 構造化された出力
recommended for: チャットボット設計

PII(Personally Identifiable Information)
type: Concept
definition: 氏名、メールアドレス、電話番号、顧客IDなど、個人を特定できる情報。
alternative label: 個人を特定できる情報

model snapshotの固定
type: Concept
definition: 本番運用で使うモデルのバージョン(snapshot)を固定し、評価してから切り替える運用。
alternative label: Model Version Pinning
recommended for: チャットボット設計

subject: RAG(Retrieval-Augmented Generation)
predicate: implements
object: グラウンディング(grounding)
description: RAGは検索で見つけた資料の本文をモデルに渡して答えさせることで、回答を指定資料に基づかせるグラウンディングを実現する手段の1つである
evidence: retrieval-augmented-generation-overview
verified at: 2026-08-01
certainty: established

subject: チャンク分割(chunking)
predicate: recommendedFor
object: RAG(Retrieval-Augmented Generation)
description: PDFやページをそのまま入れるのではなく、意味の塊で切り分けるチャンク分割を前提にすることが、RAGの回答を安定させるための本記事の推奨である
evidence: retrieval-augmented-generation-overview
verified at: 2026-08-01
certainty: established

subject: グラウンディング(grounding)
predicate: mitigates
object: hallucination
description: 回答をモデルの内部知識ではなく指定した資料に基づかせるグラウンディングは、もっともらしい誤答であるhallucinationを減らすが、無くすわけではない
evidence: generative-ai-public-websites
verified at: 2026-08-01
certainty: established

subject: 用途を1つに絞る設計
predicate: shouldPrecede
object: 正本と更新責任者の管理
description: 誰の、どの仕事を、どこまで減らすのかという用途を1つに絞ってから、何を正本にするかを決める順序が推奨される
evidence: agent-design
verified at: 2026-08-01
certainty: established

subject: 用途を1つに絞る設計
predicate: recommendedFor
object: チャットボット設計
description: モデル選定より先に、誰の・どの仕事を・どこまで減らすのかという用途を1つに絞ることが本記事の推奨である
evidence: agent-design
verified at: 2026-08-01
certainty: established

subject: 正本と更新責任者の管理
predicate: recommendedFor
object: チャットボット設計
description: どの文書を正本にするか、誰が更新責任者かを先に決めておくことが本記事の推奨である。ここが無いとボットは古い情報と新しい情報を同時に拾う
evidence: retrieval-augmented-generation-overview
verified at: 2026-08-01
certainty: established

subject: single-agent構成
predicate: recommendedFor
object: チャットボット設計
description: 明確な分離理由がない限り、まずsingle-agentで検証する流れが推奨される。実装が単純で運用負荷が下がり、予測しやすい実行モデルになる
evidence: single-agent-multiple-agents
verified at: 2026-08-01
certainty: established

subject: multi-agent構成
predicate: notRecommendedFor
object: チャットボット設計
description: 明確な分離理由がないまま最初からmulti-agent構成にすることは、latency・状態管理・監視・権限管理を重くするためよくある失敗として挙げられている
evidence: single-agent-multiple-agents
verified at: 2026-08-01
certainty: context-dependent

subject: handoff rules(引き継ぎ規則)
predicate: recommendedFor
object: チャットボット設計
description: どの条件で、どこへ、何を添えて人へ渡すかまで最初から決めておくことが本記事の推奨である
evidence: handoff
verified at: 2026-08-01
certainty: established

subject: チャットボット設計
predicate: verifiedBy
object: escalation rate
description: チャットボットの運用が適切かは、人へ引き継いだ割合を示すescalation rateなどの指標で確認できる
evidence: evaluation
verified at: 2026-08-01
certainty: established

subject: evals(evaluations)
predicate: recommendedFor
object: チャットボット設計
description: promptを触るたびに良くなったか悪くなったか判断できるよう、まず評価セット(evals)を作ることが本記事の推奨である
evidence: model-optimization
verified at: 2026-08-01
certainty: established

subject: hallucination
predicate: verifiedBy
object: evals(evaluations)
description: hallucination率は、決めておいた入力を毎回同じ基準で測るevalsで継続的に確認できる
evidence: evaluation
verified at: 2026-08-01
certainty: established

subject: ガードレール(guardrails)
predicate: recommendedFor
object: チャットボット設計
description: 答えてよい範囲・実行してよい操作をあらかじめ制限するガードレールを設計に含めることが本記事の推奨である
evidence: security-plan-llm-application
verified at: 2026-08-01
certainty: established

subject: ガードレール(guardrails)
predicate: mitigates
object: prompt injection
description: 外部コンテンツをsystem instructionと同列に扱わず、ツール実行権限を最小化するガードレールは、prompt injectionが与える影響を軽減する
evidence: content-filter-prompt-shields
verified at: 2026-08-01
certainty: established

subject: 権限の最小化(least privilege)
predicate: mitigates
object: prompt injection
description: 読める資料や実行できる操作を最小化しておくことで、prompt injectionが成功した場合の被害範囲を軽減できる
evidence: security-plan-llm-application
verified at: 2026-08-01
certainty: established

subject: Structured Outputs
predicate: recommendedFor
object: チャットボット設計
description: 注文状況や問い合わせ分類のように後段の処理へつなぐ場面では、自由文だけでなくStructured OutputsによるJSON返却を使うことが本記事の推奨である
evidence: prompt-engineering
verified at: 2026-08-01
certainty: established

subject: 権限の最小化(least privilege)
predicate: recommendedFor
object: PII(Personally Identifiable Information)
description: PIIや顧客固有データを扱うなら、認証はアプリ側で行い取得できる情報を絞るなど、権限を最小化した設計が本記事の推奨である。ユーザーが入力した個人情報が自動でscrub/maskされるわけではない
evidence: generative-ai-public-websites
verified at: 2026-08-01
certainty: established

subject: model snapshotの固定
predicate: recommendedFor
object: チャットボット設計
description: 本番系では、昨日と今日で答え方が変わってしまう事故を避けるため、model snapshotを固定することが本記事の推奨である
evidence: prompt-engineering
verified at: 2026-08-01
certainty: established

subject: model snapshotの固定
predicate: requires
object: evals(evaluations)
description: 固定したmodel snapshotを安全に変更するには、promptのbehaviorをevalsで測ってから切り替えるという運用が前提になる(固定したまま変更しないだけならevalsは必須ではない)
evidence: model-optimization
verified at: 2026-08-01
certainty: context-dependent