一人前エンジニア道場

DX改善シナリオ演習 / 約25分

FAQ自動化ツールの設計

なぜこれを学ぶか

ヒアリングで「FAQで解決できる問い合わせが7割ある」と分かりました。次はFAQ自動化ツールを設計します。「まず動くものを小さく作る」ために、DB・API・画面の3層を設計する演習です。

FAQ自動化ツールに必要な3層: ①データ層(DB) — FAQデータをどこに・どんな構造で保存するか。②ロジック層(API) — どんなAPIエンドポイントが必要か(検索・取得・追加・更新)。③表示層(画面) — ユーザーにどんな画面を見せるか(検索画面・FAQ一覧・管理画面)。

DB設計の基本(FAQテーブル): まずシンプルに始める。id, question(質問文), answer(回答文), category(カテゴリ:VPN/パスワード等), view_count(閲覧回数), is_published(公開フラグ), created_at, updated_at。最初は1テーブルで十分。後からtagsテーブルなどで拡張する。

API設計の基本(RESTful): ▶ GET /api/faqs?q=キーワード — キーワード検索(ユーザー向け)▶ GET /api/faqs/:id — 1件取得 ▶ GET /api/faqs?category=VPN — カテゴリ絞り込み ▶ POST /api/faqs — FAQ追加(管理者のみ)▶ PUT /api/faqs/:id — FAQ更新(管理者のみ)。設計時点で「誰がアクセスするか」も考える(ユーザー向け読み取り専用 vs 管理者向け書き込み)。

画面設計のポイント(ユーザー視点): ❶検索ボックスは目立つ場所に置く ❷カテゴリで絞り込める ❸質問をクリックすると回答が展開(アコーディオン)❹「解決しましたか?」のフィードバックボタン ❺「担当者に相談」ボタン(自己解決できなかった場合の導線)。FAQは「問い合わせゼロ化」より「問い合わせ前の一次解決率向上」を目指す。

スモールスタートの原則: 最初から完璧なシステムを作らない。①まずSpreadsheetにFAQを書いてGoogleフォームで検索させる(ゼロコスト)②次に検索機能をウェブページで提供③最終的にDB+API化。段階を踏むことで「作ったが使われない」リスクを減らす。

重要ポイント

  • FAQ自動化ツールはDB・API・画面の3層で考える
  • DBは最初は1テーブルシンプルに。後から拡張する
  • APIは「誰が・何をする」ごとにエンドポイントを分ける
  • 完璧より「小さく動くもの」を先に作るのがスモールスタート

理解度チェック

選ぶと即座に解説が表示されます。

FAQテーブルの設計で「view_count(閲覧回数)カラム」を入れておく主な理由はどれ?

ヒントを見る

FAQを作った後、どうやって「効果があったか」を判断しますか?

コードレビュー演習

FAQ自動化ツールのDB設計とAPIエンドポイント案を評価してください。 以下の「候補A」と「候補B」のどちらが、スモールスタートの原則に合っているか選んでください。

/* === 候補A: 初期設計 === */
// DB: 1テーブル
CREATE TABLE faqs (
  id         INTEGER PRIMARY KEY AUTOINCREMENT,
  question   TEXT NOT NULL,
  answer     TEXT NOT NULL,
  category   TEXT,          -- 'VPN', 'password', 'slack' 等
  view_count INTEGER DEFAULT 0,
  is_published INTEGER DEFAULT 1,  -- 0=下書き, 1=公開
  created_at TEXT DEFAULT CURRENT_TIMESTAMP
);

// API: 最小限の3エンドポイント
// GET  /api/faqs?q=検索ワード&category=カテゴリ  → 検索・絞り込み
// GET  /api/faqs/:id                              → 1件取得
// POST /api/admin/faqs                            → 管理者: 追加

/* === 候補B: 初期設計 === */
// DB: 5テーブル(faq, category, tag, faq_tag, feedback)
// API: 15エンドポイント(CRUD全部 + タグ管理 + 分析 + 承認ワークフロー)
// 追加機能: AIによる自動タグ付け、類似FAQ推薦、多言語対応、承認フロー
// 工数見積もり: 3〜4ヶ月

スモールスタートの観点で正しい選択はどれ?

ヒントを見る

まず「使われるか」を確かめてから機能を増やすのが、スモールスタートの本質です。

スキルセルフチェック

このレッスンの内容をどの程度理解できましたか?