2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

さわってみよう Db2 AI エディション #19 〜Db2 Genius CLI編 Part#1〜

2
Last updated at Posted at 2026-10-07

Db2 AI エディション(Db2 AI Advanced, Db2 AI Standard)にはフル機能のDb2 Genius Hubがバンドルされています。
今回は、ターミナル・ベースでDb2 Genius HubへアクセスできるDb2 Genius CLI*1をご紹介します。
(*1)IBM Db2 Genius Hub v1.1.5以降で利用できるようになりました。

これ以降は下記IBM Blogの抄訳となります(関連情報を除く)。

"Genius CLI: AI-Powered Db2 Intelligence, Right in Your Terminal"
https://community.ibm.com/community/user/blogs/krishna-guntuka/2026/09/18/genius-cli-ai-powered-db2-intelligence

image1.png
あなたのチームはすでにターミナルをとても活用しています。
SSHセッション、vim、grep、シェルスクリプト、tmux――これらこそが、DBAやプラットフォームエンジニアが実際に業務を行う環境です。
Genius CLIは、まさにそのような世界のために構築されました。
Genius HubのAIによるインテリジェンスをターミナルに持ち込むことで、現在の作業環境から離れることなく、必要な回答を得ることができます。

平易な英語で質問を入力するだけです。
Db2インスタンスのライブデータに基づいた的確な回答が、ターミナル上にストリーミング表示されます。それだけのことです。

ツールの変更は不要

新しい機能を導入する際の最大の障壁は、ツールの変更を強いられることです。
Genius CLIはその障壁を完全に取り除きます。

Genius Hubはすでに、充実した監視機能、クエリツール、管理機能を備えた包括的なWebコンソールを提供しています。
Genius CLIはその代替ではなく、補完的なツールです。
同じAIインテリジェンスをターミナルで利用できるため、シェルで作業中のエンジニアは、回答を得るために作業の流れを中断する必要がありません。

すでにターミナルで作業している場合、以下のような手間は不要です。
・障害対応の途中でメトリックを確認するためにブラウザに切り替える
・低速なクエリを調べるためにSSHセッションを離れる
・シェルスクリプト作成やオンコール対応のワークフローからコンテキストを切り替える

単一のバイナリ(geniuscli)をインストールし、既存のGenius Hubインスタンスに接続するだけで、同じAI機能をその場ですぐに利用できます。

これは特にオンコール対応の場面で重要です。深夜2時に問題が発生した際、エンジニアはすでにターミナルに向かっています。
geniuscliがあれば、「なぜデータベースが遅いのか(why is the database slow)」と入力するだけで、ブラウザやコンソールに切り替えることなく、即座に有益な回答を得ることができます。

また、ツールに関する厳しいポリシーを持つチームにとっても重要です。
ブラウザ拡張機能や新しいSaaSツール、データベースサーバーへのエージェントのインストールなどは一切不要です。
既存のGenius Hubを呼び出すバイナリを使用するだけです。

1つの対話、2つのインターフェース

image2.png
geniuscliは、単独で完結する閉じたチャットウィンドウではありません。
CLI上でのやり取りはすべてGenius Hubと同期され、逆にGenius Hub上でのやり取りもCLIから利用可能です。
履歴をあちこち探したり、一方の回答をコピー&ペーストして他方で参照したりする必要はありません。
質問内容やAIの調査結果は一つの継続的な記録として管理され、どこからでもアクセスできます。

具体的には、調査を始めた場所にとらわれず作業を続けられるということです。
例えば、深夜2時にSSHセッションでロック待ち(lock wait)のトラブルシューティングを開始したとします。
すると翌朝、チームメイトがGenius Hubを開いて、そのやり取り(質問、回答、対象となったプロファイルなど)をそのまま確認できるのです。
あるいはその逆も可能です。
日中にHubコンソールでスキーマの調査を始め、その夜にターミナルから /session コマンドを使って同じやり取りを再開するといった使い方もできます。

2つのインターフェース、1つの会話。

