はじめに:Snowflake Cortex Agentsってなに?
「自然言語で質問したら、社内データベースを見て答えて、さらにPDFのマニュアルも調べて、最終的に人間が読める文章でまとめてくれる」——そんなAIアシスタントを作りたいと思ったことはありませんか?Snowflake Cortex Agentsは、まさにそれをSnowflake上で実現するための機能です。
Cortex Agentsは、これまで個別の機能だったCortex Analyst(自然言語→SQL)、Cortex Search(ベクトル検索)、そしてCortex LLM関数を、1つのエージェントとしてまとめて呼び出せる仕組みです。エージェント自身が「この質問にはSQLが必要だな」「これは文書検索した方がいいな」と判断して、複数のツールを順番に使いながら答えを組み立ててくれるのがポイントです。

なぜ「エージェント」が必要なのか?
これまでのSnowflake生成AI機能は、それぞれが「単機能のSQL関数」でした。例えばCortex COMPLETE関数でLLMを呼び出すには「プロンプトを自分で組み立ててSQLを書く」必要がありました。
一方で実際のビジネス質問は、「先月の売上を教えて。あと売上が落ちた理由を契約書PDFから探して」のように構造化データと非構造化データの両方を行き来する複雑なものが多いです。Cortex Agentsは、こうした複合的な質問を1回のリクエストで処理してくれます。
主要コンポーネント
- Cortex Analyst:テーブルに対する自然言語→SQL変換を担当します。詳しくはCortex Analyst入門記事を参照してください。
- Cortex Search:PDFやテキストなどの文書に対するベクトル検索を担当します。Cortex Search入門記事もあわせてどうぞ。
- LLM(Claude/Llamaなど):最終的な回答文の生成や、どのツールを使うかの判断を行います。
使い方:REST APIで呼び出す
Cortex Agentsは、SQL関数ではなくREST APIエンドポイントとして提供されます。具体的には /api/v2/cortex/agent:run にPOSTリクエストを送る形になります。
POST https://<account>.snowflakecomputing.com/api/v2/cortex/agent:run
Authorization: Bearer <JWT_TOKEN>
Content-Type: application/json
{
"model": "claude-3-5-sonnet",
"messages": [
{
"role": "user",
"content": [{"type": "text", "text": "先月の売上トップ3商品と、その商品の顧客レビューの傾向を教えて"}]
}
],
"tools": [
{"tool_spec": {"type": "cortex_analyst_text_to_sql", "name": "sales_analyst"}},
{"tool_spec": {"type": "cortex_search", "name": "review_search"}}
],
"tool_resources": {
"sales_analyst": {"semantic_model_file": "@MY_DB.PUBLIC.STAGE/sales.yaml"},
"review_search": {"name": "MY_DB.PUBLIC.REVIEW_SEARCH_SVC", "max_results": 5}
}
}
ポイントは tools 配列で「使えるツール一覧」を渡すことです。エージェントはユーザーの質問内容に応じて、SQLを生成して実行したり、文書を検索したりを自動で判断して順番に呼び出します。

よくあるユースケース
- 社内ナレッジQ&Aボット:売上テーブル+社内Wikiを横断検索する社内アシスタント。
- カスタマーサポート支援:顧客の問い合わせ履歴(SQL)と製品マニュアル(検索)を組み合わせて回答案を作成。
- BIアシスタント:Slack経由で「今週のKPIは?」と聞くだけでグラフ用データと解説文を返す。
注意点
Cortex Agentsは便利な反面、LLMを複数回呼び出すためクレジット消費が大きくなりがちです。本番運用前にリソースモニターで上限を設定しておくと安心ですよ。また、Cortex Analystを使うにはセマンティックモデル(YAMLファイル)の事前準備が必要なので、テーブル設計とあわせて整備していきましょう。
まとめ
Snowflake Cortex Agentsは、SQL生成・ベクトル検索・LLM推論を「自律的に組み合わせて使うAIエージェント」を作れる新しい機能です。データ基盤の中にAIアシスタントを直接組み込めるので、データを外部に出さずに高度な自然言語インターフェースを実装できますよ。まずは小さなセマンティックモデルと検索サービスを用意して、社内向けのチャットボットから試してみるのがおすすめです。
参考リンク
関連記事
- Snowflake Cortex Analyst入門|自然言語からSQLを自動生成しよう – Agentsのコア機能の1つ、Text-to-SQLの仕組みがわかります。
- Snowflake Cortex Searchとは?ベクトル検索の仕組みと作り方を初心者向けに解説 – Agentsから呼ばれる文書検索エンジンの作り方です。
- Snowflake Cortex COMPLETE関数入門 – エージェントの推論部分を担うLLM呼び出しの基本です。
- Snowflake Cortexとは?生成AI機能の全体像と料金をやさしく解説 – Cortex全体像と料金体系の入門記事です。
- Snowflake Cortex LLM関数まとめ – COMPLETE/SUMMARIZE/TRANSLATE/SENTIMENTを一気に学べます。


