Vポイントマーケティング|TECH LABの Tech Blog
https://techblog.vpoint.co.jp/
TECH LABのエンジニアが技術情報を発信しています
フィード

Snowflake CoWorkでエージェントを利用しよう!
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦諒一です。関東も梅雨明けしたようです。梅雨が明けた途端、ものすごく暑くなりました。体調管理に気を付けないとですね。今回はSnowflakeの話を書きたいと思います。Snowflake CoWork最近Snowflakeの「Snowflake CoWork」という機能を触っています。Snowflake CoWorkは以前は「Snowflake Intelligence」という名称でしたが今年のSummitで名称変更されたそうです。Snowflake CoWorkではSnowflakeで作成したエージェントを呼び出して会話形式で作業を行うことが出来ます。入力としてファイルを渡すこともできますし、会話の途中で生成されたグラフや表などを「アーティファクト」として保存してメンバーとシェアすることが可能です。Snowflake CoWorkたとえばHugging Faceで公開されている以下のSpotifyの楽曲データセットを取り込んで作成した楽曲おすすめエージェントを作ってみました。huggingface.coCoWorkを使えばすぐにこのエージェントを呼び出して使用することが出来ます。これまでフロントは自分で作ってAPIでエージェントを呼び出す、といったことをしていましたが、その必要もなくすぐに使えるのが便利です。CoWorkからエージェントを呼び出して楽曲リストを表示会話の中でおすすめ楽曲リストがテーブル形式で表示されたのですが、これを「保存」しておくと、アーティファクトに登録され、いつでも確認し、共有することが出来るようになります。テーブルをアーティファクトに格納CoWorkで呼び出すエージェントは、「Cortex Agents」で作ることが出来ます。Cortex Agentsでエージェントを作るCortex Agentsでは、構造化・非構造化データのいずれも対象として分析をし、回答するエージェントを作成することが出来ます。Cortex Agentsでエージェントを作る際のベストプラクティスがこちらのドキュメントで説明されています。www.snowflake.comこのドキュメントの中でエージェントの精度や効率性に特に関わると考えられるのが「Importance of Cortex Agent instructio
5日前

Difyの会話ログをDatabricks MLflowに記録する。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦諒一です。この前外に出たら蝉の鳴き声が聞こえてきました。気温も高くなってきたし、そろそろ夏がやってきたようです。今年はAIエージェントの年!と言いたくなるほど毎日AIエージェントのことについて考えている気がします。色々なAIエージェントを使ったり作ったりしているのですが、それらの利用状況をどこか一箇所にまとめたいな、と思っていてその環境としてDatabricksを検討しています。以前はコーディングエージェントのログをDatabricksに記録する、といったことを試していて、その内容はこちらの記事にまとめています。techblog.vpoint.co.jp今回はノーコード・ローコードAIエージェント開発プラットフォームDifyで開発したAIエージェントのログをDatabricksに記録する、といったことにチャレンジしてみました。さらにログを格納した後、Databricksの機能を使って品質チェックをしたり、コーディングエージェントGenie Codeを使って利用状況を可視化するダッシュボードも作ってみました。Databricks側の事前準備Difyのログを取り込むためにDatabricks側の事前準備が必要です。まずDifyのワークフローに対してMLflowのExperimentsを作成します。Databricksのワークスペースを開き、AI/ML関連メニューの「Experiments」を選択、「GenAI apps & agents」を開き新しいExperimentを作成します。Experimentの作成画面で「GenAI apps & agents」を選ぶ作成後、Experimentを開きます。そのページのURLの「experiments/」の次に続く数字列があとで使う「実験ID」になるので控えておきます。また、DifyのワークフローからDatabricksに接続する際に使うパーソナルアクセストークンも発行しておきます。OAuth認証が推奨されていますが、今回は検証のため、スピードを優先した対応を取りました。トークンに付与する権限スコープは「mlflow」だけでOKです。Difyで作ったワークフローのログをDatabricksに送信する設定Difyで作成したワークフローをDatabricks MLflowのE
12日前

DatabricksのOmnigentを試してみる。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦 諒一です。もう7月なのですが、今のところ東京は雨の日が多く、梅雨らしい天候が続いています。こんなに梅雨らしい梅雨は、なんだか久しぶりな気がしています。今年のDatabricksの年次のイベント「DATA+AI SUMMIT」のキーノートの動画が公開されていたので見てみました。AIエージェントを本格的に利用するために必要なデータや基盤に関するアップデートが多く、とても興味深かったのですが、その中で「試してみたい!」と真っ先に思ったのが「Omnigent」です。OmnigentとはOmnigentはDatabricksが開発したAIエージェントの「メタハーネス」で、オープンソースで公開されています。メタハーネスって初めて聞いたのですが、実際に使ってみて感じたのは「Claude Code」や「Codex」といった様々なコーディングエージェント(Omnigentでは「ハーネス」と呼んでいます)の上に存在するレイヤのようなもので、それぞれのコーディングエージェントが持つ機能を共通のインターフェースでアクセスできるようにするようなイメージだと感じました。Omnigentにはさらにチームメンバーとコラボレーションできる機能も備わっていて、コーディングエージェントとのセッションにアクセスできるWebUIを起動したり、セッションをチームメンバーにシェアして共同作業するといったことが出来るようです。Omnigentはオープンソースですが、DatabricksではフルマネージドなOmnigentがベータ版で提供されています。Databricks上でWebUIをホスティングしたり、基盤モデルとしてUnity AI Gatewayのエンドポイントを利用することが可能です。今回はDatabricksのOmnigentの導入から使ってみるところまで試してみた内容をまとめたいと思います。環境私は最初勘違いしていたのですが、Omnigentはコーディングエージェントと同じローカル環境で動作します。「クラウドサンドボックス」というサーバー側で動かす機能もあるようですが、主な用途はローカル環境に存在するコーディングエージェントへの共通インターフェースを提供することです。私は普段Databricks Appsの開発環境としてAzure VMを使って
19日前