Genius CLI概要

image3.png
geniuscliは、Db2エージェント型AIプラットフォーム用のターミナルクライアントです。Genius Hub(IBM Data Console)に接続し、データベースに対するAI搭載のチャットインターフェースを提供します。
Claude CLIやGitHub Copilot CLIのようなツールと同様の操作感(画面下部の入力バー、その上に表示されるストリーミング形式の回答、ショートカット用のスラッシュコマンドなど)ですが、すべての回答が実際のDb2インスタンスのライブデータに基づいている点が異なります。

インストール

macOSおよびLinux

IBM Fix Central*2などからリリース・パッケージをダウンロードし、以下のコマンドを実行してください。
(*2)https://www.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm%7EOther%20software&product=ibm/Information+Management/IBM+Db2+Genius+Hub&release=1.1.5.0&platform=All&function=all

macOS
tar -xzf geniuscli-mac.tar.gz

Linux
tar -xzf geniuscli-linux.tar.gz

インストール
bash install.sh
インストーラーは、geniuscliバイナリを ~/.local/bin/ にコピーします。
このディレクトリがすでにPATHに含まれている場合は、すぐにgeniuscliを実行できます。
そうでない場合は、新しいターミナルを開くか、手動でPATHに追加してください。
export PATH="\$HOME/.local/bin:$PATH"

セッションをまたいで設定を有効にするには、その行をシェルプロファイル(macOSの場合は ~/.zshrc、Linuxの場合は ~/.bashrc)に追加してください。

アンインストール
rm ~/.local/bin/geniuscli

Genius CLI設定

開始にあたって特別な設定は必要ありません。
geniuscliを実行するとログインフォームが表示され、対話形式でGenius Hubの認証情報を入力できます。

ログインフォームをスキップして毎回自動的に接続したい場合は、シェルで認証情報をエクスポートしてください。

export GENIUS_HUB_HOSTNAME=<host>
export GENIUS_HUB_PORT=<port>
export GENIUS_HUB_PROTOCOL=<https>
export GENIUS_HUB_USERNAME=<your-username>
export GENIUS_HUB_PASSWORD=<your-password>

セッションをまたいで設定を有効にするには、それらの行を ~/.zshrc または ~/.bashrc に追加してください。

ご注意: 共有環境や、バージョン管理下にあるシェルプロファイルファイルにパスワードを保存することは避けてください。
可能な限り、対話型のログインフォームを使用してください。

セッションの開始

geniuscli

起動時の流れ:

  1. 初回起動時にテーマの選択を求められます(選択内容は保存され、次回以降は自動的に復元されます)。
  2. ログインフォームが開きます。Genius Hubの認証情報を入力し、Enterキーを押してください。認証情報がシェル環境変数としてエクスポートされている場合、この手順はスキップされます。
  3. チャット・セッションが開始されます。

コマンドラインから最初の質問を渡すことも可能です。
その場合、起動処理完了後に質問が自動的に送信されます。
geniuscli "Show me active connections"

チャット・インターフェース

image4.png

入力バーに質問を入力し、Enterキーを押して送信してください。AIがリアルタイムで回答を生成・表示します。
同時に最大3件までリクエストを処理でき、それ以上のリクエストは処理が完了するまで待機列(キュー)に追加されます。

キーボード・ショートカット

キー アクション
Enter/Return 現在の入力を送信する
↑/↓ 入力履歴を移動する(前のメッセージ / 次のメッセージ)
PageUp / PageDown 会話履歴をスクロールする
Ctrl+G or /edit システムのテキストエディタを開き、長文の複数行プロンプトを作成する
CtrI+C ヒントを表示するには1回押す。終了するには1.5秒以内にもう一度押す
Ctrl+Home / Cmd+Fn+← 会話の先頭に移動する
CtrI+End / Cmd+Fn+→ 一番下まで移動し、ライブ出力に再ピン留めする
マウスドラッグ テキストを選択し、離してクリップボードにコピーする

