
はじめに
エンタープライズソリューション本部 データインテリジェンス部の安倍です。
4/7(火)にSnowflake東京オフィスで開催されたAI駆動開発 x Snowflake - Snowflake Night #3に参加&登壇をしてきました。
本投稿では、登壇内容(題名:Cortex Code君、今日から内製化支援担当ね。)についてお話します。
登壇内容
Cortex Code in Snowsightを使った内製化支援について事例を踏まえてお話してきました。
スライドには詳細なシチュエーションなども記載していますが、本記事においては割愛し、一部追加の内容も含めて記載をしています。
登壇資料
Snowflakeの内製化の課題
Snowflakeに限らない話ですが、内製化においては様々な課題があります。
例えば以下のようなシチュエーションが考えられます。
お客様との間でITに関する知識の差がある場合がある
例えば、生成AIの利用に際しての注意事項(オプトアウト設定等)など、常に触る人であれば知っていそうなことでも、普段使わない方からすると知らないということは大いにあり得ます。お客様側でプログラムの作成が困難な場合がある
例えば、ETLやELTとしてデータ連携・整形を行う場合に、PythonやSpark、SQLなどを用いたり、場合によってはシェルやバッチファイル等のスクリプトを作成して実行することもあります。
今まで担当していた業務によってはプログラミングが困難な場合もあります。システムやサービスの特性をお客様側で完全に把握することが難しい場合がある
新規のSaaS製品等を導入したり、複雑なシステムを構築する場合特に発生しやすい現象です。
データ分析においてはデータの状態を把握して、どのように加工する必要があるのか、どのようにデータを保管・管理する必要があるのかなどを考えていく必要があります。
そういった場合、現状の仕様や特性を理解して次のアクションを考える必要があり、別のベンダーによって構築されたシステムや詳細の仕様が明らかになっていないSaaSサービス等では発生しやすいです。お客様自身がシステムやサービスに触れる時に心理的負荷が高いと感じる場合がある
特に、初めて導入するサービスなどではこういった感覚を持つ人も多いと思います。例えば、「システムやサービスにログインしたはいいものの、どうしたらいいのかわからない…」という状況が発生したりすることもあるでしょう。
こういった課題に向き合うためには、何よりもシステムや実装を理解し、サービスに触れる機会を増やしていくという工程が必要になります。
場合によっては、お客様がほかの業務で忙しくレクチャーの時間が取れなかったり、納期などの時間による制約によって目標となるレベルまで到達しないケースがあります。
Snowflakeにおいては、AI活用やデータ活用に特化したSaaSになるため、企業のデータ活用促進の弊害にならないレベルで管理・統制を効かせる必要があります。
今回は、「Cortex Code in Snowsight」というSnowflakeのAIコーディングエージェントを利用してアプローチしていきます。
Cortex Code in Snowsightについては以下の記事でまとめてあるので、こちらも併せてご参照ください。
Cortex Code in Snowsightを活用した内製化の進め方
内製化においてAIの活用は有効なアプローチですが、汎用AIに実際のデータをセキュリティ的な観点で渡せないケースもあります。
Cortex Code in Snowsightであれば、Snowflakeの環境内で完結するため、この課題をクリアできます。
一方で、導入にあたって考慮すべき点もあります。
- AIの活用レベルには個人差がある
- AIにタスクを処理させる場合、そのタスクの根本的な概念を指示をする側が理解をしておく必要がある
こうした点や、前述した課題も踏まえ、今回は共通のCortex Code実行環境を整備し、チーム全体で統一的に活用するというアプローチを取りました。
今回重要になってくるCortex Code in Snowsightの特性は以下の3つです。
Snowflakeのワークスペースに配置されたファイルを操作することができる
AGENTS.mdをワークスペースに配置すると読み込むことができる
Skillsが活用できる
実際のアプローチ
- 共有ワークスペースの作成
Snowflakeでは、共有ワークスペース(Shared workspace)という機能を使って、他の作業者と同一のワークスペースで作業を行うことができます。
共有ワークスペースを使うことで、Cortex Codeが処理したタスクの結果や成果物を作業者間で共有できるようになります。
これにより、個人のワークスペースにのみナレッジが蓄積されてしまう問題を解消しました。
- AGENTS.mdの作成
AGENTS.mdはAIエージェントとやり取りを始める際に、一番最初に読み込まれるコンテキスト(背景や制約、指示など)をまとめたファイルです。
今回はデータマートをお客様側で作成する際に活用するという目的があったため、命名規則や参照するべきスキーマの情報などを記載しました。
また、ディメンショナルモデリングの手法で分析用のデータマートを作成するようにし、指示の中に必要な情報が存在しない場合、対話形式で情報をヒアリングするように指示をしています。
こうすることでAIの活用レベルに個人差があっても、ある程度の品質を担保して作業を進められる仕組みを整えることができます。
- タスクに応じたSkillsへの切り出し
Skillsは、AIエージェントが特定の作業に関する指示や、操作などをまとめたいわばマニュアルのようなものです。
AGENTS.mdと違い、こちらは必要になったら読み込まれるためトークン消費量の削減ができたり、品質低下の原因となる会話の圧縮(コンパクション)の発生を防ぐことができます。
Cortex Code in SnowsightではSkillsもサポートされているのですが、うまく呼び出すことができないこともあるので、AGENTS.mdに特定のタスクを処理する場合に参照するべきSkillsを明記して安定性を確保しました。
得られた効果
このアプローチにより、以下の効果が得られました。
支援担当者が常に張り付く必要がなく、お客様の好きなタイミングでデータ活用を推進できるようになった
お客様自身がSnowflakeに触れる機会を創出できた
AIに指示をすることで、「何から始めたらいいかわからない」という状況から脱することができるようになった
注意点
AGENTS.mdが読み込まれないケースがある
コンテキストの量が少ない場合でも、Cortex CodeがAGENTS.mdの指示を読み落とすケースがあります。
その場合は、チャットの最初の入力として「AGENTS.mdに従って。」と一文を添えることで、確実に読み込ませることができます。
コスト管理を事前に行う
Cortex Code in Snowsightは2026/4/1より有料サービスに移行しています。
チャットベースの特性上、やり取りが長引きやすいため、事前にコスト面でのガードレールを設定しておくことを推奨します。
制限はアカウントレベルとユーザレベルの両方で設定できます。
Cortex Code in Snowsightで出力させた結果を鵜呑みにしない
AIが作成する成果物の品質はモデルの性能などに依存します。
AIモデルは、急に品質が悪くなることもあります。
また、作業者が意図しているものと若干ずれた回答をしてくることもあるので、人の手も介することでより品質のいい成果物が出来上がります。
そういった場合には、タスクを分解して作業させたり、データがどのように管理されているのかをAIにまとめさせることで自身で作業をする際の足掛かりにしたりすることができます。
AI活用においては、最終結果が違うから過程もNGとするのではなく、部分的に活用することで自身の作業負担を減らす。という考え方をするのも非常に重要です。
Cortex Codeで完結させる必要はない
Cortex Codeはデータの参照やSQL作成には非常に有用ですが、すべての作業をCortex Code上で行う必要はありません。
例えば、SQLの作成まではCortex Code in Snowsightで行い、そのSQL文をもとにした設計ドキュメントの作成にはClaudeやGemini、ChatGPTなどの汎用AIを活用するといった使い分けが、コスト・効率の両面で効果的です。
事前に機密情報が入っていないかのチェックは忘れずに行いましょう。
内製化の成功と支援スコープの変化
内製化支援がうまく進むと、お客様自身で運用できる範囲が広がり、支援の必要性が縮小していきます。
これは内製化の本来の目的が達成されたことを意味しますが、支援者としては次のフェーズ(より高度なデータ活用の支援や別領域への展開など)を見据えておくことが重要です。
まとめ
Snowflakeの内製化支援において、Cortex Code in Snowsightは非常に有効なツールである
共有ワークスペースとAGENTS.mdを組み合わせることで、AI活用レベルの個人差に依存しない支援体制を構築できる
Cortex Codeで対応する範囲と他のツールに委譲する範囲を適切に判断し、コストと品質のバランスを取ることが重要
おわりに
BeeXでは、Snowflakeを使ったデータ統合・活用のご支援をいたします。
Snowflakeを使ったデータ活用に関するご相談がございましたら、お気軽にお問い合わせください。