2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ServiceNowのOOTB機能だけでRAGを作る:AI Search × Genius Results

2
Last updated at Posted at 2026-10-23

1. はじめに

ナレッジベースが手元にある。それをAIで検索して、回答まで返してほしい。この体験、実はServiceNowのOOTB機能だけで作れます。カスタム開発はゼロ、設定だけです。

完成形はこうなります。検索ボックスに自然文で質問を入れると、検索結果ページの上部に「Now Assist で生成された回答」カードが表示され、回答には引用番号([1] など)が付きます。その下には、根拠になったナレッジ記事が一覧で並びます。「結果を探す」ではなく、「回答と根拠を同時に見る」検索です。

この記事では、AI Search の設定と Genius Results(Now Assist Multi-Content Response)の使い方を、設定手順として書きます。ナレッジベースの作り方は扱いません。すでにKBがある前提です。手元に適当なKBがなければ、環境に最初から入っているナレッジベースで検証しても構いません。

前提条件

機能・ライセンスの前提は以下です。

前提 確認方法
AI Search が有効 ais_search_profile.list が開ける
Now Assist Core が有効 ナビゲーションに Now Assist Admin が出る
Now Assist in AI Search 関連機能が有効 後述の Now Assist セットアップ画面で確認
Genius Result Configuration「Now Assist Multi-Content Response」が存在し Active 同上
対象KBに Published / Active の記事が十分にある kb_knowledge で確認

ロールは admin のほか、ais_admin・sn_nowassist_admin・knowledge_admin 相当の権限を使います。

⚠️ PDI では再現できません。Now Assist / Genius Results はライセンス前提の機能で、無償の開発者インスタンスには入っていません。このため、この記事にはスクリーンショットがありません。代わりに、すべての手順にナビゲーションパスと設定値の表を付けます。表の通りに進めば、同じ画面にたどり着けるはずです。
完成形の画面イメージは、ServiceNow 公式の動画「AI Search overview」が参考になります。
https://youtu.be/O7ifnuLXiIQ

なお、この記事の手順は、Zurich リリース(Patch 7a)の環境で、2026年6月時点で確認したものです。Now Assist 関連の機能はリリースや Patch によって変わることがあるため、お使いの環境のバージョン(System Diagnostics → Stats で確認できます)に合わせて読み替えてください。

全体像

先に、登場する部品の関係を示します。

部品 役割 一言でいうと
Search Source どのテーブルの、どの条件のレコードを検索対象にするか 検索対象の絞り込み
インデックス(セマンティック含む) 対象レコードを語彙・意味の両面で索引化 検索の下ごしらえ
Search Profile Source と Genius Results を束ねる検索体験の中心 検索体験の設定の束
Genius Results 検索結果の上に出る生成カード。回答生成は Now Assist Multi-Content Response が担う AI回答カードの正体
Search Application どのポータルがどの Search Profile を使うかの紐付け 入口と設定の接続

構築は、Source → Profile → 接続の順で進めます。


2. Step 1:対象KBを確認する

目的:検索対象にするナレッジベースの状態を確認します。

  1. ナビゲーションフィルタに「kb_knowledge.list」と入力し、ナレッジ記事一覧を開く。
  2. 対象KBに絞り込み、Workflow = Published かつ Active = true の記事が十分にあることを確認する。
確認項目 期待値
Workflow Published
Active true
記事数 検証に足る件数(数十件あれば十分)

⚠️ ここがポイント:後述の Genius Results は、記事が Published であること、そしてユーザーに ACL 上のアクセス権があることを発動条件に含みます。下書き状態の記事や、権限で見えない記事は、いくら検索しても回答カードの根拠になりません。

もう一つ、作業を始める前に、専用の更新セットを作って切り替えておくことをおすすめします。あとで撤去したり、別環境に持っていったりするのが楽になります。


3. Step 2:Search Source を作成する

目的:AI Search の検索対象を、対象KBの公開記事だけに絞ります。

  1. ナビゲーションフィルタに「ais_search_source.list」と入力し、Search Source 一覧を開く。
  2. 「新規」をクリックする。
  3. 以下の設定値を入力して保存する。
  4. 保存後、初回の Index Now / Reindex を必ず実行する。