テーマ
/theme と入力すると、テーマ選択画面が開きます。
あらかじめ用意された複数のテーマから選択可能です。
選択したテーマは保存され、次回起動時に自動的に適用されます。
また、以下のように直接テーマを指定することもできます:
/theme dracula

スラッシュ・コマンド

入力バーに / と入力すると、コマンドのオートコンプリート(補完)メニューが開きます。
↑/↓ キーで選択し、Enter キーでコマンドを挿入します。
/help と入力すると、対話型のコマンドブラウザが表示されます。

一般

コマンド 意味
/help/ インタラクティブなコマンドブラウザを開く(↑↓で閲覧、Enterで選択、Escで閉じる)
/clear 表示されている会話を消去する
/export 会話の全内容をMarkdownファイルに保存する
/copy 番号付きのコードブロックをクリップボードにコピーする(例:/copy 1)
/theme [name] テーマ選択ツールを開くまたはテーマを直接設定する
/edit/ システム上のテキストエディタを開いて、複数行のプロンプトを入力する(Ctrl+Gと同じ)
/session 以前のチャットセッションを閲覧し、再開する
/steer ‹context› 現在進行中の回答を、より多くの文脈を盛り込んだ内容へリダイレクトする

接続管理

コマンド 意味
/profiles Genius Hubデータベースのプロファイルを読み込み、表示する
/use ‹profile-name> 別のGenius Hubプロファイルに切り替える(前方一致に対応)
/use-none アクティブなプロファイルをクリアする(データベース接続なし)
/ status 現在のセッションと接続の詳細を表示する

例:
/profiles
/use production-db

DBA向けショートカット
これらのコマンドは、あらかじめ用意された診断用の質問をAIに送信します。
つまり、クエリ全体を記述する代わりに、キーを1回押すだけで済みます。

コマンド 意味
/locks 現在のロック待機、ロック・エスカレーション、およびロックを保持しているアプリケーションを表示する
/slow-queries 実行に最も時間がかかっているクエリと、それらの待機状態を表示する
/space 表領域の使用状況を表示する(使用率が80%を超えている表領域を強調表示)
/explain SQLクエリのアクセスプランを解説し、最適化案を提示する
/backup-status 最後のフルバックアップおよび増分バックアップのタイムスタンプ、ならびに古い(ステイルな)バックアップのフラグ付け
/bufferpool バッファプール・ヒット率を表示し、95%を下回るプールにフラグを立てる
/connections 状態と接続時間を含む、アクティブなアプリケーション接続を表示する
/hadr HADRのレプリケーション状態、同期モード、およびスタンバイ・ログの遅延を表示する

例:
/explain SELECT * FROM EMPLOYEE WHERE DEPTNO = 'A00'

カスタムコマンド

頻繁に使用するクエリを保存するために、独自の「スラッシュコマンド」を作成できます。

クエリをコマンドとして保存する
image5.png
メッセージを送信した後、直前のクエリを再利用可能なコマンドとして保存します。

/save-as check-deadlocks
コマンド名のルール: 小文字、数字、ハイフンのみ使用可能。先頭は英字であること。最大24文字。​​組み込みコマンドと重複しないこと。

コマンドは ~/.db2-agent/commands.d/personal.yaml に保存され、即座に登録されます。次回 geniuscli を起動した際に使用可能になります。

コマンドを定義したYAMLファイルをインポートする
/import ~/Downloads/dba-commands.yaml
ファイルは ~/.db2-agent/commands.d/ にコピーされます。
パスにはチルダ(~/)展開が使用可能です。

カスタムコマンドを管理する

コマンド 意味
/my-commands ソースファイルごとにグループ化して、すべてのカスタムコマンドを一覧表示する
/reload ディスクからカスタムコマンドを再読み込みする
(再起動せずに手動での編集を反映する)
/delete-command ‹name> カスタムコマンドを削除し、YAMLファイルから取り除く

YAML形式

カスタムコマンドファイルは、シンプルな構造を使用します。

