SNOWFLAKE_INTELLIGENCE.AGENTSスキーマに登録していたエージェントをアカウントレベルのSnowflake Intelligenceオブジェクトに移行してみた

SNOWFLAKE_INTELLIGENCE.AGENTSスキーマに登録していたエージェントをアカウントレベルのSnowflake Intelligenceオブジェクトに移行してみた

2025.12.19

さがらです。

2025年11月にSnowflake Intelligenceが一般提供となりましたが、併せてSNOWFLAKE_INTELLIGENCE.AGENTSスキーマが非推奨となり、アカウントレベルのSnowflake Intelligenceオブジェクトに移行するよう公式Docも更新されていました。

The SNOWFLAKE_INTELLIGENCE.AGENTS schema is deprecated as a mechanism for managing agent visibility. If you’re currently using this schema, we recommend migrating to the Snowflake Intelligence object.

https://docs.snowflake.com/en/user-guide/snowflake-cortex/snowflake-intelligence#migrating-from-managing-agent-visibility-with-the-snowflake-intelligence-agents-schema

私もSNOWFLAKE_INTELLIGENCE.AGENTSスキーマでエージェントを作成して管理していたため、この移行作業を行ってみました。その内容について本記事でまとめてみます。

移行するメリット

SNOWFLAKE_INTELLIGENCE.AGENTSスキーマからアカウントレベルのSnowflake Intelligenceオブジェクトに移行するメリットですが、以下のような点が挙げられます。

  • エージェントの管理を単一のスキーマにしなくて済む
  • 「エージェントを作成する場所」と「Snowflake Intelligenceで公開するエージェントの登録先」を分離できる
    • 「エージェントを作成する場所」は任意のデータベースとスキーマ、「Snowflake Intelligenceで公開するエージェントの登録先」はアカウントレベルのSnowflake Intelligenceオブジェクトとなります

1. アカウントレベルのSnowflake Intelligenceオブジェクトの作成

まず、アカウントレベルのSnowflake Intelligenceオブジェクトを作成します。(1つのアカウントに存在するSnowflake Intelligenceオブジェクトは1つだけとなるため、ご注意ください。)

https://docs.snowflake.com/en/user-guide/snowflake-cortex/snowflake-intelligence#create-a-sf-intelligence-object

以下のクエリをACCOUNTADMINロールで実行して、Snowflake Intelligenceオブジェクトを作成します。このsnowflake_intelligence_object_defaultというオブジェクト名は、GUIで作成する場合のデフォルトの名称がこちらのため、アカウントに1つしか作れないことを考えると名称を合わせておいた方が無難かと思います。

use role accountadmin;
create snowflake intelligence snowflake_intelligence_object_default;

2025-12-19_14h34_48

作成後、以下のクエリを実行するとSnowflake Intelligenceオブジェクトが出来ていることがわかります。

show snowflake intelligences;

2025-12-19_14h43_47

2. Snowflake Intelligenceオブジェクトにエージェントを登録

続いて、Snowflake IntelligenceオブジェクトにSNOWFLAKE_INTELLIGENCE.AGENTSスキーマで作成していたエージェントを登録します。

今回は私が作った以下2つのエージェントがあるため、この2つのエージェントをSnowflake Intelligenceオブジェクトに登録していきます。

2025-12-19_15h16_59

実際の登録作業としては、SQLでSnowflake Intelligenceオブジェクトにエージェントを登録できます。今回は以下のクエリを実行しました。

alter snowflake intelligence snowflake_intelligence_object_default add agent snowflake_intelligence.agents.sagara_test;
alter snowflake intelligence snowflake_intelligence_object_default add agent snowflake_intelligence.agents.sagara_snowflake_documentation_agents;

この後、Agentsの画面から確認すると、2つのエージェントがSnowflake Intelligenceに登録されていることがわかります。

2025-12-19_15h21_13

3. エージェントを管理していたSNOWFLAKE_INTELLIGENCE.AGENTSスキーマを名称変更

SNOWFLAKE_INTELLIGENCE.AGENTSスキーマにまだエージェントは残っているのですが、このSNOWFLAKE_INTELLIGENCE.AGENTSスキーマは非推奨となるため、データベースとスキーマの名称を変更します。

以下は実際に私が実行した一例です。

-- データベースをリネーム
alter database snowflake_intelligence rename to sagara_agents_db;

-- スキーマをリネーム(データベースリネーム後の名前で実行)
use database sagara_agents_db;
alter schema agents rename to my_agents;

この後対象のエージェントをSnowsightで確認すると、データベース名とスキーマ名が変更されているのが確認できました。これで移行は完了です!

2025-12-19_15h39_16

最後に

SNOWFLAKE_INTELLIGENCE.AGENTSスキーマに登録していたエージェントをアカウントレベルのSnowflake Intelligenceオブジェクトに移行する手順についてまとめてみました。

Snowflake IntelligenceのチュートリアルなどはまだSNOWFLAKE_INTELLIGENCE.AGENTSスキーマを使用する構成になっていることも多いため、もしSNOWFLAKE_INTELLIGENCE.AGENTSスキーマを利用していましたら移行をご検討ください!

この記事をシェアする

FacebookHatena blogX

関連記事