AIエージェントの商品選択傾向を検証した論文を読みました。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦諒一です。AIエージェントが人に代わって商品を選択して購入まで済ませてくれる「エージェンティックコマース」について興味があって調べています。特に気になっているのが「AIエージェントがどういう基準で商品を選ぶんだろう?」というテーマです。人が自分で商品を選ぶ場合は自分が欲しいと思ったり興味を持ったものや、その中でさらに価格が安かったり評価が高かったりするものを選ぶと思います。でももしAIエージェントが自分の代わりに商品を選ぶようになったら、同じような基準で判断するのでしょうか?このテーマについて扱ったとても興味深い論文を最近読みました。今回は、その中でも特に私が面白いと感じた検証内容をご紹介します。参照論文Title: Authors: Submitted On: arXiv URL: https://arxiv.org/abs/2508.02630論文の概要ユーザーがAIエージェントに商品購入を任せると、どんな市場を形成するのかに焦点を当てた研究です。今のECサイトは人が利用することを想定した作りになっています。商品を売る側は、ECサイトを運営するプラットフォームのスポンサーとなることで人の目に留まりやすい場所に自社の商品を表示してもらったり、「おすすめ」のようなバッチやタグを付与することがありますが、これらはAIエージェントが商品を探すようになったら今と同じ販促効果を示すことができるのでしょうか?また、AIエージェントのバックエンドで動くモデル(LLM)の学習プロセスを鑑みると、同じカテゴリー内の商品でもブランドの露出度によって選択の偏りが発生する可能性も考えられます。露出が高く、インターネット上に多数のデータが存在するブランドが優先され、ニッチなブランドが選択されなくなる。人が買い手であれば競争力があったブランドなのにAIエージェントが市場に参入すると全く選択されなくなってしまう可能性も考えられます。モデルも単一ではありません。OpenAI、Anthropic、Googleなどのプロバイダが提供する異なるモデルをバックエンドに持つAIエージェントは、それぞれ果たして同じような商品選択傾向を見せるのでしょうか?また、同じプロバイダのモデルでもバージョンが変わるとその傾向は変わるのかもしれません。もし変わるとす
1ヶ月前

「Codexは操作している人の人物像を知っているといいアウトプットを出せるのか?」試してみました。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦 諒一です。だんだん暑くなってきました。最近夏の日差しが本当に強いので、今年はちゃんと外出するときは日焼け止めをつけるように習慣づけようと思っています。さて、普段いろいろなAIエージェントを使っていますがふと「このエージェントが自分のことをもっとよく知ってくれたら、もっといいアウトプットを出してくれるんじゃないか」と考えました。私たちも仕事で何か資料を作る時、自分が伝えたいことだけでなく伝える相手のことを意識して作ることは多いと思います。それと同じでAIエージェントも私たち依頼者のことを知った方がより良い成果物を作ってくれるのでは・・・と思いました。そこで「自分はこんな人だよ」を説明する特徴文(ペルソナ文)を作り、同じタスクを指示する際にそのペルソナ文を与えた場合とそうでない場合で成果物にどんな違いが生まれるのかを試してみようと思いました。今回使用したエージェントはOpenAIのCodex CLIで、モデルはgpt-5.5 lowを使用しました。設定タスク今回は「資料作成」にフォーカスしたタスクを10個選んでみました。以下の10個です。私におすすめの小説を探して、その良さを伝えるHTMLファイルを作成して。私におすすめの日本の音楽を探して、その良さを伝えるHTMLファイルを作成して。SnowflakeとDatabricksの違いを説明するためのHTMLファイルを作成して。各種コーディングエージェントの特徴とそれぞれの良い点悪い点をまとめたHTMLファイルを作成して。今年のDatabricksのサミットDATA+AI SUMMIT2026でリリースされた内容をまとめたHTMLファイルを作成して。私におすすめの日本酒を探してその良さを伝えるHTMLファイルを作成して。私が今年始めるといい習慣はなんでしょうか?HTMLファイルに提案内容をまとめてください。海外の人と英語で会話できるための私にとっての最短ルートを提案してほしい。提案内容はHTMLファイルにまとめて。2026年以降のAIはどのようになると考えられますか?HTMLファイルにまとめてください。私にとっておすすめの今晩の夕飯の献立を考えて、レシピも含めてHTMLファイルにまとめて。カルチャーからテクノロジー、今晩の献立まで色々とピックアップしてみました。ペルソ
1ヶ月前

少人数でも、セキュリティは高度化できる ― Wizで築く新たなクラウド運用
Vポイントマーケティング|TECH LABの Tech Blog
はじめにテクノロジー戦略本部セキュリティ部部長の松井と申します。当社では今期、新たにセキュリティ部を設置し、私が本部長と兼務する形でその業務を担うことになりました。クラウドへの移行が進む当社にとって、セキュリティの強化はもはや単なる施策ではなく、事業継続を支える経営課題そのものだと考えています。一方で、この領域を主導できる専門人材を確保することは、非常に難しく、その解決策を検討してまいりました。本記事では、我々がこの構造的な課題をどう整理し、なぜクラウドセキュリティ基盤として「Wiz」への投資を意思決定したのか、その判断の道筋を共有させていただきます。同じ論点に向き合う方の一助になれば幸いです。クラウドシフトに伴うセキュリティリスクの拡大ここ数年、当社のシステムは着実にクラウドへ移行してきました。クラウドがもたらすスピードと柔軟性は、事業の競争力に直結しています。しかし同時に、守るべき領域は静かに、そして確実に広がり続けます。一つの設定、一つの権限が、意図せず外部への入口になり得る。これは個別の過失というより、クラウドという仕組みが構造的に内包する性質です。つまり、セキュリティの強化は「やったほうがよい取り組み」ではなく、クラウド活用を前進させる以上は避けて通れない要請でした。セキュリティ部の設置は、その要請に対して組織としての必然的な対応でした。ただ、部を置くことと、運用を継続的に機能させることはまったく別物です。これを確実に機能する部門とするための取り組みが必要です。構造的な課題 ― 「人」に依存する運用の限界立ち上げに際してまず直面したのは、単なる人手不足では片付かない、構造的な課題でした。クラウドセキュリティを統括できる専門人材は、採用市場に極めて乏しい仮に採用できても、市場の需給から定着・維持のハードルは高い結果として運用が特定個人に依存し、「見る・判断する・改善する」というサイクルそのものが回らない各種調査でも、必要な人材を確保できないと回答する企業が大半を占めます。これは当社固有の問題ではなく、業界全体が同じ制約の中にある、という認識です。加えて、各クラウドが備える標準的なセキュリティ機能だけでは、マルチクラウドを横断したリスクの関連性分析や、攻撃経路の可視化までは踏み込めません。守りの巧拙を一人の専門人材の練度に委ね続けることは、属人化という別のリス
1ヶ月前

Codex CLIの利用ログをDatabricksのMLflow Experimentsに記録する。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦諒一です。最近CodexやClaude、Github Copilotなどのコーディングエージェントを使っていると、本当にたくさんのツールを呼び出してタスクを解こうとしている様子が伺えます。そのおかげで複雑なタスクをコーディングエージェントに任せることができるのですが、一方でこのターンでいったい何をしたのかが振り返りにくくなってきているな、と感じるようにもなりました。もしかしたら自分が把握していないところで外部と通信をしていたり、意図していないファイルを変更してるかもしれません。さらに、もしコーディングエージェントを大勢で利用していくことを考えるとコーディングエージェントが「何を実行したのか」を振り返ることができないと色々と困る点も出てきてしまいます。そんな課題を解決するアイデアとして、DatabricksのMLflowを利用する方法を今回試してみました。コーディングエージェントとしてCodex CLIを使ったのですが、この方法によってCodex CLIでコーディングエージェントとやりとりした内容やツールの実行履歴などを自動的に記録することが出来るようになります。この検証では学習用途で無料で使用できるDatabricks Free Editionを利用しました。本番運用の環境ではありませんが、ちょっと試してみたい、という用途であれば最適な環境だと思います。www.databricks.comセットアップセットアップは以下を見ながら進めました。mlflow.orgまた、今回はDatabricksでホストされているMLflow Serverを使用します。Databricks CLIを使うとトークンを書かずに認証することが出来るので、事前に入れておきました。docs.databricks.comまず、MLflow用のCodex CLI統合パッケージをインストールします。npm install -g @mlflow/codexCodex CLIで開発を行うプロジェクトフォルダ内で以下を実行すると、MLflowトレーシングの設定が開始されます。mlflow-codex setupいくつか対話形式で設定を進めます。MLflowトレーシングの設定の対象範囲はデフォルトの"Project"で進めました。? Where shoul
1ヶ月前