設定項目 値 理由
Name 任意(例:RAG検証 - ナレッジ) 検証用と分かる名前にする
Source Table kb_knowledge ナレッジ記事を検索対象にする
Condition 1 Knowledge Base = 対象のKB 対象を限定する
Condition 2 Workflow = Published 公開済みのみ
Condition 3 Active = true 無効記事を除外
Indexed Fields short_description, text, kb_category 等 タイトル・本文・カテゴリを索引化
Active true Profile から利用可能にする

⚠️ ここがポイント:Search Source は、作成しただけでは検索に出ません。初回の Index Now / Reindex を実行し、そのうえで次の Step で Search Profile に紐付けて、はじめて検索対象になります。「作ったのに出ない」の原因の第一位です。


4. Step 3:Search Profile を作成し、Genius Results を紐付ける

目的:検索対象(Source)とAI回答(Genius Results)を一つの検索体験に束ねます。ここがこの構成の中心です。

  1. ナビゲーションフィルタに「ais_search_profile.list」と入力し、Search Profile 一覧を開く。
  2. 「新規」をクリックし、以下を設定して保存する。
  3. 保存後、Sources 関連リストに Step 2 の Search Source を追加する。
  4. Genius Results 関連リストに、OOTB の「Now Assist Multi-Content Response」を追加する。
設定項目 値 注意点
Name 任意(例:RAG検証 Profile) 検証用と分かる名前にする
Active true 無効だと検索で使われない
Public / Published true ポータルから参照するために必須
Sources Step 2 で作成した Source 関連リストから追加
Genius Results Now Assist Multi-Content Response OOTB をそのまま参照する。GR 自体は編集しない

⚠️ 最頻ハマりポイント:Public / Published の付け忘れです。これを忘れると、後の Step で Search Application に正しく紐付けても、ポータル側でAI回答カードが出ません。筆者の環境でも、ここが原因の「出ない」が一番多く起きました。

Genius Results の発動条件も、ここで知っておくと後が楽です。以下がすべて満たされたときだけ、回答カードが生成されます。

  • その Genius Result 設定が Search Profile で有効化されている
  • 根拠になるKB記事が Published で、ユーザーにアクセス権がある
  • KB記事に、質問への十分な解決策が含まれている
  • 検索クエリが Genius Result 設定の条件に合致する

つまり、記事の中身が薄ければカードは出ません。これは不具合ではなく仕様です。出ない場合は通常の検索結果一覧だけが表示されます。


5. Step 4:セマンティックインデックスを確認する

目的:意味検索(セマンティック検索)側のインデックス設定を確認します。デフォルトのまま動くので、この Step は「確認して、触らない」が基本です。

場所:AI検索 > インデックス付きソース「Knowledge Table」> 関連リスト「セマンティックインデックス構成」> body / title のレコード。

現在のデフォルト値(確認時点)は以下です。

項目 値
チャンク戦略 パッセージ(Passage)
チャンク単位 単語(Words)
チャンクのサイズ 250
文の重複(overlap) 5
埋め込みモデル ServiceNow Embedding(E5)。ロックされており変更不可

⚠️ ここがポイント(三つあります):

  • このレコードは「Now Assist in AI Search」というアプリケーションスコープに属しています。Global スコープのまま開くと読み取り専用に見えます。「設定できない」と思ったら、まず画面右上のスコープを Now Assist in AI Search に切り替えてください。筆者はここでしばらく悩みました。
  • 近くに「[廃止]セマンティック構成」「[使用廃止]セマンティックフィールドのマッピング」という区画がありますが、どちらも旧機構です。現行の設定入口ではないので、触らないでください。
  • この設定は kb_knowledge テーブル全体に効きます。KB単位では設定できません。レコードには「高リスク」の警告が付いており、変更するとインデックスの再作成が必要になります。検証の最初はデフォルトのままで十分です。

6. Step 5:検索ページに接続して動作確認する

目的:作った Search Profile を検索ページに接続し、AI回答カードが出ることを確認します。

  1. ナビゲーションフィルタに「sys_search_context_config.list」と入力し、Search Application 一覧を開く。
  2. 「新規」をクリックし、Portal に利用するポータル、Search Profile に Step 3 の Profile を指定して、Active = true で保存する。
  3. ブラウザで、そのポータルの検索ページ(例:/sp?id=search&q=パスワードのリセット方法)を開く。
