2025年06月

17

データベース管理者必見!AI搭載「Db2 12.1」新機能紹介

複雑なIT環境と統合されていない断片的なツールによって、それぞれのバリエーションを管理するスクリプトに存在する無限のライブラリや、手動で行うトラブルシューティングなど、データベース管理者が直面する課題は山積しています。これに対してIBMは、リレーショナルデータベース管理システム(RDBMS)を中核にしたデータベース製品群「IBM Db2」を5年ぶりにメジャーアップデートし、AIを活用したトラブルシューティングや性能監視、運用の効率化を実現しました。

本コラムでは、Db2のAIデータベースとして進化する必要性とバージョンアップしたDb2 12.1の新機能、およびDb2のデータベース運用を AI で支援する最新ツール「Db2 Database Assistant」を紹介します。

AIを活用したデータ管理システムの必要性

ITランドスケープが分散化と複雑化、ビジネスプロセスへの生成AI(GenAI)の統合の増加、複数のプラットフォームでのコンテンツ管理の複雑化などにより、データベース管理者(DBA)が直面する問題点やフラストレーション、ワークフローは、今や看過できない状態にあるだけでなく、企業の生産性向上を阻害する大きな要因となりつつあります。
統合されていない断片的なツールに辟易し、独自のバリエーションで無限に発生するスクリプトのライブラリー管理に疲れ、常に問題に対応し、手動でトラブルシューティングを行うことにうんざりしているDBAは少なくありません。

そこで注目されるのがAIを活用したデータ管理システムです。

データの収集と保存、検索や変換する際の正確性、整合性、価値の保証は、企業のデータ管理に求められる完全性、アクセシビリティ、セキュリティ、コンプライアンス規制への対応、十分な情報に基づいた意思決定、競争力の維持には不可欠です。AIの活用は、自然言語処理 (NLP) の活用や効率的な自動化などにおいて、大規模かつ複雑なデータセットの処理、理解、有益な情報の抽出に有効であるだけでなく、データ資産を戦略的かつ組織的に管理することで、データ品質、分析、意思決定を向上させることが可能になります。

基幹システムや大規模システムのデータ管理の
基盤として利用され続けてきた「IBM Db2」

幅広いプラットフォームで利用可能なSQLをベースとしたリレーショナルデータベース管理システム(RDBMS)を中核にしたデータベース製品群「IBM Db2」もその1つです。
Db2のRDBMSは、「DB2ユニバーサルデータベース」(DB2 UDB)と呼ばれ、データ定義、操作、照会などが利用可能です。DB2 UDBを中核に、データベースの作成、データの読み書き、トランザクション処理など、様々な操作を外部からの要求に応じて実行するデータベース管理システムだけではなく、管理ツールや開発ツールなどを含めたデータベース製品群となっています。

Db2の製品群のうち、オープン系プラットフォームで利用されるDb2は、大きく分けて以下の2つの製品ラインに分類されます。

  1. Db2 :
    主にオンライントランザクションのシステムで使われるRDB(Relational Database)
  2. Db2 Warehouse :
    データウェアハウスとして、大容量データの高速並列処理を得意とする列指向データベース(BLU)


また、Db2は、データの暗号化やマスク化、保護を維持するための専門知識とイノベーション、災害復旧や高い可用性、スケーラブルなストレージ、コンピューティング、機械学習ベースの照会の最適化など、様々な特長を持っています。そして、それが約30年の長きにわたり、企業や組織のミッションクリティカルな基幹システムや大規模システムにおけるデータ管理の基盤として、広く利用され続けている理由でもあります。

AIデータベースとして
さらに進化を遂げた「Db2 12.1」

Db2は、2024年11月に、AIによってDb2エンジンを革新した新しいメジャーバージョン「Db2 12.1」をリリースし、AIデータベースとしてさらに進化を遂げました。

Db2に対してIBMは、2019年のアップデートでも、Natural Language Query(NLQ)による自然言語によるでのデータ・アクセスや、NLQを用いたデータ可視化と予測分析を行うDb2 Augmented Data Explorerでよるデータ活用、洞察するためのSQLの書き換えなど、AIを活用した機能群の拡充などに注力しています。

今回、5年ぶりメジャーアップデートとなる「Db2 12.1」では、AIエージェントを「相棒」にすることで、処理性能の向上とDb2の運用を支援し、企業業務の生産性を向上させることが最大の特長となっています。また、データベースの効率性、シンプルさ、信頼性を、さまざまなビジネス要件に対応する新機能と機能強化という形で提供。さらに、 安定性向上のため、ワークロードの必要性および使用可能なリソースに基づいて並行性を動的に調整するアダプティブ・ワークロード・マネージャーは、すべての新しいマルチパーティション・データベースでデフォルトでの利用が可能です。

Db2 12.1で強化された機能には次のようなものがあります。

(1)クエリーオプティマイザをAIで高速化

Db2 12.1では、データベースへの問い合わせを効率よく実行するクエリーオプティマイザ(最適化)機能にAIを適用しています。