name: my-dba-pack
description: My DBA command pack
commands:
  check-deadlocks:
    description: Show recent deadlocks and the involved transactions
    prompt: Show me recent deadlocks on this database, including the transactions involved, the objects locked, and any available deadlock trace.
  top-tables:
    description: Show the largest tables by row count
    prompt: List the 10 largest tables in the database by row count and total data size.
  wlm-queued:
    description: Show WLM-queued queries
    prompt: Show me any queries currently queued in WLM service classes, including the application, class name, and how long they have been waiting.

ヒント: プロンプト内で {args} を使用すると、コマンドラインから直接引数を渡すことができます。

my-explain:
  description: Explain an access plan for a given SQL statement
  prompt: "Explain access plan for: {args}"

使用方法:
/my-explain SELECT * FROM ORDERS WHERE STATUS = 'PENDING'
起動時に自動的に読み込まれるようにするには、ファイルを ~/.db2-agent/commands.d/ に配置してください。
ファイルを編集した後、再起動せずに変更を反映させるには /reload を実行します。

Genius CLI内部の仕組み

ターミナルでの操作を高速かつ確実にするためのいくつかの機能:

独自の diff ベースのレンダラー。UI は Electron、React、Ink を使用せずに構築されています。
レンダリングのたびに現在のフレームと前のフレームの差分(diff)を計算し、ANSI エスケープシーケンスを使用して変更された行のみを標準出力(stdout)に書き込みます。
その結果、レイテンシの高い低速な SSH 接続であっても、ちらつきのない出力が実現されます。

クリップボードとの連携。/copy <n> コマンドやマウスのドラッグによる選択が可能です。
クリップボード機能は、まず OSC 52(SSH 経由でも透過的に動作)を試行し、それが使えない場合は OS ネイティブのクリップボード、それも使えない場合はファイルを使用します。

折りたたみ可能なターン(やり取り)。長い回答は単一の要約行に折りたたむことができ、切り替え操作で再展開できるため、長時間のセッションでもスクロールバック(履歴)を管理しやすくなります。

認証情報の安全性。パスワードやトークンが URL に埋め込まれることはなく、リクエストヘッダーにのみ含まれます。
/tmp/db2-response.log に出力されるデバッグログでは、書き込み前にすべての認証情報フィールド名がサニタイズ(秘匿化)されます。
不完全な状態で送信されるのを防ぐため、データベース設定の一部のみが送信されるようなことはなく、それらはバックエンドのペイロードから完全に除外されます。

トラブルシューティング

geniuscli: command not found(コマンドが見つかりません)
インストールディレクトリが PATH に自動的に追加されませんでした。ターミナルを閉じて再度開いてください。
それでも問題が解決しない場合は、~/.local/bin を手動で PATH に追加し、シェルプロファイルを再読み込みしてください。

起動時の接続失敗
CLI が Genius Hub に接続できない場合、認証情報を直接入力できる手動接続フォームに切り替わります。
Genius Hub ホストに接続可能か、および認証情報が正しいかを確認してください。

質問を送信しても応答がない、または CLI が応答しなくなる(ハングする)
Db2 エージェント型 AI バックエンドサービスが利用できない可能性があります。
IBMサポートにお問い合わせください(サポート契約のあるお客様)。

Genius CLIの対象ユーザー

クエリ・エディター、監視コンソール、ドキュメントを同時に切り替えながら作業するのではなく、対話を通じてパフォーマンスの問題を診断したいDBA(データベース管理者)

ターミナルから離れることなく、スキーマの把握、クエリの説明、アクセス・プランの分析を行いたい開発者

時間帯を問わず、SSHセッション経由でロック、ブロッキング、HADRの状態について迅速な回答を必要とするオンコール・エンジニア

新しいWebベースのコンソールは採用できないものの、単一のバイナリであればインストール可能な厳格なツール導入ポリシーに従う必要のあるチーム

まとめ

