pair-programming with AI

Claude Code から Databricks の managed MCP server を使う

このポストについて Databricks Advent Calendar 2025 シリーズ2、8日目の記事。 Databricks 公式の managed MCP server の Claude Code からの利用について書いていく。 記事の概要 Databricks の managed MCP server (DBSQL) を Claude Code から利用し、AI エージェントによる Databricks へのクエリ実行を可能にする方法を解説 dbt model 開発などのデータエンジニアリング作業において、Claude Code が自律的にデータベースの状況を確認できるようにすることで、開発効率を向上 Claude Code の hooks 機能を活用し、破壊的なクエリ(INSERT, CREATE TABLE など)の実行を制限することでセキュリティを担保 Databricks CLI を使った短命 PAT の自動取得により、認証情報を設定ファイルにベタ書きせず安全に認証を実現 具体的な設定ファイル(.claude/settings.json, .mcp.json, shell script)の実例と、実際の動作例を提示 Prerequisites Claude Code v2.0.60 Databricks CLI v0.279.0 この記事は2025年12月現在の情報や状況を元に書かれている。 このあたりは変化が早いので、少ししたら情報が古くなっている可能性が高いことにご注意いただければと。 特に Databricks の managed MCP server は現時点では Beta 版となっており、今後インターフェースなどの変更の可能性がある。 Managed MCP Server とは Use Databricks managed MCP servers | Databricks on Google Cloud ここで取り上げる “managed MCP server” とは、Databricks が提供するリモートの MCP server だ。 Databricks 自体には様々な機能があるが、現時点では以下の4種の MCP server が提供されている。 ...

2025年12月8日 · soonraah
pair-programming with AI

Claude Code を使い dbt model を Test-First で開発する

このポストについて Claude Code による dbt model 開発を test-first でやったらいい感じだったのでそれを紹介する。 実際に dbt model におけるある機能を test-first で開発するということをやってみる。 なんかしっくりこない Claude Code による dbt model 開発 現在本業でデータ基盤の移行を行っており、dbt model をたくさん作る必要がある。 Claude Code を使ってこの作業が楽にならないかなーと考えていたんだけど、それがなかなかしっくりこない。 なぜしっくりこないかというと、以降に際して dbt model を開発するために多様なコンテキストが必要になってくるということだと認識している。 例えばある1つの ETL 処理を dbt model に移行するにあたり、次のようなコンテキストを使いたい。 旧データ基盤の実装コード (Glue Job, Athena など) OpenMetadata に存在する旧データ基盤のメタデータ情報 社内の data modeling のルール (命名、その他) 参考にできそうな移行済み model 移行先である Databricks の仕様 などなど… このあたりのコンテキストをいい感じに整理して Claude Code が利用できるようにすべきなんだけど、その整理がまだ進んでいない。 (やれよって話なのはわかっています…) というので Claude Code がバシッとハマるという感覚をまだ得られずにいた。 dbt の unit tests で、データ基盤移行でちょっと複雑な処理を dbt model に実装しないといけなくなり、これまでやっていなかった dbt の unit test を導入することにした。 ...

2025年10月14日 · soonraah
AI frog graph network with parrot

読書メモ: LangChainとLangGraphによるRAG・AIエージェント[実践]入門

書籍について 西見 公宏; 吉田 真吾; 大嶋 勇樹. LangChainとLangGraphによるRAG・AIエージェント[実践]入門 エンジニア選書. 株式会社技術評論社. タイトルのとおりで RAG や AI エージェントについて書かれた本。 出版は2024年11月。 LangChain や LangGraph を使ったサンプルコードが豊富に載っている。 著者の方は3名ともジェネラティブエージェンツ社の方で、AI エージェントを扱う会社らしい。 前作として『ChatGPT/LangChainによるチャットシステム構築[実践]入門』という本もあり、本書の何章かは前作の内容を引き継いでアップデートしているとのこと。 個人的にはこれまで LLM や LangChain など追えていなかったので勉強になったし、自分でコードを写経して動かしてみるのがとても面白かった。 AI エージェントまわりの技術を実感したい人におすすめ。 ちなみにサンプルコードを動かすためには OpenAI をはじめとする様々なサービスに登録する必要があり、料金が発生するものも含まれている。 このポストについて 書籍「LangChainとLangGraphによるRAG・AIエージェント[実践]入門」を読んで、面白かったので内容をまとめる。 各章ごとに内容を挙げていってもいいのだが、ここではそうはせず、本書に登場する言葉や概念をまとめていくことにする。 ちなみにこの記事で紹介するプロンプト等は書籍そのままではなく、少し変更している。 実際のプロンプトを知りたい場合は書籍を読んでください。 プロンプトエンジニアリング これは知っている人も多いだろう。 プロンプトとは主に自然言語で記述される、LLM に与える命令のこと。 LLM をアプリケーションに組み込む場合はプロンプトはテンプレート化し、入力データをそれに差し込む形となる。 LLM は必ずしも人間の出す命令に対して望ましい回答を出力してくれるわけではない。 望ましい回答を出力してもらえるよう、プロンプトを工夫するテクニックがプロンプトエンジニアリングである。 本書ではプロンプトエンジニアリングの具体的な手法として次の3つが紹介されていた。 ちなみにここで例として示している出力は実際に OpenAI の LLM gpt-4o-mini で出力したものである。 Zero-shot プロンプティング 簡単なタスクであれば、特に追加の情報がなくとも (=Zero-shot) 望ましい回答を得ることができる。 system: 次の日本酒のレビューをポジティブ・ネガティブ・中立のどれかに分類してください。 user: ふくよかで芳醇な香り 出力 ポジティブ Few-shot プロンプティング より複雑なタスクになった場合、デモンストレーションを与えることで回答の精度を高めることができる。 いくつかのデモンストレーションを示すため、Zero-shot ではなく Few-shot である。 ...

2025年3月2日 · soonraah