エージェンティックコーディングのベンチマーク「SWE-Bench Pro」について調べてみました。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦 諒一です。2026年度 人工知能学会全国大会がはじまりましたね!私も初日に会場であるGメッセ群馬に行ってきました。現地ならではの体験をしたかったので、主にポスターセッションを中心に見て回りました。面白そうな内容がたくさんあり、これからじっくり論文を読んでみたいと思っています。また、私たちも共同研究論文の発表という形で今回の人工知能学会全国大会に関わることが出来ました。ぜひこちらの記事もご覧ください。techblog.vpoint.co.jpさて、先日リリースされたAnthropic社のモデルClaude Opus4.8のベンチマークの結果を見ていたのですが、そもそもこれらのベンチマークってどんな内容なんだろう?と疑問を持ちました。www.anthropic.com「SWE-Bench Pro」, 「Terminal-Bench 2.1」, 「Humanity's Last Exam」, 「OSWorld-Verified」, 「GDPval-AA」, 「Finance Agent v2」というベンチマークの結果が載っていますが、この中でコード生成の性能を測るのに使われているのが「SWE-Bench Pro」で、Opus4.8は69.2%という結果が出ています。今回はこのSWE-Bench Proを理解するために、そもそもエージェントのコーディング性能ってどうやって測定するのかを含め、調べたことをまとめていきます。正しいコードが作れたことをどう評価する?そもそもエージェントが生成したコードが正しいかどうかをどうやって評価するのでしょうか。2021年にOpenAIが出した論文「Evaluating Large Language Models Trained on Code」にはそのためのアプローチが述べられています。arxiv.orgこの論文では「HumanEval」という、Pythonの関数をDocStringから生成することができるかを測定するベンチマークについて述べられています。コードの評価は一般的なテキストの評価とは異なる観点が必要です。たとえば一般的なテキストの評価であれば、正解のテキストと生成されたテキストがどれだけ似ているかとか、一致している部分がどれだけあるのかといった観点で測定出来ますが、コード
2ヶ月前

【プレスリリース】CCC、Vポイントマーケティング、松尾研究所の共同研究論文が「2026年度 人工知能学会全国大会」に採択
Vポイントマーケティング|TECH LABの Tech Blog
松尾研究所との共同研究論文について、プレスリリースが掲載されました。詳しくはこちらをご覧ください。www.vpoint.co.jp
2ヶ月前

「Google I/O 2026」の基調講演の内容をまとめてみました!
Vポイントマーケティング|TECH LABの Tech Blog
はじめにこんにちは、VポイントマーケティングAIエンジニアの三浦諒一です。5月19日から20日に米国で開催されたGoogleのイベント「Google I/O 2026」の基調講演の様子がYouTubeに公開されており、その内容がとても面白くて未来を感じる内容だったので、今回はどんなことが発表されたのか、それを見てどんな風に感じたのかをまとめてみたいと思います。今回はYouTubeで公開されている「Google I/O 2026」の基調講演の動画「Google I/O '26 Keynote」を参照して記事を書いています。www.youtube.comオープニングで紹介された内容Ask Maps/Ask YouTubeGoogle Mapsで場所を調べたりYouTubeで動画を検索する際に会話形式で検索ができるようになります。例えばAsk YouTubeでは「バランスバイクの乗り方を知ってる3歳の子供に自転車の乗り方を教えるにはどうしたらいい?」といった質問を与えると関連した動画を探してくれるだけでなく、役に立つTipsも生成されていました。さらに動画の中の特に関連が強いシーンにすぐにジャンプできるようになっていました。Docs Live音声入力でGoogle Docsを作ることが出来るサービスです。かなり大雑把な音声入力でもAIがいい感じにまとめてくれるみたいで、「この内容を含めて」「あ、やっぱりこれも入れて」のように頭に浮かんだアイデアをそのままポンポンと投げ込みながら資料作成ができるようなイメージでした。また、Google DriveなどのGoogleの他のサービスの情報も参照してくれるそうです。AI ProとUltraユーザー向けにこの夏にリリースされるそうです。TPU8t/TPU8iTPUの第8世代TPU8tとTPU8iが発表されました。TPU8tは事前学習用途に、TPU8iは推論用途に最適化されているそうです。検索エンジンを作ってきたGoogleとしてはレイテンシをかなり重視しているようで、TPU8iによって高速にAIが応答を生成する(毎秒約1,500トークン!)様子が紹介されていました。Gemini Omniの発表マルチモーダルモデルOmniが発表されました。Omniは「世界モデル」と呼ばれていて現実世界の物理法則を理解しているそうです。今のところ画像編
2ヶ月前

【メディア掲載】 ITフリーランス向けサイト 「レバテックフリーランス」で 紹介されました
Vポイントマーケティング|TECH LABの Tech Blog
Vポイントマーケティング TECH LABのTech Blogが、ITフリーランス向けサイト「レバテックフリーランス」で紹介されました。本ブログがフリーランスエンジニアの皆様のお役に立てれば幸いです。タイトル新技術から開発の舞台裏まで!エンジニアの学びを支えるブログ記事URLhttps://freelance.levtech.jp/guide/detail/211857/freelance.levtech.jpレバテックフリーランス|トップページhttps://freelance.levtech.jp/
2ヶ月前

