はじめに
皆さん、生成AIやAIエージェントをすでに業務で利用していますか?筆者は、Claude Desktopを日々の業務で活用しており、MCP接続でSalesforceなどに接続して既に手放せないものになっています。本記事では、サイボウズのkintone内のデータをSnowflakeデータベースにCData Syncでノーコード連携してSnowflakeのAIエージェント機能であるSnowflake Intelligenceを利用してkintone内のデータを自然言語で分析する方法をご紹介します。
Snowflake IntelligenceのチャットUIに対して「案件管理のランキングを作成したください」と自然言語で質問するとkintoneデータが連携されたSnowflake内のkintoneデータを利用してランキングのグラフや表、インサイトを得ることができます。
必要なもの
本手順で必要なサービスや製品は全て以下の無償評価版を利用しました。
- kintone環境(30日の無償評価環境あり)
- Snowflake環境($400分の無償評価環境あり)
- CData Sync(30日(セルフホスティング)/14日(クラウド)の無償評価環境あり)
手順
Snowflakeにデータベースとスキーマを作成する
Snowflakeにkintoneデータを取り込むデータベースとスキーマを作成します。
CREATE DATABASE IF NOT EXISTS snowflake_intelligence;
CREATE SCHEMA IF NOT EXISTS snowflake_intelligence.agents;
※必要に応じてロールや権限を付与してください。
CData Syncを利用してkinotoneデータをSnowflakeに自動連携する
こちらのページからCData Syncの無償トライアル(インストールのセルフホスティング版とフルマネージドのクラウド版を選択可能)を申し込み、こちらの記事を参照してkintoneデータをSnowflakeで上記作成したデータベース/スキーマに自動連携します。本記事では、kintoneのサンプルアプリ「SFA(営業支援)パック」内の「顧客情報、担当者情報、案件情報、活動履歴」をSnowflakeに連携しました。
SnowflakeにAgentの設定を行う
生成AIのモデルへのアクセスを許可
以下のSQLを実行して生成AIモデルへのアクセスを許可します。
ALTER ACCOUNT SET CORTEX_MODELS_ALLOWLIST = 'All';
ALTER ACCOUNT SET CORTEX_ENABLED_CROSS_REGION = 'AWS_US';
CALL SNOWFLAKE.MODELS.CORTEX_BASE_MODELS_REFRESH();
本設定をしていない場合は作成したエージェントやプレイグランドから実行した場合に以下のようなエラーが発生します。
None of the preferred models are authorized or available in your region: claude-4-sonnet, claude-sonnet-4-5, claude-3-7-sonnet, claude-3-5-sonnet, openai-gpt-4.1, openai-gpt-5, claude-haiku-4-5. Please contact your administrator. (request_id: d709e408-a935-488a-9192-588218a20bb7)
セマンティックビューの作成
本手順をもとに、セマンティックビューを使用するエージェントを作成します。セマンティックビューについてはこちらのドキュメントをご参照ください。セマンティックビューはSnowflakeの管理コンソールの「AIとML>Corex分析」から作成できます。
- 名前 : KINTONE_SEMANTIC
- Provide context(optional) : SQLクエリ
- 質問 : 案件管理のデータを取得してください
- SQLクエリ : SELECT * FROM SNOWFLAKE_INTELLIGENCE.AGENTS."案件管理"
作成して保存し、作成されたセマンティックビューに対してプレイグラウンドのチャットインタフェースに「案件管理のデータを取得してください」と入力して試してみましょう。kintoneの案件データが取得されればセマンティックビューの作成は成功です。
エージェントを作成
エージェントはSnowflakeの管理コンソールの「AIとML>エージェント」から作成できます。
- データベースとスキーマ : 上記手順で作成した情報(例:snowflake_intelligence.agents)を選択
- エージェントオブジェクト名 : KINTONE_AGENT(任意)
- 表示名 : KINTONEエージェント(任意)
作成したエージェントのツールタブを開き、Cortexアナリストを選択して上記手順で作成したセマンティックビューを紐つけして更新します。
- Cortexアナリスト : セマンティックビューを選択
- データベースとスキーマ : 上記手順で作成した情報(例:snowflake_intelligence.agents)を選択
- セマンティックビュー : 上記手順で作成したセマンティックビューを選択
- ツールの名前 : KINTONE_TOOL(任意)
- 説明 : KINTONEの案件管理からデータを取得するツールです
- ウェアハウス : ユーザのデフォルト
- クエリタイムアウト : 60
ツールが追加されたら必ずエージェントの設定を保存してください。エージェントの設定を保存したら右ウィンドウのチャットUIに「案件管理のデータを取得してください」と入力してみましょう。エージェントが作成したツールを利用してkintoneの案件管理のデータを取得していればエージェントの作成は成功です。
Snonflake Intelligence でkintoneデータを自然言語で分析してみる
Snowflake IntelligenceはSnowflakeの管理コンソールの「AIとML>Snowflake Intelligence」から開くことができます。
チャットウィンドウに「案件管理のランキングを作成してください」と入力してみましょう。
Snowflake Intelligenceが入力した自然言語による質問をもとに考えてくれて、最適な結果を出力してくれます。案件の金額のランキングと上位リストアップを出力してくれました。
まとめ
本記事では、サイボウズのkintone内のデータをCData Syncを利用してノーコードでSnowflakeデータベースに連携して、SnowflakeのAIエージェント機能であるSnowflake Intelligenceでkintone内のデータを自然言語で分析する方法をご紹介しました。日本語で問い合わせが出来るので、SQLの書き方に不安を感じる方であっても、アドホックに絞り込みをしたり、集計をしたりと分析できるので是非、気になった方はお試しください。