従来のコストベースのオプティマイザで最も重要な機能の1つである「カーディナリティの推定」(クエリ実行プランの低レベル演算子から出入りする行数)に焦点をあて、クエリーオプティマイザ機能へAIを組み込むことによって、データのばらつきや分布などの「カーディナリティ推定の誤差」を最小限に抑えることが可能となりました。これにより、チューニングが簡素化されると同時に、パフォーマンスの向上と安定化を実現して、さらなる処理性能の向上を可能にしています。

IBM社内で行なったテスト結果によれば、従来方式のクエリーオプティマイザと比べて3倍の高速化が確認されています。(図1)

図1
図1:クエリーオプティマイザへのAI適用による
Db2 12.1の処理性能の向上テスト結果(出典:日本IBM)

(2) AIコード生成ツールの活用により200以上の新機能や機能強化を実現

IBMの開発チームは、Db2 12.1の開発の際、IBMのAIコード生成ツール「watsonx Code Assistant」を活用して、コード開発やドキュメント作成の生産性を向上させました。これにより、様々なビジネス要件にシンプルに対応するデータベースの効率性、信頼性を向上させるための200以上の新機能の開発や機能強化の提供を実現しています。

(3) 「Pacemaker」の採用で生産性向上と安定運用を後押し

Db2 12.1では、複数台のサーバを組み合わせて、システム全体の可用性を高めるHA(高可用性)クラスタリングソフトウェアを「Tivoli System Automation for Multiplatforms(SA MP)」から「Pacemaker(Linux)」へ変更しています。
Pacemaker (Linux)は、順序づけられた通信の提供、クラスター・メンバーシップ、クォーラム適用など、ノード間で動作する機能を提供するオープン・ソースのグループ通信システム「Corosync」と組み合わせることで、コンポーネントの障害を検出し、必要なフェイルオーバー手順を実行して、アプリケーションの中断を最小限に抑えることができます。

これにより、データベース・システムから、クラスター内の別のデータベース・システムへのユーザ、アプリケーションおよびデータの自動切り替えを容易にして、列指向テーブルの性能を向上させることで、お客様の生産性向上と安定運用を後押しします。

(4) エンタープライズグレードのエンドツーエンド SSL 暗号化のためのDb2 pureScale HADR サポート

Db2 12.1の「高可用性災害時リカバリー(HADR)」は、大規模DB環境における高い処理能力と連続可用性を実現するためのDb2のオプション機能であり、優れた連続可用性を提供する「Db2 pureScale」環境でサポートされます。高可用性災害時リカバリー(HADR)を使用すると、DR (災害復旧) 保護も行えるだけではなく、スタンバイ・サイトにデータの第2のコピーがあるので、1次サイトで全面的な障害が生じてもデータベースは保護されます。高可用性災害時リカバリー(HADR)サーバ間の通信用にTLS(Transport Layer Security)を構成する「IBM Db2 pureScale」を使用しない環境では、高可用性災害時リカバリー(HADR)1 次サーバとスタンバイ・サーバの間でSSLがサポートされます。

(5) AUDIT 例外、信頼されたコンテキスト、データ・マスキングによるセキュリティ強化

Db2は、幅広いプラットフォームで利用可能なSQLをベースとしたRDBMSであり、データ定義、操作、照会などが可能です。また、データの暗号化、マスク化、保護を維持するための専門知識とイノベーション、災害復旧や連続可用性による高い可用性、スケーラブルなストレージ、コンピューティング、機械学習ベースの照会最適化など、様々な特長があります。

新たなDb2 12.1では、AIを強化することで、複数DBを仮想統合して自律的に動作することが可能になりました。そして、企業がイノベーションを促進しながら、脅威の予測、広範囲にわたるデータの保護、迅速で的確な対応を実現し、これまで以上に企業のデータベースセキュリティ対策を強力に支援できるようになりました。

(6) クラウドAWS環境でフルマネージドサービスの利用可能

Db2 12.1は、AWS上でフルマネージドサービスの「Amazon RDS for Db2」を利用できます。
AWSのマネージドサービスによって運用負荷を削減することができ、かつ、既存のDb2の設計をそのままにアプリケーションの変更もなく利用することができることがメリットです。

RDS for Db2では、Db2Standard Editionおよび Advanced Edition が利用可能で、プロビジョニング、バックアップ、パッチ適用、監視など、Db2 12.1のタスクの多くが自動化されており、その堅牢な管理は、効率性・高可用性・コスト削減において高く評価されています。

Db2管理者の負荷軽減やエンジニア学習コスト削減を実現する対話型AI「DatabaseAssistant」の提供

Db2 12.1のアップデートに合わせて、Db2の運用をAIで支援するための関連製品として、Db2の運用管理に特化・最適化した対話型AIの「Database Assistant」の提供も開始されました。データベース管理者の負荷軽減やエンジニアの学習コスト削減に重点を置かれたDatabase Assistant は、IBMのAIエージェント「watsonx Orchestrate」を中核に据え、Db2 によるデータベース運用を AI で支援する最新ツールで、トラブルシューティングや性能監視、運用の効率化を実現します。

Db2の管理画面からチャット形式での利用が可能で、自然言語での質問に対して、AIがDb2に関する専門知識やユーザが運用するDb2のライブ監視データを、ナレッジベースで回答してくれるのが大きな特徴となっています。また、トラブルシューティングのシンプル化や、性能問題の根本原因に加えてボトルネックの特定することへの加速化も可能となります。
現在、IBM Database Assistant は、クラウドのマネージド・サービスとして先行提供されていますが、2025年後半には、ソフトウェアに組み込まれる予定です。その後も機能拡張が継続され、ユーザーの個別環境に対する生産性をさらに向上させるとともに、安定運用に大きく貢献することはまちがいありません。