UCPのサンプル実装を見て実装ポイントをまとめてみる(Create Checkout編)
Vポイントマーケティング|TECH LABの Tech Blog
UCPのサンプル実装を見て実装ポイントをまとめてみる(Create Checkout編)こんにちは、VポイントマーケティングAIエンジニアの三浦です。最近Googleのエージェンティックコマースの共通プロトコルUniversal Commerce Protocol(UCP)のサンプルプログラムを読んでいます。「これ、どういう意味なんだろう??」と色々立ち止まりながら読み進めているのですが、自分の理解を深めるためにも実装ポイントを少しずつまとめていきたいな、と思っています。実装サンプルは"Flower Shop"という架空の花屋ECのUCP Merchant Serverとしての実装例を表しています。以下のレポジトリで公開されています。github.comこの中で読んでいるのはPythonのRESTの実装です。ディレクトリはsamples/rest/pythonが対象になります。まずはこのUCP MerchantのUCPプロファイルを把握し、ビジネスロジックのうち、Checkoutセッションを開始するcreate_checkoutについて見ていきます。/.well-known/ucpで公開されるUCPプロファイルを見てみようUCP Merchantは/.well-known/ucpで自分のUCPにおける情報(profile)を公開します。このprofileには、利用できるtransport、対応できるcapabilityやpayment handlerなどが含まれます。エージェントやクライアントはここを見て、このUCP Merchantとのやり取りの仕方を知ることができます。このエンドポイントの実装はserver/routes/discovery.pyのget_merchant_profileが対応していて、その中身を見ると同一フォルダ内にあるdiscovery_profile.jsonの中身を読んでレスポンスで返していることが分かります。このJSONファイルを見てみると、services、capabilities、payment_handlersで公開されるprofileの情報が定義されています。まずservicesですが、以下のようになっています。... "services": { "dev.ucp.shopping": [ { "version": "2026-
2ヶ月前

Codexに「見る力」を与える!Jetsonに接続したUSBカメラをCodex CLIから使ってみました。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦です。私はプライベートではJetson AGX Orinの開発者キットにリモートで接続してCodex CLIでコーディングをしたりしています。Jetson AGX Orinは小型でありながらGPUを使ったリアルタイムの映像処理が得意なエッジデバイスで、IoTの領域で力を発揮します。最近は開発サーバーとして活躍してもらっていますが、久しぶりにカメラを使った何か面白いことをやってみたいな、と考えました。以前JetsonでUSBカメラを接続して、Pythonのプログラムからアクセスして画像を取得する、といったことをやったことがあったのですが、Codexで画像を取得するスクリプトを実行するAgent SKillを作ればCodexが目の前の状態を把握したうえでタスクをこなしてくれるような、Codexに「見る力」を与えることができるんじゃないか・・・と思いました。実際にやってみるとCodexからカメラにアクセスするスクリプトを単純に呼び出すだけでは実現が難しいことがわかりました。その辺りも含めて今回の記事でまとめてみたいと思います。CodexをインストールしたJetson AGX OrinにUSBカメラを接続skill-creatorを使って作ってみるCodexにはAgent Skillを自然言語で作成できるskill-creatorというスキルがあらかじめ組み込まれています。これを使って以下のように指示を出して作成をしてみました。$skill-creator いま接続しているUSBカメラから画像を取得することができるSkillを作って。すると以下のような構成のSkillが生成されました。CAPTURE-USB-CAMERA├── agents│ └── openai.yaml├── references│ └── troubleshooting.md├── scripts│ ├── __pycache__│ └── capture_usb_camera.py└── SKILL.mdagents/openai.yamlって見慣れないな、と思って調べたところ、Codex Appでの表示に関する設定のようでした。このSkillのコアはscripts/capture_usb_camera.pyでmain()の中身を見るとカメラデ
2ヶ月前

エージェントが開発したコードベースをGraphifyでナレッジグラフ化して理解できるようにする。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦です。先日久しぶりに映画館に映画を見に行きました。やっぱり大きな画面と迫力のある音響で作品を見ると没入感があっていいなと思いました。それと、映画館の雰囲気ってちょっと日常から離れた感じがして好きです。さて、私はエージェントを使っていろいろとアプリケーションの開発をしています。自分しか使わないアプリだったら仕様を決めた後はコードを全てエージェントに書いてもらう、といったことも増えてきました。そんな風に開発したアプリのソースコードをいざ読んで理解しようとしてもコードの量が膨大でなかなか手が付けられず、そのことについて最近課題に感じていました。普段自分自身が使い慣れた開発言語やフレームワークであればまだなんとかなりますが、それ以外だとそもそもどこから手を付けたらいいのかすら分からなかったりします。それらの対策としてコードを解説するMarkdownのドキュメントをエージェントに書いてもらうのですが、関数の呼び出しがあちこちに散らばっているような構造だとドキュメントだけでは理解しづらいこともあります。「こういうのって実はグラフ構造になっていると理解しやすいんじゃないかな」と思い、「コードベースのナレッジグラフ化」という観点で調査していたのですが、これはいいな、と思ったツールに出会いました。Graphifyというツールです。graphify.netGraphifyはプロジェクト内に存在するコードをはじめ、ドキュメント、画像、動画等のファイルからナレッジグラフを構築し、コーディングエージェントが参照できるようにするツールです。プロジェクトをナレッジグラフにすることでエージェントがファイルを開いて読むよりもより効率にかつ正確にプロジェクト全体を把握できるようになります。色々なコーディングエージェントに対応していて、Claude CodeはもちろんCodexやGemini CLI、Github Copilot CLIでも使うことが可能です。私はプライベートではCodex, 業務ではGithub Copilot CLIを使っていますが、どちらでも動かすことができました。今回の記事ではこのGraphifyについて導入の仕方や使い方、ナレッジグラフをどのように構築しているのかをまとめてみたいと思います。Graphifyを導入するGra
2ヶ月前

MCPサーバーのSecurity Best Practicesについて。
Vポイントマーケティング|TECH LABの Tech Blog
はじめにこんにちは、VポイントマーケティングAIエンジニアの三浦です。今年のゴールデンウィークに思い切ってスマートフォンを買い換えました。前の機種はもうだいぶ長いこと使っていたので、新しい機種になって「画面がスムーズに動く・・・!」など、いろいろスマートフォンの進化に感動しています。さて、前回MCP Serverの認可について調べたことをまとめました。techblog.vpoint.co.jp前回の記事はどちらかというと概念に近い内容だったのですが、もう少し具体的な内容もまとめたいなと考えて、MCPのドキュメントの「Security Best Practices」というタイトルのページを最近読んでいました。modelcontextprotocol.ioこのドキュメントではMCPサーバーの認可の仕様において、実装をおざなりにするとどのようなリスクが発生しうるのかがまとめられています。今回はこの中からMCPサーバーで起こりうる「混乱した代理問題」と「トークンパススルー」という問題と、それを防ぐためにMCPサーバーにどのような実装が求められるのかについて調べてみたことをまとめてみたいと思います。混乱した代理問題(Confused Deputy Problem)混乱した代理問題は、権限を持たないクライアントがその権限を持つプログラム(代理人)にアクセスして指示を出すことで、本来できないはずの操作が可能になってしまうというコンピュータセキュリティにおける脆弱性の一種です。この問題がMCPサーバー、特にサードパーティのAPIへの橋渡しをするMCPプロキシサーバーとして動作するときに発生する可能性があります。具体的には以下の条件が揃ったときに混乱した代理問題が発生してしまいます。MCPサーバーがサードパーティAPIと静的なクライアントIDで接続しているMCPサーバーがMCPクライアントに「動的クライアント登録」を許可しているサードパーティAPIの認可サーバーがユーザーの同意をユーザーのブラウザに同意クッキーで保存し同意画面を省略できるMCPサーバーがサードパーティAPIに接続する前にリクエストを送ってきたクライアントの検証処理を実装していないこの時以下のフローで攻撃者は攻撃が可能になってしまいます。ユーザーが正規のクライアントでMCPサーバーを通じてサードパーティAPIを利用でき
3ヶ月前

MCPの認可仕様について
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦です。最近既存のAPIをMCPを使ってAI Agentに提供できるようにするにはどうしたらいいのか調べていました。どんな機能を提供するのかを考えるのはもちろんなのですが、どうやって安全に機能を提供できるのかについてもしっかりと理解しておく必要があると思っています。そういった理由から、最近MCP(Model Context Protocol)のドキュメントの認可(Authorization)仕様のページを読んでいます。modelcontextprotocol.ioこのドキュメントではMCPの認可におけるMCPクライアント, MCPサーバー, 認可サーバーそれぞれの実装における要件が説明されています。この中で特に今回はMCPサーバーを開発し、HTTPベースで提供するうえで開発者が知っておかなければならない要件に注目して読み進めています。今回の記事では全ての内容をまとめることは出来ていませんが、これまで読み進めた中で重要な点を自分の勉強をかねてまとめてみたいと思います。MCPの認可フローの大まかな流れまず今回の認可フローはMCPサーバーをHTTPベースで提供する場合に推奨されるものです。STDIOで使用するMCPサーバーの場合は資格情報は環境変数などから取得することが想定されています。MCPクライアントが接続したいMCPサーバーにトークンなしでアクセスするMCPサーバーは401 Unauthorizedを返すMCPクライアントはMCPサーバーのレスポンスのWWW-AuthenticateヘッダかWell-Known URI経由でMCPサーバーのProtected Resource Metadataを取得してどの認可サーバーを使うのかを判断するMCPクライアントはその認可サーバーのメタデータを取得して、認可エンドポイントやトークンエンドポイント、PKCE対応などを確認する事前登録済みのclient_idを使うか、Client ID Metadata Documentsを使うか、必要なら動的クライアント登録を使ってクライアント登録するMCPクライアントは PKCEを使い、resourceパラメーターと必要なscopeを付けて認可を開始するユーザーがブラウザー上で認可すると、MCPクライアントは認可コードを受け取るMCPク
3ヶ月前

Databricks AppsでClaude Agent SDKとAgent Skillsで開発したエージェントを動かしてみる。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦諒一です。前回Claude Codeのエージェントループ、コンテキスト管理、Agent Skills機能をアプリで利用できるようになるClaude Agent SDKの記事を書きました。techblog.vpoint.co.jp前回の記事ではClaude Agent SDKのバックエンドLLMをDatabricksのFoundation Model APIsで提供されているものを使用する構成を紹介しましたが、今度はもう少し踏み込んで開発したエージェントをDatabricks Appsで動かすことが出来るかどうかを確認してみました。確認してみた結果、Claude Agent SDKを使って開発したエージェントをDatabricks Appsで動かすことが出来ることが分かりました。特にAgent Skillsを組み込んだエージェントも動かすことが出来たので、この構成を応用すれば色々なエージェントをDatabricks Appsで提供することが出来そうだと感じました。今回開発したエージェントアプリ今回Databricks Appsで動かせるか確認するために開発したのが自然言語でGIFアニメーションを作ることが出来るエージェントです。GIFアニメをチャット形式で生成出来ます。バックエンドはPythonのClaude Agent SDKを使っているのですが、さらに"slack-gif-creator"というAnthropicのAgent Skillsを組み込むことで高品質なGIFアニメを生成することが実現出来ています。github.com構成システムの構成をまとめると以下の図のようになります。構成図Databricks Appsにデプロイするフォルダに使用するAgent Skillsを含めておき、Claude Agent SDKが使用出来るようにしておきます。Claude Agent SDKはバックエンドのLLMにDatabricks Foundation Model APIsで提供されている"databricks-claude-opus-4-5"を使用しています。開発の流れ開発はGithub Copilotをコーディングエージェントとして使用して行いました。以下のAgent Skillsを使用しました。slack-gi
3ヶ月前

Claude Agent SDKとDatabricks Foundation Model APIsで作るカスタムエージェント
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦諒一です。あっという間に桜の時期が過ぎて、いつの間にか気温が高くなってきました。外で体を動かすときなんかはもうTシャツだけで十分なくらいです。アプリケーション開発にClaude CodeやGithub Copilot、Codexなどを活用しているのですが、それ以外にもドキュメントを書いてもらったり調査をしたりといった用途でもこれらのエージェントがとても便利だと感じるようになりました。ただこういったエージェントは便利な反面扱う側も気を使わなければいけないことがあります。使うツールに制限をかけるとか、動作するための専用環境を用意するなどです。こういったハードルを軽減しながらこれらのエージェントのメリットを誰もが受けられるようにしたいな、と考えていました。そんな中、Claude Agent SDKというライブラリがあることを知り、これを使えば自分が実現したいと思っていたことが実現出来そうな可能性を感じました。今回の記事はClaude Agent SDKの使い方を中心にまとめてみました。バックエンドのLLMをDatabricksでホストされたものを利用することで今後社内展開がしやすくなるように意識した内容になっています。Claude Agent SDKとはClaude Agent SDKとはAnthropicが公開しているカスタムエージェントを開発するためのSDKです。code.claude.comAgent SDKを使うと、Claude Codeでも採用されている以下の特徴を持ったエージェントを開発することが出来るようになります。Claude Codeと同様のToolが使用出来るToolの実行結果と評価、再実行を繰り返すAgentic LoopContextの管理たとえばAgent SDKでは以下のToolをすぐに利用することが出来ます。 Tool 説明 Read 作業ディレクトリ内の任意のファイルを読み取る Write 新しいファイルを作成する Edit 既存のファイルに対してピンポイントな編集を行う Bash ターミナルコマンド、スクリプト、git操作を実行する Monitor バックグラウンドで実行中のスクリプトを監視し、各出力行をイベントとして処理する Glob パターン指定(例: **/*.ts, src/
3ヶ月前

MCP AppsでChatGPTで動作する世界地図勉強アプリを作ってみました。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦です。先日ChatGPTやClaudeで動作するUI付きのアプリケーションが開発できるMCP Appsという仕組みについてご紹介しました。techblog.vpoint.co.jpこの記事の後にもMCP Appsについて継続して調べていて、"ext-apps"というMCP Appsのデモアプリがまとめられたリポジトリも眺めたりしていました。github.comデモアプリの中で地図を表示させるものがあるのですが、この地図を表示できることを利用して何か自分でもアプリを作ってみたいな、と思いました。考えてみた結果、ChatGPTで世界地図を見ながら世界中の国のことを知ることが出来る世界地図勉強アプリを作ってみることにしました。世界地図勉強アプリChatGPTの中で「地図の勉強をしたい」と発言すると、操作可能な世界地図を表示してくれます。世界地図が開きます世界地図を眺めながら、「ここってどこの国なんだろう?」と気になった地点の国名や基本的な情報を調べることが出来ます。世界地図で気になるポイントの国名や基本情報を確認できます。その国の情報を詳しく知りたければそのままChatGPTに聞いて調べてもらうことが出来ます。ChatGPTが詳しく調査してくれます。使ってみると意外と楽しくて、「地図のこのめっちゃギザギザしてるとこってこの国だったんだ!」とか「じゃあこの国の名物料理ってなんだろう?」みたいなことをたくさん知ることが出来ました。ポイントこのアプリで特に大事なポイントはChatGPTとアプリの役割の切り分けです。以前Agent Skillsのベストプラクティスについて調べていた時に、「Claudeはすでに非常に賢い」というコア原則が書かれていたのを思い出し、念頭に置きました。platform.claude.com私も今は知らないことがあればChatGPTに教えてもらっています。Web検索機能も備わっているため、インターネットに公開されている情報であればかなり的確に情報を教えてくれると感じています。この世界地図学習アプリのコンセプトは、「気になる国を見つけて、その国についてもっと詳しく調べる」が出来ることです。ユーザーが「気になる国」を世界地図を眺めながら見つけることが出来るようにすることがアプリの役目、そして「気になる国
4ヶ月前

レコメンドモデルに"なぜこの商品?"を聞いてみた ― RecVAE × Captumで推薦根拠を可視化する
Vポイントマーケティング|TECH LABの Tech Blog
はじめにこんにちは、VポイントマーケティングAIエンジニアの伊藤です。「なぜこの商品がおすすめされたか?」は、ユーザーにとってもモデルの開発者にとっても(商品の購入を任されたAIやコーディングを任されプロンプトによって自分のことを"この分野に詳しいデータサイエンティスト"だと思い込まされているAIにとっても)重要ですよね、たぶん。この記事では、実際の小売の購買履歴データでRecVAE(推薦モデル)を学習し、Captumを使ったIntegrated Gradients(IG)で推薦根拠を可視化した実験を紹介します。※ 本記事で扱う購買履歴データは、個人を特定できない形に匿名化・統計処理された分析用データを使用しています。RecVAEとIntegrated GradientsとはRecVAE(推薦モデル)RecVAEは変分オートエンコーダ(VAE)をレコメンドに応用したモデルです。入力:ユーザーの購買履歴(各商品を「買った/買ってない」の二値ベクトル)出力:各商品の購入確率(推薦スコア)「このユーザーが買いそうな商品」をスコアで予測するため、スコア上位の商品をレコメンド候補として提示します。「この時代にTransformerベースではなくVAEベース?」と思われた方もいらっしゃられるかと思いますが、必ずしも最新のモデルが最適とは限らないらしいです。クックパッドさんの RecBole を用いてクックパッドマートのデータに対する50以上のレコメンドモデルの実験をしてみた という記事では、特定の評価条件下において、RecVAEがTransformerベースのモデルを上回る結果が報告されています。実際に私も、今回扱ったデータセットおよび評価設定の範囲内でRecBoleを用いたモデル比較を行い、本実験では RecVAE の方が BERT4Rec より高い精度を示したため、RecVAEを採用しました。Integrated Gradients(IG)Integrated Gradientsは購買ベースのXAI手法で、Captum(PyTorch公式のモデル解釈ライブラリ)に実装されています。基本的なアイデアは、「ベースライン(何も買っていない状態)から実際の購買履歴に至るまでの経路に沿って勾配を積分する」というものです。これにより、各入力特徴量(=各商品の購入有無)がモデルの出力に対
4ヶ月前

【プレスリリース】Vポイントマーケティング株式会社 社員2名がDatabricks Japan主催のコミュニティ貢献認定プログラム「JEDAI Order 2026」に選出
Vポイントマーケティング|TECH LABの Tech Blog
Databricks Japan主催のコミュニティ貢献認定プログラムで、プレスリリースにも掲載されておりますので、prtimes.jp※プレスリリースでは旧社名「CCCMKホールディングス(CCCMKHD)」を使用していますが、本ブログでは4月1日付で社名変更後の「Vポイントマーケティング株式会社」と表記します。
4ヶ月前

Databricks Agent SkillsでGithub Copilotからデータセット調査とダッシュボードアプリ開発!
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、VポイントマーケティングAIエンジニアの三浦です。いつの間にか近所の並木道の桜が満開になっていました。朝早くの、少し肌寒い時間に見に行くのが好きです。AIを使った開発で最近必ずと言っていいほどAgent Skillsを活用しています。Agent SkillsはAIにやってほしいワークフローをまとめたもので、Agent Skillsとして定義しておけば必要な時にいちいち指示を出すことなくAIがそのワークフローを定められた手順に従って実行してくれるようになります。Github CopilotでAgent Skillsを導入する方法は以前こちらの記事でまとめています。techblog.vpoint.co.jpAgent Skillsは自分で作成するだけでなく、公開されている便利なAgent Skillsを自分のプロジェクトに取り込むことでAI開発を効率化することが出来ます。最近Databricksが公開しているAgent Skillsを使ってみたのですが、Github Copilotを使ってデータセットの内容のレポートを作成したり、データを可視化できるダッシュボードアプリをDatabricks Appsにデプロイするといったことが出来てとても便利でした。今回はDatabricks Agent Skillsでどんなことが出来るのかを実際に試したことを交えながらご紹介したいと思います。Databricks Agent SkillsDatabricks Agent Skillsは以下で公開されていますgithub.com2026/03/30現在、以下の5つのSkillがあります。(README.mdのAvailable Skillsにはdatabricks-appsしか言及されていませんが、リポジトリのskillsフォルダには含まれています。)databricksdatabricks-appsdatabricks-jobsdatabricks-lakebasedatabricks-pipelinesこの中でDatabricks CLIの操作に関連しているものがdatabricksSkillで、このSkillは他のSkillを使う際に必要になる必須のSkillです。あとはLakeflow Jobsを開発する際はdatabricks-jobsを、Lakebaseを操作す
4ヶ月前

森ビル teamLab★Borderless で没入体験!
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、テックラボでアシスタントをしている渡邉です。行き先は、麻布台ヒルズの「チームラボボーダレス」。目的は、最新技術を使ったアート体験と、その裏側を読み解くワークショップです。チームラボのような展示は業務外の分野ですが、異なる分野での体験から得たインスピレーションを、多角的な視点からの気づきを柔軟に取り入れ、それでは、刺激たっぷりだった一日の様子をお届けします!🔽ご興味のある方はぜひ💁♀️いざ没入!文字が浮き上がって見える入口近くで見ると…!文字の縦横比が伸縮されていました1. ボーダレスな体験、ガイドのない無限空間会場は、作品が部屋を飛び出し、混ざり合う幻想的な空間。ガイドマップはなく、赴くがままに回遊する展示スタイル。「まるで自分もその作品のうちのひとつなのではないか?」そう思わされるような没入感でした。いるタイミングによって演出が絶え間なく移り変わる滝の広場。そんなボーダレスな空間でみんなが注目したのは、物理的な反応: お茶を注ぐと水面に花が咲く。「虹」という漢字に触れると虹がかかる映像に変化する。動体検知: 蝶の映像が人を避けて動いている。ユーザー生成: 自分が描いた魚が、その形に合わせた動きで泳ぎ出す。お茶を注ぐと水面に花が咲く壁に降ってくる漢字に触れると、その意味を表す演出が発生する自分の書いた魚が泳ぎまわる視覚、聴覚、触覚、(嗅覚も?)がボーダレスに統合された、圧倒的な演出を肌で感じました。( 途中にカフェがあり、アトラクションだけでなく普通にお茶できるので「味覚」も入りそう…? )2. 午後はワークショップ!ボーダレスを紐解くリバースエンジニアリング午後は場所を移し、体験を技術的に分解するワークショップを開催。「どうやってこの世界を制御しているのか?」をみんなで議論しました。印象に残った作品をみんなで共有現場で観察したヒントをもとに、裏側のシステムを予想します。センシング: 天井のLiDAR(ライダー:距離測定センサー)で、広範囲の動きをミリ単位で検知。ハード構成: 解像度と負荷から推測し、PC・プロジェクター各500台以上が稼働している?制御: それらを統括する「マザーPC」が存在し、3Dデータをリアルタイムで2D映像に変換。非機能要件: 一部が故障しても展示を継続する「フェイルセーフ」や、映像の重なりを消す「校正(キャリブレーション)...
4ヶ月前

テックブログのURL変更のお知らせ
Vポイントマーケティング|TECH LABの Tech Blog
2026年4月1日より、社名変更に伴いURLを下記の通り変更いたします。■ 変更前:https://techblog.cccmkhd.co.jp/ ■ 変更後:https://techblog.vpoint.co.jp/「ブックマーク」などに登録していただいている場合は、設定の変更をお願いいたします。
4ヶ月前

ClaudeやChatGPTに独自のUIを表示できるMCP Appsについて。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、CCCMKホールディングスAIエンジニアの三浦です。Model Context Protocol (MCP)という、LLMにToolを提供できる仕組みが広く浸透してきました。そのMCPを拡張したMCP Appsという仕組みがあることを最近知って面白そうだなと感じていました。MCPのToolは基本的にテキストや構造化されたデータを返します。MCP Appsはそれに加え、ユーザーが操作できるUIを提供することが出来、UIを通じてToolの実行結果を可視化したりUI上の操作から別のToolを実行させる、といったことが出来るようになります。MCP Appsを使えば、たとえば「○○な本が読みたいな」といったユーザーの入力をトリガーにChatGPTやClaudeなどのAgentがサーバーから書籍リストを取得し、チャット画面に一覧表示、ユーザーが一覧からアイテムを選択するとそのアイテムの詳細を取得するToolを実行し詳細を表示する、といったことが普段使っているチャット画面から行えるようになります。私自身、一日の中で一番触っている時間が長いのは(ブラウザを除けば)もしかしたらChatGPTやClaude, GeminiのようなAIアプリではないかなと思っています。そういった一番接触時間の長いアプリの中で、ふと「たまにはどっか旅行行きたいな」とつぶやくだけで色々な情報を教えてくれるようになるのって実は結構便利なんじゃないでしょうか。そんなMCP Appsについて調べるために、簡単なアプリを自分で開発してみました。冷蔵庫に余っている食材に応じて献立を考えてくれるアプリです。メニュー情報は全てダミーで固定なので、今のところ豆腐に関する献立しか出せませんが・・・。ChatGPTとの会話の中でふと豆腐が余ってることを思い出し・・・ChatGPTがToolを実行し献立を表示するUIを描画します。違う方向で提案してほしい時はボタンをクリックするだけでOKですMCP Appsを使えばこのようにチャット画面では表現できないような見せ方やインタラクティブにやり取りができるボタンを表示することが出来ます。MCP Appsはどういう仕組みなのかMCP Appsに対応したToolがどのように実行されるのか、MCP Appsのドキュメントの「How MCP Apps work」にフローが説明されて
4ヶ月前

コマースシステムの標準規格「Universal Commerce Protocol (UCP)」について調べてみました。
Vポイントマーケティング|TECH LABの Tech Blog
AI Agentのための「明文化」の必要性こんにちは、CCCMKホールディングスAIエンジニアの三浦です。毎年春になるとどこかそわそわするような落ち着かない気持ちになります。私たちは最近開発周りの「明文化」「可視化」の必要性を感じて取り組みを始めています。タスクの可視化、実装前のissueの発行、開発ドキュメントの作成など、これまでは「暗黙の了解」で済んでいたことを見直し始めています。その理由はAI Agentの性能を最大化するためです。AI Agentにタスクを依頼する際には「暗黙の了解」が通じないものと考えて、これまでのタスクの内容や仕様、開発環境などを明文化してAI Agentが常に参照できるようにしています。その粒度が人によって変わってしまうとAI Agentのタスクの精度がぶれ、成果物の品質にも影響してしまいます。ある程度決まった標準規格の元で明文化することが重要です。さて、最近Agenticコマースという、AI Agentが商品の検索から購入まで代行させるという新しい商取引の形がホットになってきています。普段使っているチャットAgentに「週末どこどこにいくからホテルを予約しておいて」と入力したら、ホテルの検索から予約、支払までAgentを通じて完了できてしまう、そんなことがAgenticコマースでは実現できると言われています。商取引において、さまざまな業態や事業が取引先になりますが、それらとAI Agentがやり取りをする場合、どのような形式で情報をやり取りをし、どのようなフローが手続きを進めるのかを明文化してAI Agentに知らせる必要があります。しかもそれらの仕様が取引先ごとにバラバラだとAI Agentが正確な取引が出来ない可能性も出てきます。AI Agentが商取引に参加するための標準化され、明文化されたルールが必要になります。Universal Commerce Protocol (UCP)Googleが公開しているUniversal Commerce Protocol (UCP)はEコマースにおける事業者間のデータのやり取りやフローを定め、AI AgentがEコマースに参加出来るようにするための取り決め(プロトコル)です。UCPに対応したAI Agentやアプリ(プラットフォーム)はUCPに対応した事業者サービス(ビジネス)と連携し取引を
4ヶ月前

Jetson AGX Orin 32GBに自分専用Claude Code環境を作ってみた。
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、CCCMKホールディングスAIエンジニアの三浦です。私は普段Github Copilotを開発に使っています。一方Claude Codeについては気になっていたもののどこに環境用意しようかな・・・と考えるのにとどまっていました。Claude Codeについて調べていると、Claude Codeはなんと使用するLLMにローカルLLMを設定できることを知りました・・・!ローカルLLMで出来るならトークン消費量を気にせずにClaude Codeを試すことが出来そうです。そして私の手元にはJetson AGX Orin 開発者キット(32GB)があります。Jetson AGX Orin開発キットで色々やった記事はこれまで何個か公開しています。techblog.cccmkhd.co.jptechblog.cccmkhd.co.jptechblog.cccmkhd.co.jpJetson AGX Orin開発者キットJetson AGX Orinであれば小型で場所を取りませんし、たとえOSが壊れたとしてもすぐに修復できます。Jetson AGX OrinでローカルLLMを動かしてClaude Codeも動かせれば自分専用のClaude Code環境を所有することが出来る!・・・そう思って作業を始めたのですが、かなり細かい調整が必要で、想像以上に大変な作業となりました・・・。しかし苦労の果てに、なんとかJetson AGX OrinにClaude Code環境を作ることが出来ました!このClaude Code, Jetsonで動いてます。今回の記事は約2日ほどの苦戦の末にたどり着いた、Jetson AGX OrinでClaude Codeを動かすまでの手順をご紹介します!Jetson AGX Orin開発キット(32GB)の環境使ったJetson AGX OrinにはJetPack 6.2.2をインストールしました。別のUbuntu PCをUSBで接続し、NvidiaのSDK Managerを使ってJetson AGX OrinにJetPackを書き込みました。Claude Codeを動かす構成vLLMでローカルLLMを動かすJetson AGX OrinでLLMを動かすためのライブラリとして、vLLMを今回使いました。docs.vllm.aivLLMはLLMを高速に
5ヶ月前

GPT-5 Codex 5.3とClaude Opus 4.6の画像認識性能比較
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、テックラボの高橋です。今回はGPT-5 Codex(5.2/5.3)とClaude Opus 4.6のVLM(Vision Language Model)性能を比較してみました。Codexのreasoning.effortとClaudeのAdaptive thinkingパラメーターによる推論強度の違いも検証しています。Codex 5.3については、画像理解のベンチマークであるMMMU-Proの結果も取得しました。背景現在のGPT-5 Codexは画像入力に対応しています。コード生成に特化したCodexモデルですが、UIのあるアプリなど、目視でのテストが必要な開発の場合に画像認識をしてくれると便利です。Codex 5.3がVLMとしてどの程度の画像認識能力があるのか気になったので、Claude Opus 4.6と並べて比較検証しました。環境Azure Foundry (GPT-5.2 Codex / GPT-5.3 Codex / Claude Opus 4.6)Python 3.12テスト対象こちらの「いらすとや」の素材を用います。LLMのAPIは、以下のようにPythonから利用します。# Codexurl = f"{endpoint}/openai/responses?api-version=2025-03-01-preview"payload = { "model": "gpt-5.3-codex", "input": [{"type": "message", "role": "user", "content": [ {"type": "input_text", "text": prompt}, {"type": "input_image", "image_url": f"data:image/png;base64,{img_b64}"}, ]}], "max_output_tokens": token_num,}# Claudeurl = "https://{resource}.services.ai.azure.com/anthropic/v1/messages"payload = { "model": "claude-opus-4-6", "messages": [{"role": "user", "content": [ {"type":
5ヶ月前

Agent Skillsについて調べてまとめてみました。
Vポイントマーケティング|TECH LABの Tech Blog
はじめにこんにちは、CCCMKホールディングスAIエンジニアの三浦です。3月になり、今年度もあと1か月になりました。節目の時は色々と考えることが多くなるな、と感じています。Claude Code関連の情報で「Agent Skills」というコーディングAgentをカスタマイズする機能をよく目にします。私自身はGithub CopilotユーザーなのでClaude Codeユーザーじゃないと使えないのかな、と思っていたのですが、Agent Skills自体はオープンスタンダードで公開されているため、AIツールが対応していればClaude Code以外でも利用することが出来ます。もちろんGithub CopilotでもAgent Skillsは利用することが可能です。Github CopilotのAgent Skillsの仕様はVS Codeのこちらのページが参考になりました。code.visualstudio.comClaude Codeで使う時と大きな違いはないと思いますが、Skillsの置き場所にログインユーザーごとだと~/.copilot/skills、プロジェクトごとだと.github/skillsを選べるようになっています。さっそく自分でもSkillsを作ってみよう、と思ったのですが、まずはドキュメントに目を通してみたいと考え、Anthropic社が公開している「The Complete Guide to Building Skills for Claude」というガイドを読んでみました。https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf?hsLang=enまたClaude API Docsの中に掲載されているAgent SkillsのBest practicesのページも参考になりました。platform.claude.com今回はこれらのドキュメントを読んでAgent Skillsについて知ったことをまとめてみたいと思います。Agent SkillsとはAgent SkillsはClaudeやGithub Copilotに特定のタスクやワークフローを実行させるための指示やスクリプトをまとめたものです。SkillごとにSkill名
5ヶ月前

Databricks Jobsでのエラー通知の実装
Vポイントマーケティング|TECH LABの Tech Blog
こんにちは、テックラボの井上です。テックラボでは内製で社内向けのモデリング&スコアリングツールを開発しています。学習・推論エンジンにDatabricks/Notebookを使って開発・運用しています。幸いなことにこれまでエラーは滅多に起きないのでエラー通知機能を実装していなかったのですが、機能追加によりエラーが起きる状況も出てきたためエラー通知機能を実装しました。実装方法として以下の2案を検討しました。それぞれの案について説明をします。案1)Databricksのジョブ機能の活用そして以下のようにタスクに紐づいたNotebookのコードを修正します。後続タスクでget()で取得するときのtaskKeyは依存先のタスク名(Task Name)です。地味にに迷うポイントです。get(taskKey="modeling", key="pkey")taskValuesというものが出てきましたが、案2)IPythonのエラーハンドリング機能の活用import requestsfrom IPython import get_ipython #①def alert_on_teams(shell, etype, evalue, tb, tb_offset=None): #② pj_info = f“fuga fuga" try: message = { … } resp = requests.post( url=“https//hoge.hoge.teams”, data=json.dumps(message), headers={'Content-Type': 'application/json'} ) resp.raise_for_status() except Exception as notify_err: print(f" Teamsに送信できませんでした。") return Noneget_ipython().set_custom_exc((Exception,), alert_on_teams) #③①get_ipythonをインポートして②エラーのときに実行する関数を用意し③ハンドラーの設定という流れでとても簡単です。設計思想面では役割によりNotebook/タスクを分離できる案1がよいのですが、Notebookが2つだけという現状を踏まえ、手軽に対応できる案2を採
5ヶ月前