確認観点 期待結果
AI回答カード 検索結果ページの上部に「Now Assist で生成された回答」が表示される
回答本文 クエリに対する手順や説明が表示される
引用 [1] または [1][2] が付く
関連ナレッジ 対象KBの記事が一覧表示される
クリック動線 引用またはリンクから根拠記事へ遷移できる

⚠️ ここがポイント:

  • 既存の検索体験に影響を与えたくない場合は、検証専用の Service Portal を一つ新規作成し(sp_portal.list から作成できます)、Search Application はそちらに紐付けてください。既存ポータルの設定には触らずに済みます。この記事ではポータル作成の詳細は扱いません。
  • 初回のAI回答生成には15〜20秒ほどかかることがあります(筆者の検証時の実測です。環境や負荷によって変わります)。スケルトン表示(読み込み中の枠)が出ている間は、再読み込みしないでください。
  • クエリは、記事が実際に答えられる内容で試してください。KBに書いていないことを聞いても、カードは出ません(前述の発動条件のとおりです)。

7. チューニングできること、できないこと

検証が動き始めると、次に気になるのは「どこを調整できるのか」です。実機で確認した範囲の一覧です。

工程 パラメータ 調整可否 場所
インデックス(チャンク) 戦略・サイズ・重複・単位 ○ セマンティックインデックス構成(スコープ切替が必要)
インデックス(モデル) 埋め込みモデル ×(E5固定) 同上。ロック表示
検索 語彙検索と意味検索の混合比 ×(設定として露出されていない) なし
回答生成の対象 検索対象の絞り込み ○ Search Source の Condition

つまり、OOTBの範囲で検索の質に効かせられる主な手段は、検索対象の絞り込み(Source の条件設計)と、チャンク設定、そして何よりナレッジ記事そのものの品質です。モデルの差し替えや検索アルゴリズムの調整は、この構成ではできません。

日本語については、良い知らせがあります。AI Search の自然言語処理で日本語は第一優先グループに属していて、形態素解析によるトークナイゼーション、レンマ化、半角カタカナの正規化、同義語・ストップワード辞書まで対応しています。検索層の日本語精度は、身構えていたより心配いりませんでした。回答生成側の品質は、お使いの環境のLLM構成に依存するので、実際のKBで確認してください。


8. ハマりどころ集(出ないときに見る表)

症状 主な原因 確認・対応
検索結果がそもそも出ない Source 未インデックス、Search Application の紐付けミス Source の Index 状態、sys_search_context_config の Portal / Profile を確認
結果は出るがAI回答カードが出ない Profile の Public/Published 忘れ、Genius Results 未紐付け Profile の設定を確認。直っていれば少し待って再試行
カードが出たり出なかったりする 記事の解決策が薄い、クエリが曖昧 クエリを具体化する。同一クエリを3回実行して出現率を見る
引用が出ない 引用できる根拠を特定できていない 記事本文に答えが明記されているクエリで試す
スケルトン表示が長い 生成の遅延、レート制限 15〜20秒待つ。改善しなければ時間を置いて再試行
セマンティック設定が編集できない Global スコープで開いている Now Assist in AI Search スコープに切り替える

AI回答カードが出ないときの確認順序は、上から順に「検索結果一覧は出ているか → Profile は Active かつ Public/Published か → Genius Results は紐付いているか → Search Application の紐付けは正しいか」です。いきなり OOTB の Genius Result 設定や内部しきい値を変えないでください。原因の切り分けができなくなります。


おわりに

ここまでで、「自然文で聞くと、AI回答カードと根拠ナレッジが返ってくる」検索が、設定だけで動きます。コードは一行も書いていません。

最後に一つだけ。この構成を動かしてみると分かりますが、回答の質の上限を決めるのは、検索の設定ではなくナレッジ記事そのものです。記事に答えが書かれていなければ、どんな設定でもカードは出ません。ナレッジベース側の品質をどう作り込み、どう検証するかは、別の記事で扱っています。

※ 参考:「LLMを組み込むETLパイプラインの設計:品質をどう証明し、欠陥をどう特定するか」(公開後にリンクを追記します)

検証がうまく動きますように。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?