図2
図2:Database Assistantのアーキテクチャー(将来ロードマップ含む)

Db2管理者専用の統合インテリジェント管理コンソール「Db2 Intelligence Center」がまもなく提供開始

Db2管理者専用のDb2およびDb2 Warehouse向けAI搭載管理コンソール「Db2 Intelligence Center」の提供開始ももう一つのトピックです。

Db2 Intelligence Centerは、オンプレミス、クラウド、ハイブリッド環境を問わず、データベースの運用、監視、最適化を簡素化し、高度な監視、AI搭載のトラブルシューティング、クエリーの最適化を単一の統合ソリューションにまとめて、Db2管理のあらゆる側面を簡素化・高速化します。
これによりDBAは、統合インターフェースを通じてハイブリッド環境全体にわたる多数のDb2データベースインスタンスを、単一の直感的な画面で監視・管理することが可能になり、コンテキスト切り替えの手間が軽減され、資産全体の可視性が向上させることができます。

また、Db2 Intelligence Centerは、自然言語によるガイダンスを提供するAI搭載のデータベースアシスタントがテレメトリデータを活用することで、一般的なデータベース問題の解決、パフォーマンスの最適化に加えて、Db2に関する質問への回答を探す手間を大幅に軽減し、Db2のスキルアップを迅速に行うことができます。

さらには、モニタリングのドリルダウンによる根本原因の迅速な特定やパフォーマンス低下の防止、トラブルシューティング時間の短縮のほか、クエリの自動分析とチューニングによる最適化とパフォーマンスの継続、編集、追跡できるシンプルな構成管理を可能にしています。これによりDBAは、一元化された環境でスクリプト(SQL、CLI)を安全に管理、スケジュール、実行し、メンテナンス、ガバナンス、ドキュメント作成を簡素化しながら、容易に拡張できる高度な自動化を実現することができます。

まとめ

IBMは、Db2のお客様に長くDb2を使っていただくため、今後もデータベースの領域に注力するとともに、ソリューションの開発・改良を続け、必要なワークロードをAIで支援いたします。
また、お客様がAIエージェントを「相棒」にすることで、様々な業務で生産性向上を実現するため、中核であるAIエージェントへの投資をこれからも強化していく考えです。

エヌアイシー・パートナーズ株式会社は、IBMソフトウェア(SW)とハードウェア(HW)の認定ディストリビュータとして、Db2 12.1に関する支援が可能です。
お客様のニーズや要件に合わせて、IBMのSWとHWを組み合わせた最適な提案やカスタマイズの支援、IBM製品の特徴や利点をお客様にわかりやすく説明し、お客様・パートナー様のビジネスに最適な提案でサポートいたします。
さらなる進化を遂げたDb2 12.1を絡めたセールスをサポートしてほしい、といったご要望があれば、いつでもお気軽にお問い合わせ・ご相談ください。

お問い合わせ

この記事に関するお問い合せは以下のボタンよりお願いいたします。

 

その他の記事

2025年09月03日

レノボのファンレス常温水冷サーバーって?