AIを活用したデータベース・インテリジェンスも、実際に使われなければ意味がありません。
新しいツールが使われない最大の理由は機能不足ではなく、導入や利用に伴う「摩擦(手間)」にあります。
Genius CLIは、皆さんが普段作業している場所、つまりターミナルで直接利用できるようにすることで、その摩擦を取り除きます。

単一のバイナリ。新しいコンソールは不要。コンテキストの切り替えも不要。
既存のDb2に接続し、使い慣れた言語で質問し、普段の作業環境で回答を得ることができます。

今後の予定
本記事では、Genius CLIの基本的な機能と体験について紹介しました。
以下のトピックについては、個別の記事で解説する予定です。

パイプ対応モード — シェル・スクリプトや自動化パイプラインへのGenius CLIの組み込み。
TTY(端末デバイス)を必要とせず、cronジョブ、CIチェック、インシデント対応のランブックなどで実行可能です。
AIが生成した回答を、grepやjqなど、ワークフロー内の他のツールへ直接パイプで渡すことができます。
dmctopのサポート — Db2用のtopコマンドのようなライブ・モニター機能。
ステートメントの実行状況、待機状態、リソース消費量をターミナル上でリアルタイムに表示します。
続報にご期待ください。

さわってみよう Db2 AIエディション・シリーズのご紹介

#1(当記事)と#2から#5まではAIアシスタント機能についてご紹介しています。
#6と#7,#16はモニタリング機能についてご紹介しています。
#8は耐量子暗号化機能についてご紹介しています。
#9は耐量子暗号化機能を含むv12.1.5の新機能についてご紹介しています。
#10と#11はv12.1.5以降で利用できるようになったSQLによる生成AI機能についてご紹介しています。
#12と#13ではDb2 Genius Hub 1.1.3以降で利用できるようになったDb2 Genius Hub MCP ServerとIBM Bobからそれを利用する方法について概説しています。
#14ではLinux, Windowsに加え、MacOSにも対応したDb2 Genius Hub v1.1.3の様々な新機能をハイライトしています。
#15ではDb2 Genius Hubのセキュリティ強化のために、HashiCorp Valutと連携する方法について概説しています。
#16では複数データベースの性能指標や構成の比較が簡単にできることをご紹介しています。
#17ではDb2 Genius Hub v1.1.4の様々な新機能をハイライトしています。
#18ではDb2 Genius Hub v1.1.5の様々な新機能をハイライトしています。

#1では、Db2入門者、初心者には作成が難しいと思われる複雑なSQLをAIアシスタントを使って作成しています。加えて、Db2 Genius Hub概要、無料評価版のダウンロードサイトやマニュアルURLもご紹介しています。#1からお読みいただくことをお勧めいたします。
さわってみよう Db2 AI エディション #1 〜エージェント型AIアシスタント編 Part#1〜
https://qiita.com/ibm_tk/items/e763bbea3fcf5e8a27a9

#2では、AIアシスタントでデータベースの稼働状況のサマリーを表示しています。
さわってみよう Db2 AI エディション #2 〜エージェント型AIアシスタント編 Part#2〜
https://qiita.com/ibm_tk/items/e11986879f6eca23c249

#3では、AIアシスタントでデータベースの応答時間の履歴を表示しています。
さわってみよう Db2 AI エディション #3 〜エージェント型AIアシスタント編 Part#3〜
https://qiita.com/ibm_tk/items/24647bc2db6a3a266d7c

#4では、AIアシスタントでデータベースのバックアップ履歴とプロセッサー利用状況の履歴を表示しています。
さわってみよう Db2 AI エディション #4 〜エージェント型AIアシスタント編 Part#4〜
https://qiita.com/ibm_tk/items/8d11c4e9fd39740d923d

#5では、AIアシスタントでクエリのスループットを表示しています。
さわってみよう Db2 AI エディション #5 〜エージェント型AIアシスタント編 Part#5〜
https://qiita.com/ibm_tk/items/e2583b00f624e351ce02

#6となる"さわってみよう Db2 AIエディション#6 〜モニタリング編 Part#1〜"ではモニタリング機能をご紹介しています。
https://qiita.com/ibm_tk/items/cdedc3a878998199cfee

#7となる"さわってみよう Db2 AIエディション#7 〜モニタリング編 Part#2〜"では監視(モニター)レポート作成機能をご紹介しています。
https://qiita.com/ibm_tk/items/81608900a0e2c89c18fc

#8となる"さわってみよう Db2 AIエディション#8 〜耐量子暗号化機能編 Part#1〜"では耐量子暗号化機能と登場した背景などについて記述しています。
https://qiita.com/ibm_tk/items/57a115c0d284697dd147

#9となる"さわってみよう Db2 AIエディション#9 〜v12.1.5新機能編 Part#1〜"ではv12.1.5の新機能のハイライトをご紹介しています。
https://qiita.com/ibm_tk/items/daabdf8215b430e804d8

#10となる"さわってみよう Db2 AIエディション#10 〜SQLで生成AI編 Part#1〜"ではv12.1.5以降で利用できるようになったSQLから使える生成AI機能(TEXT_GENERATION関数など)をご紹介しています。
https://qiita.com/ibm_tk/items/54a169cffcfbb9be0fed

#11となる"さわってみよう Db2 AIエディション#11 〜SQLで生成AI編 Part#2〜"ではv12.1.5以降で利用できるようになったSQLから使える生成AI機能(TO_EMBEDDING関数, セマンティック検索など)をご紹介しています。
https://qiita.com/ibm_tk/items/3085c90674561b9d80e7

#12となる"さわってみよう Db2 AIエディション#12 〜Db2 Genius Hub MCP Server編 Part#1〜"ではDb2 Genius Hub v1.1.3以降で利用できるようになったDb2 Genius Hub MCP Serverの概説とIBM Bobからそれにアクセスする方法などをご紹介しています。
https://qiita.com/ibm_tk/items/639e85ed43f1bfad8f07

#13となる"さわってみよう Db2 AIエディション#13 〜Db2 Genius Hub MCP Server編 Part#2〜"ではIBM Bobから簡単な自然言語で指定したデータベースのキャパシティ・プランニング・レポートを作成する方法などをご紹介しています
https://qiita.com/ibm_tk/items/37456fe2e352f7d04812

#14となる"さわってみよう Db2 AI エディション #14 〜Db2 Genius Hub v1.1.3新機能編 Part#1〜"ではLinux, Windowsに加え、MacOSにも対応したDb2 Genius Hub v1.1.3の様々な新機能をハイライトしています。
https://qiita.com/ibm_tk/items/d52d9e775c317e6ffaf3

#15となる"さわってみよう Db2 AI エディション #15 〜HashiCorp Vault連携編 Part#1〜"ではDb2 Genius Hubのセキュリティ強化のために、HashiCorp Valutと連携する方法について概説しています。
https://qiita.com/ibm_tk/items/f778c060037bd21add32

#16となる"さわってみよう Db2 AIエディション #16 〜モニタリング編 Part#3〜"ではDb2 Genius Hubを使うことで、複数データベースの性能指標や構成の比較が簡単にできることをご紹介しています。
https://qiita.com/ibm_tk/items/ae5d9a0c2a6b88188900

#17となる"さわってみよう Db2 AI エディション #17 〜Db2 Genius Hub v1.1.4新機能編 Part#1〜"ではMCPサーバーで使えるツールが7つ追加といったDb2 Genius Hub v1.1.4の様々な新機能をハイライトしています。
https://qiita.com/ibm_tk/items/020ff6a4800c62ab6908

#18となる"さわってみよう Db2 AI エディション #18 〜Db2 Genius Hub v1.1.5新機能編 Part#1〜"ではデータベース管理、監視、ユーザー・エクスペリエンス、およびエージェント型AI機能の強化が行われたv1.1.5の機能強化、新規能をハイライトしています。
https://qiita.com/ibm_tk/items/ea6eb16f379d8cf52407

2
0
1

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?