公開日:2025-09-03 こんにちは。ソリューション企画部 柳澤です。 みなさま「水冷サーバー」と一言聞いて、何を思い浮かべますか? オフィスに置いてあるドリンク用ウォーターサーバーを思い浮かべる方もいらっしゃいますでしょうか? 弊社のお客様のみなさまはIT業界の皆様ですので、水冷サーバーというとサーバーを特殊な液体のタンクで冷やす「液浸」を思い浮かべる方も多いかと思います。 しかし、この液浸は、タンク設置場所の確保やサーバーを重ねられないといった課題があり、大規模な投資や、床面積の拡大を避けられませんでした。 そこで、液体をサーバー内部の管に通して冷却する「直接液冷」が近年注目されています。 今日のサーバーはかつてないほどの計算能力を要求されており、人工知能(AI)、機械学習(ML)、高性能コンピューティング(HPC)といったワークロードの台頭は、より強力なサーバーと、それに伴うより高度な冷却ソリューションの必要性を浮き彫りにしています。 この状況を受け、各メーカーは水冷サーバーに注力し始めており、今後のサーバー選択において冷却効率が新しい基準として加わることになりそうです。 本日ご紹介するレノボのファンレスの常温水冷サーバーは、革新的な水冷技術を搭載しており、その冷却効率が注目されています。 目次 レノボのファンレス常温水冷サーバーとは 水冷サーバーの導入を検討するお客様の例 関連情報 お問い合わせ レノボのファンレス常温水冷サーバーとは レノボの水冷は「直接液体冷却」技術を採用しています。これらのソリューションは、GPUやCPUのような発熱量の多いコンポーネントを直接冷却しています。 サーバートレイ、シャーシにはファンがない設計なので、とても静かなサーバーです。またファンがないことで電力消費量を削減することにも役立っています。 採用されている液体は99%の純水で、ほぼサラサラの液体となり、環境にもやさしい設計です。 また、この液体が常温から45度の温水でも排熱効果を発揮するので、液体を氷のように冷たくはしなくても効果を発揮する設計になっています。 主な製品と特徴 レノボの水冷サーバーのシリーズのLenovo Neptune™ は、HPC、ミッションクリティカルサーバーはもちろんのこと、従来のラック型サーバーに加え、エッジコンピューティングなどの筐体でも構成できる柔軟な構成オプションが準備されています。 そのためお客様の特定のニーズに合わせてカスタマイズや拡張ができます。 水冷サーバーの導入を検討するお客様の例 Lenovo Neptune™ は、以下のようなお客様にご利用いただくことで特に大きな価値を発揮します。 高性能コンピューティング(HPC):科学研究、シミュレーション、モデリングなど、膨大な計算能力を必要とするHPC環境では、水冷が不可欠です。 人工知能(AI)と機械学習(ML):AIトレーニングや推論は、GPUに大きな負荷をかけるため、効率的な冷却はパフォーマンスを維持するために重要です。 高密度データセンター :限られたスペースに多くのサーバーを詰め込む必要がある場合、水冷は高密度化を可能にします。 エネルギー効率の重視 :持続可能性と運用コストの削減を重視する企業にとって、水冷は魅力的な選択肢です。 エッジコンピューティング :コンパクトで効率的な冷却ソリューションが必要なエッジ環境でも、水冷の利点は大きいです。 どうでしょうか。レノボの水冷サーバーのイメージが変わりましたでしょうか。 ここまでざっと簡単にレノボの水冷サーバー製品をご紹介させていただきましたが、もっと詳しく知りたい、などのご興味ございましたら、ぜひ弊社へお問い合わせいただければと思います。 関連情報 Lenovo サーバー/ストレージ 製品(NI+C Pサイト) 【参加レポート】Lenovo TechDay @ Interop Tokyo 2025(NI+C Pサイト) 第6世代のLenovo Neptune液体冷却が AI 時代を牽引(Lenovoサイト) 【AI電力消費40%削減事例も】レノボの「直接水冷」Lenovo Neptune™(YouTube) お問い合わせ エヌアイシー・パートナーズ株式会社E-mail:voice_partners@niandc.co.jp   .bigger { font-size: larger; } .highlighter { background: linear-gradient(transparent 50%, #ffff52 90% 90%, transparent 90%); } .anchor{ display: block; margin-top:-20px; padding-top:40px; } .btn_A{ height:30px; } .btn_A a{ display:block; width:100%; height:100%; text-decoration: none; background:#eb6100; text-align:center; border:1px solid #FFFFFF; color:#FFFFFF; font-size:16px; border-radius:50px; -webkit-border-radius:50px; -moz-border-radius:50px; box-shadow:0px 0px 0px 4px #eb6100; transition: all 0.5s ease; } .btn_A a:hover{ background:#f56500; color:#999999; margin-left:0px; margin-top:0px; box-shadow:0px 0px 0px 4px #f56500; } .table { border-collapse: collapse; border-spacing: 0; width: 100%; } .td { padding: 10px; vertical-align: top; line-height: 1.5; } .tbody tr td:first-child { font-weight: bold; width: 20%; } .tbody tr td:last-child { width: 80%; } .ul { margin: 0 !important; padding: 0 0 0 20px !important; } .ol { margin: 0 !important; padding: 0 0 0 20px !important; } .tr { height: auto; } .table { margin: 0; } *, *:before, *:after { -webkit-box-sizing: inherit; box-sizing: inherit; } .html { -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 62.5%; } .btn, a.btn, button.btn { font-size: 1.6rem; font-weight: 700; line-height: 1.5; position: relative; display: inline-block; padding: 1rem 4rem; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-transition: all 0.3s; transition: all 0.3s; text-align: center; vertical-align: middle; text-decoration: none; letter-spacing: 0.1em; color: #212529; border-radius: 0.5rem; } a.btn--orange { color: #fff; background-color: #eb6100; border-bottom: 5px solid #b84c00; } a.btn--orange:hover { margin-top: 3px; color: #fff; background: #f56500; border-bottom: 2px solid #b84c00; } a.btn--shadow { -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3); box-shadow: 0 3px 5px rgba(0, 0, 0, .3); }

2025年08月21日

【イベントレポート】watsonx Orchestrate テクニカルワークショップ第一回 開催しました

公開日:2025-08-21 こんにちは。てくさぽブログメンバーの佐野です。 2025年7月17日に「watsonx Orchestrate テクニカルワークショップ」第一回を開催しました。 2024年12月にもwatsonx Orchestrate(以下wxO)のハンズオンセミナーを開催しておりますが、6月にwxOの大幅なアップデートが入り使い方・作り方が大きく変更になったため、最新情報と基本的な使い方をいち早くお届けするべく企画・開催しました。 また、ハンズオンだけでなくワークショップの時間を設け、wxOがどのように使えるのかを参加者同士でディスカッションし、最後に各チーム毎に発表・共有をすることでwxOの理解を進めるとともに参加者同士のコミュニケーションを図りました。 本ブログではこのテクニカルワークショップについて簡単ですがご紹介します。 目次 watsonx Orchestrate概要 watsonx Orchestrateハンズオン ワークショップ まとめ お問い合わせ watsonx Orchestrate概要 旧wxOと比べて新wxOはAgentの開発方法が変わっています。画面が変わったのはもちろんのこと、エージェントで実行部分を示す用語も「Skill」から「Tool」へ変更となっています。他に大きく変わったのは以下の点になります。 新しく「Knowledge」機能が追加され、Agent内にファイルを添付することができ、簡易的なRAGの構成をNo-Codeで実現 Agent内で定義しているToolを呼び出す際に、LLMが自動でチャットに入力されたテキストから必要な情報を抜き出し、Toolへ渡す Agentから他のAgentを呼び出せる(wxO以外のAgentも呼び出せる)Multi-Agent Orchestration機能 「Behavior」に日本語で返答させたりAgentの挙動を定義 人事業務や購買業務、営業業務といった特定業務向けの事前定義Agentを提供 AgentやToolをPythonで実装するためのAgent Development Kit (ADK)および開発者向けのDeveloper Editionを提供 モニタリング機能でAgent処理履歴のトレース情報を参照可能 自社で開発したエージェントを提供する”Agent Connect”というAIエージェントのエコシステム上でマーケットプレイス環境 wxOの各エディション内の機能の変更と課金対象の変更 このように大きな機能追加や使い方の変更が入ったことをご紹介し、理解頂きました。 watsonx OrchestrateでAgentを作成する時の主な設定項目は以下のようなものがあります。 watsonx Orchestrateハンズオン 概要でお伝えしたように、用語も変わった上に画面も新しくなっています。 そのため、AI Agentを動作させるための以下の基本的な操作をハンズオンで体験頂きました。 wxO環境の説明や基本的な操作 Agentの新規作成 Toolの作成・利用 Knowledgeを利用した簡易的なRAG Agent Tool Builderを利用しFlowやCodeblockの作成 Agentから他のAgentを呼び出し これらのハンズオンはCodeblockを除きNo-CodeでWebブラウザ上の操作で実行できるため、プログラミングやシステム開発の知識・経験が無くてもAI Agentを動かすことができます。Codeblock機能はAgentの動作・処理順を定義する”Flow”の中でPythonを使ってデータを操作するための機能であり、簡易的なETLを実現するものです。 今回のハンズオンでは、サンプルとその手順をご用意したので、参加者の方々が一通りのことを体験頂くことができました。実際にハンズオンで体験頂いた内容のサンプルをいくつかご紹介します。 Agentのサンプル1:都市名からお天気情報を返答するAgent APIで他サービスを呼び出し、都市名を入力すると天気と気温を回答してくれます。 複数の都市名を入力し、表形式で回答してもらうこともできます。 Agentのサンプル2:簡易的なRAG Agent ファイルを添付し、そのファイルの内容から回答をしてくれる機能です。 ハンズオンではIBMの2024年度の年次レポートを添付し、その内容を元に財務パフォーマンスのサマリーを回答させました。 ファイルの該当箇所が参照できるので、根拠を確認できるのがよいところです。 ファイルは事前にAgentに添付しておくこともできますし、ユーザー自身がファイルを添付する使い方もできます。 ワークショップ 今回、ハンズオンだけでなくwxOを自社または自社のお客様がどのように利用すると効率化できるか?という観点でチームに分かれてワークショップを行いました。 1チーム4人の合計3チームに分かれてNI+C Pメンバーがファシリテートしながらアイディア出し・ディスカッションを行いました。 最後に各チームのディスカッション結果を発表いただき、「こんなことできたらいいな」というアイディアを全員で共有し合いました。 ワークショップで上がった意見の中からいくつかピックアップします。 市役所の窓口業務を実施するAI Agent チャットだけでなく音声対応もできる 個別業務を処理するTool/Agentと情報参照のRAGを併用してユーザーへの問い合わせへ回答 ブログを書いてくれるAI Agent 過去のブログを参考にして文体や言い回しを自分流に ドラフト書くAgent、推敲Agent、ファクトチェックAgentなど組み合わせ 薬局の在庫予測や自動発注にAI Agentを活用 まとめ 新しくなったwxOのハンズオンを1か月とちょっとで実施するというチャレンジングなワークショップでしたが、無事終えることができてホッとしています。 ご参加頂いた方々からのアンケートで「最新情報を知り、その環境で動作させられたのがよかった」とご意見を頂いており、準備した甲斐があったと嬉しく思っております。 wxOテクニカルワークショップの第二回も企画しておりますし、他の製品についても企画中ですので、この記事をご覧の皆様のお役に立てるよう、今後も企画・実現していきます。 「こんなことやって欲しい」というご意見ありましたら是非ご意見お願いいたします。 お問い合わせ この記事に関するご質問は以下の宛先までご連絡ください。 エヌアイシー・パートナーズ株式会社技術企画本部E-mail:nicp_support@NIandC.co.jp   .bigger { font-size: larger; } .highlighter { background: linear-gradient(transparent 50%, #ffff52 90% 90%, transparent 90%); } .anchor{ display: block; margin-top:-20px; padding-top:40px; } .btn_A{ height:30px; } .btn_A a{ display:block; width:100%; height:100%; text-decoration: none; background:#eb6100; text-align:center; border:1px solid #FFFFFF; color:#FFFFFF; font-size:16px; border-radius:50px; -webkit-border-radius:50px; -moz-border-radius:50px; box-shadow:0px 0px 0px 4px #eb6100; transition: all 0.5s ease; } .btn_A a:hover{ background:#f56500; color:#999999; margin-left:0px; margin-top:0px; box-shadow:0px 0px 0px 4px #f56500; } .table { border-collapse: collapse; border-spacing: 0; width: 100%; } .td { padding: 10px; vertical-align: top; line-height: 1.5; } .tbody tr td:first-child { font-weight: bold; width: 20%; } .tbody tr td:last-child { width: 80%; } .ul { margin: 0 !important; padding: 0 0 0 20px !important; } .ol { margin: 0 !important; padding: 0 0 0 20px !important; } .tr { height: auto; } .table { margin: 0; } *, *:before, *:after { -webkit-box-sizing: inherit; box-sizing: inherit; } .html { -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 62.5%; } .btn, a.btn, button.btn { font-size: 1.6rem; font-weight: 700; line-height: 1.5; position: relative; display: inline-block; padding: 1rem 4rem; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-transition: all 0.3s; transition: all 0.3s; text-align: center; vertical-align: middle; text-decoration: none; letter-spacing: 0.1em; color: #212529; border-radius: 0.5rem; } a.btn--orange { color: #fff; background-color: #eb6100; border-bottom: 5px solid #b84c00; } a.btn--orange:hover { margin-top: 3px; color: #fff; background: #f56500; border-bottom: 2px solid #b84c00; } a.btn--shadow { -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3); box-shadow: 0 3px 5px rgba(0, 0, 0, .3); }

2025年08月04日

【てくさぽBLOG】IBM watsonx OrchestrateのADKを使ってみた

こんにちは。 てくさぽBLOGメンバーの高村です。 早速ですが、今年5月に開催されたIBMの年次イベント「Think2025」で、watsonx Orchestrateの新機能が発表されました!その中の一つとして、開発者向けの「Agent Development Kit(以下、ADK)」があります。今回はこのADKを活用し、watsonx Orchestrate環境への接続やエージェントの追加といった操作を行い、その使用感をご紹介します。  なお、watsonx Orchestrateについては、今年2月、3月に公開した「watsonx OrchestrateやってみたBLOG」でご紹介しておりますので、是非こちらもご一読ください。 【てくさぽBLOG】IBM watsonx Orchestrateを使ってみた(Part1) 【てくさぽBLOG】IBM watsonx Orchestrateを使ってみた(Part2) 目次 はじめに ADKとは? ADK使ってみた さいごに お問い合わせ はじめに Think2025で発表された新機能は、6月に環境へ追加されました。それ以前の環境とは、メニュー構成や操作方法、機能名称に変更があります。 例えばこれまで「Skill」と呼ばれていたものが「Tool」へと名称変更されています。 アップデート後の環境につきましては、別ブログにて改めて詳しくご紹介させていただく予定ですので、ぜひご期待ください! ADKとは? まずはADKについてご紹介します。ADKとは開発者向けにwatsonx OrchestrateのAgentやToolをスクラッチ開発するための開発キットになります。ローカル端末などに導入し、pythonベースで開発を行うことができます。 また、ADKとは別に、watsonx Orchestrate Developer Editionをローカル端末に導入することで、ADKで開発したAgentやToolのテストが可能になります。なお、watsonx Orchestrate Developer EditionはDockerコンテナ上で動作し、現時点のハードウェア要件はCPUは最小8コア、メモリは最小16GBが必要です。詳細はInstalling the watsonx Orchestrate Developer Editionをご確認ください。   ADKとwatsonx Orchestrate Developer Editionを利用することで、コードの迅速な作成・修正や柔軟なカスタマイズに加え、環境へのデプロイ前にローカルでテスト・修正が可能となり、作業効率の向上が期待できます。 ADK使ってみた 前述ではADKでAgent開発し、watsonx Orchestrate Developer Editionで動作確認、SaaS watsonx Orchestrateへインポートする構築の流れをお話しましたが、今回の検証における動作確認は検証環境として利用しているIBM Cloud 上のwatsonx Orchestrate利用します。よって前述したwatsonx Orchestrate Developer Editionは利用せず、ADKからwatsonx Orchestrate検証環境へAgentとToolを直接インポートし、動作確認を行いたいと思います。また、ADKのインストール先は自分の端末ではなく、IBM Cloud上に構築したUbuntuのVirtual Server Instance(以下、VSI)を使用します。検証環境の構成イメージは下記の図の通りです。 尚、ADKのインストール要件はPython 3.11以上、Pip、そして仮想環境(以下venv)が必要です。詳細については、Getting started with the ADKをご確認ください。 それでは早速使ってみましょう! VSIのプロビジョニング まずはADKをインストールするVSIをプロビジョニングします。本ブログではプロビジョニング方法について詳しく記載いたしませんが、手順は「【てくさぽBLOG】IBM Power Virtual ServerのAIX環境とIBM Cloud Object Storageを接続してみた(Part1)」のVSI for VPCの作成をご参考ください。 OSはUbuntu 22.04 LTS Jammy Jellyfish Minimal Install、リソースは2vCPU,4GB RAMで作成しました。VSI作成時にSSH鍵が必要なるので作成を忘れないようにしてください。 作成すると数分で起動します。端末からSSHログインするため浮動IPが必要になります。赤枠で囲った浮動IPを作成しインスタンスに紐づけします。以上でVSIの作成は完了です。 Ubuntuの設定 ターミナルを開きsshでUbuntuにログインします。私はWindowsのコマンドプロンプトを使用しました。Ubuntuユーザでログイン後、rootパスワードを設定し、スイッチできるようにします。 ubuntu@nicptestvsi:~$ sudo passwd root New password: Retype new password: passwd: password updated successfully ubuntu@nicptestvsi:~$ su - pythonのバージョンを確認したところ3.10.12でした。ADKの要件は3.11以上ですので、バージョンアップが必要になります。最初は3.13にバージョンアップしてみたのですが、後続作業と最新バージョンではパッケージが合わなかったのかうまく動かず…仕切り直して3.11を利用することにしました! root@nicptestvsi:~# apt install python3.11 バージョンアップ後、デフォルトバージョンとして3.11を指定します。 root@nicptestvsi:~# sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2 sudo update-alternatives --config python3 update-alternatives: using /usr/bin/python3.10 to provide /usr/bin/python3 (python3) in auto mode update-alternatives: using /usr/bin/python3.11 to provide /usr/bin/python3 (python3) in auto mode There are 2 choices for the alternative python3 (providing /usr/bin/python3).Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/python3.11 2 auto mode 1 /usr/bin/python3.10 1 manual mode 2 /usr/bin/python3.11 2 manual modePress <enter> to keep the current choice[*], or type selection number: 2 root@nicptestvsi:~# root@nicptestvsi:~# python3 --version Python 3.11.13 次に下記コマンドを実行して任意のvenvを作成します。 python3 -m venv /path/to/nicpse/project/your-venv-adktest <環境のパスを指定 venvを活性化してログインします。下記コマンド結果のようにvenvに入れましたらUbuntuの設定は完了です。 root@nicptestvsi:~# source /path/to/nicpse/project/your-venv-adktest/bin/activate (your-venv-adktest) root@nicptestvsi:~# ADKのインストール 以下コマンドを実行してADKをインストールします。ADKは6月時点で1.5.1が最新バージョンです。 (your-venv-adktest) root@nicptestvsi:~# pip install ibm-watsonx-orchestrate Collecting ibm-watsonx-orchestrate Downloading ibm_watsonx_orchestrate-1.5.1-py3-none-any.whl.metadata (1.4 kB) Collecting certifi>=2024.8.30 (from ibm-watsonx-orchestrate) Downloading certifi-2025.6.15-py3-none-any.whl.metadata (2.4 kB) Collecting click<8.2.0,>=8.0.0 (from ibm-watsonx-orchestrate) Downloading click-8.1.8-py3-none-any.whl.metadata (2.3 kB) Collecting docstring-parser<1.0,>=0.16 (from ibm-watsonx-orchestrate) Downloading docstring_parser-0.16-py3-none-any.whl.metadata (3.0 kB) Collecting httpx<1.0.0,>=0.28.1 (from ibm-watsonx-orchestrate) Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB) ----中略---- (your-venv-adktest) root@nicptestvsi:~# orchestrate --version ADK Version: 1.5.1 ADKの環境設定 次にADKの環境設定を行います。watsonx OrchestrateのインスタンスIDが必要になるため、watsonx OrchestrateのSetting画面に入り確認します。下記画面をご参考にしてください。 環境設定コマンドはこちらになります。-nの後はvenv名を指定し、-uの後はインスタンスIDを指定します。 (your-venv-adktest) root@nicptestvsi:~# orchestrate env add -n <仮想環境名> -u <環境のインスタンスID> [INFO] - Environment 'my-name' has been created [INFO] - Existing environment with name 'nicpse' found. Would you like to update the environment 'nicpse'? (Y/n)y [INFO] - Environment 'nicpse' has been created 以下コマンドを実行して、IBM Cloud上のwatsonx Orchestrateと認証設定をします。APIキーの取得方法は「【てくさぽBLOG】IBM watsonx.aiを使ってみた(Part2)」のAPIキーの取得をご確認ください。尚、リモート環境に対する認証は2時間ごとに期限切れになります。期限が切れた場合は再度認証する必要があります。 (your-venv-adktest) root@nicptestvsi:~# orchestrate env activate nicpse --apikey <APIキー> [INFO] - Environment 'my-ibmcloud-saas-account' is now active [INFO] - Environment 'nicpse' is now active 下記コマンドを実行してCLIから利用できる環境のリストを表示します。IBM Cloud上のwatsonx Orchestrateがactiveとなっていました! (your-venv-adktest) root@nicptestvsi:~# orchestrate env list nicpse https://api.us-south.watson-orchestrate.cloud.ibm.com/instances/XXXXXXXX (active) local http://localhost:XXXX Toolとagentのインポート 次にToolとAgentのインポートを行います。ToolとはAgentがタスクを実行する際に利用する機能です。今回は、IBM様より共有いただいたyfinanceを活用したToolおよびAgentのコードを、ADKを用いてインポートします。なお、yfinanceはヤフーファイナンスから株価などの金融データを取得するためのPythonライブラリです。 最初にToolのインポートを行います。下記の様に、scpなどでToolファイルとrequirements.txtをディレクトリにアップロードしておきます。requirementsファイルは他のモジュールと依存関係がある場合使用します。 (your-venv-adktest) root@nicptestvsi:~/orchestrate_tool/py/source_02# ls -l total 12 -rw-r--r-- 1 root root 0 Jun 24 04:42 __init__.py drwxr-xr-x 2 root root 4096 Jun 24 04:38 __pycache__ -rw-rw-r-- 1 ubuntu ubuntu 8 Jun 24 03:02 requirements.txt -rw-rw-r-- 1 ubuntu ubuntu 1778 Jun 24 02:46 yfinance_agent.py 下記コマンドを実行してToolファイルとrequirementsファイルをインポートします。企業情報を取得するstock_infoと株価を取得するstock_quoteの2つのToolがインポートされました。 (your-venv-adktest) root@nicptestvsi:~/orchestrate_tool/py/source_02# orchestrate tools import -k python -f "./yfinance_agent.py" -r "./requirements.txt" [INFO] - Using requirement file: "./requirements.txt" [INFO] - Tool 'stock_info' imported successfully [INFO] - Tool 'stock_quote' imported successfully listコマンドを実行するとインポートされたToolを確認できます。 (your-venv-adktest) root@nicptestvsi:# orchestrate tools list ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━┳ ┃ Name ┃ Description ┃ Permission ┃ Type ┃ Toolkit ┃ App ID ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━╇ │───────────┼────────────┼── │ send_mail_brevo │ send a meil using Brevo. │ write_only │ python │ │ │ │ │ │ │ │ │ │ ├─────────────────────────────────┼──── │ stock_quote │ 企業のTickerSymbolを用いて株価… │ read_only │ python │ │ │ ├─────────────────────────────────┼──── │ Untitled_6160RC │ No description │ read_only │ openapi │ │ │ ├─────────────────────────────────┼──── │ stock_info │ 企業のTickerSymbolを用いて企業… │ read_only │ python │ │ │ └─────────────────────────────────┴──── 次にAgentをインポートします。下記コマンドを実行します。 (your-venv-adktest) root@nicptestvsi:~/orchestrate_tool/py/source_02# orchestrate agents import -f ./yfinance_agent.yaml agent listコマンドでインポート済みのAgentを確認できました。Agentが使用するToolも表示されています。 (your-venv-adktest) # orchestrate agents list ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━ ┃ Name ┃ Description ┃ LLM ┃ Style ┃ Collaborators ┃ Tools ┃ Knowledge Base ┃  ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━ │ yfinance_age… │ 企業の会社情… │ watsonx/meta- │ react │ │ stock_info, │ │ │ │ │ llama/llama-3 │ │ │ stock_quote │ │ ││ │ │ -2-90b-vision ││ │ -instruct │ │  IBM Cloud上のwatsonx Orchestrateで動作確認 インポートしたAgentとToolをIBM Cloud上のwatsonx Orchestrateで確認します。 watsonx Orchestrateへログインし、BuildからAgent Builderを選択します。 yfinanceエージェントが表示されているので、クリックします。 クリックすると、Agent作成画面に入ります。UIから基盤モデルを変更したり、Agentの振る舞いなど変更することができます。 スクロールして、Toolsetを確認するとADKからインポートしたToolが登録されています。 右のPreviewからAgentの動きを確認することができます。今回はDeployせずPreviewで確認します。入力欄には「IBMの株価は?」と質問してみます。しばらくすると本日の株価が回答されました。Show Reasoningを開くと推論過程を確認することができます。株価を取得するTool「stock_quote」を使用し、AIがユーザの入力から自動的にTicker symbolを入力していることがわかります。 次に「IBMの企業情報」と質問をします。しばらくするとAIがユーザの入力からTicker symbolを入力し、Tool「stock_info」を利用して企業情報を取得、回答されました。ユーザの入力内容からAgentが使用するToolを選択し、実行していることがわかります。   さいごに ADKのご紹介とADKを使ってToolとAgentのインポートを行いました。 ADKのインストールおよび設定について、Pythonバージョンの設定やvenvの作成でつまずく部分はありましたが、venvが作成できればその後の設定はスムーズに進められました。 今回はVSI上のUbuntuサーバにADKをインストールしましたが、ご自身の端末に導入することで、より気軽にAgent開発を行えるかと思います。なお、今回は検証対象外でしたが、watsonx Orchestrate Developer Editionを利用する場合は、インストール要件としてやや高めのスペックが必要になる点にご注意ください。 検証時のADKのバージョンは1.5.1でしたが、7月末では1.8.0が最新バージョンとなっています。比較的頻繁にアップデートされますので適宜Release Notesをご確認ください。バージョンアップでコマンドオプションも変更される場合があるため、マニュアルを確認するかコマンドに`--help`を付与してパラメータを確認することをおすすめします。   お問い合わせ この記事に関するご質問は以下の宛先までご連絡ください。 エヌアイシー・パートナーズ株式会社 技術企画本部 E-mail:nicp_support@NIandC.co.jp   .anchor{ display: block; margin-top:-20px; padding-top:40px; }

back to top