#
598
2026/1/10
今日のトレンド

MLOps基盤改善やAI会話ログなど

どうも、おはようございます。マイクです。
朝早くからお付き合いありがとうございます。
今日は2026年1月11日、日曜日の朝7時を少し回ったところです。

この番組「zenncast」では、毎回、技術者のみなさんのアンテナにビビッと来そうな、Zennのトレンド記事を楽しく紹介していきます。
今日も、思わず「あとでブックマークしよ…」ってなっちゃうような記事をピックアップしてきましたので、コーヒー片手に、ゆるっと聞いていってください。

さて今日は、お便りはお休みということで、そのぶん記事紹介をたっぷりめにお届けしていきます。

今日ご紹介する記事は、全部で5本です。
MLOpsの基盤改善から、Claudeとの会話ログの自動保存、猫画像のセグメンテーション比較、AIエージェントのスキル設計、そしてVRChatコミュニティAPIの面白い話まで、幅広く揃えてみました。

それでは1本目からいきましょう。

まず1つ目の記事は
「年間500万円以上のコスト削減を実現したのに、どこかむなしいのはなぜか」
というタイトルです。

これ、エンジニアなら「わかる〜!」って膝を打ちたくなるやつですね。
内容としては、機械学習モデルのSHAP値処理をめちゃくちゃ最適化して、lambdaとapplyを多用した非ベクトル化な処理を、numpyのベクトル演算に置き換えたり、intをいちいち文字列に変換していたところを、ビット的なコード化で賢く処理したりして、処理時間をなんと99.99%以上削減した、というお話です。

そのおかげで、EC2のコストが年間およそ444万円も不要になった。さらに、Athenaで毎回重たい中間テーブルをCTASしていた前処理も、本番とテストでうまく切り分けて、テスト環境ではスキップできるようにしたことで、スキャン料金も年間最低でも60万円以上、実際には数百万円レベルで削減できている、というかなりインパクトのある成果なんですね。

合計すると、少なく見積もっても年間500万円以上、現実的には760万円以上のコスト削減。数字だけ見たら大勝利なんですけど、著者の方は「でも、なんかむなしい」と。
理由は、その成果が「問題が起きないようにする」「見えないところを速く安くする」という、いわゆるインフラ・基盤改善だったから。プロダクトの新機能みたいにドーンと目に見える変化ではないので、組織からの称賛も、分かりやすい評価も得にくいわけですね。

MLOpsとかSREとか、「動いて当たり前」な領域ほど、ちゃんと自分で成果を言語化して、分かりやすいストーリーにして、周りに説明して承認を取りにいくのがすごく大事だよ、というのが記事の結論です。
「偉業なのに、黙ってると誰も気づいてくれない」って、あるあるだと思うので、自分の仕事をちゃんと見える化するヒントとして、ぜひ読んでほしい一本です。

。。。。

続いて2つ目の記事です。
タイトルは「Claude Codeとの会話を自動でObsidianに記録する仕組みを作った」。

AIと喋ってると「あの時いいこと言ってたのに、どのセッションだったっけ…」ってなることありませんか?
この著者の方は、Claude Codeとの有益なやりとりが、セッションが終わるとそのまま流れていってしまうのがもったいない、というところからスタートしています。

そこで、Claude Codeが内部的に保存している`session.jsonl`というログファイルを5秒おきにbashスクリプトで監視して、新しい行だけを拾って、jqでパースしていきます。
その中から、ユーザーとアシスタントの発話だけを抽出して、システムメッセージとかローカルコマンドの出力みたいなノイズは捨てる。で、それを日付ごとのMarkdownファイルにどんどん追記していき、Obsidianのナレッジベースとして育てていく、という仕組みです。

タイムスタンプを見て、日付をまたいだセッションもちゃんと日ごとに分けてくれるので、「今日のClaudeとの会話」をあとからまとめて振り返れる。追記方式にしているので、途中でクラッシュしてもロスが少ないし、他のプロセスとの競合も起きにくい。

さらに、MacではLaunchAgentで常駐させて、追記のたびに自動でgit commitして、GitHubと同期。複数のMacでもchezmoiで設定を使い回せるようになっています。
今後は、トピックごとの分類とか、要約の自動生成、スマホアプリでの会話も統合していきたい、という構想も語られていて、「AIとの対話を、ちゃんと自分の知的資産にする」ってこういうことだよなあ、と思わせてくれる記事です。

AIをヘビーに使っている人ほど、「これ欲しかった!」ってなる仕組みだと思います。

。。。。

さあ、3つ目の記事にいきましょう。
タイトルは「毛の一本まで切り抜きたい猫好きエンジニアへ送るセグメンテーション比較」。

タイトルからして最高ですね。
内容は、画像セグメンテーションの代表的な3つの手法、Gemini 2.5、SAM 3、YOLO11を、同じ猫画像で比較している記事です。

まずGemini 2.5。これは自然言語で「この白い猫だけ切り抜いて」とか、「背景だけマスクして」といった、かなり細かい指定ができるのが強みです。会話的にプロンプトを調整できるので、「もうちょっとしっぽまで含めて」とか、人間側の感覚に合わせてチューニングしやすい。ただしAPIベースなので、レイテンシはどうしても出ちゃうよね、という話。

次にSAM 3。これはテキストでの任意指定にも対応しつつ、とにかくエッジの精度がすごい。猫の毛並み、ひげ、ふわっとした輪郭まで、ものすごく細かく切り抜けるのが特徴で、ローカル環境で高精度なセグメンテーションをやりたいときにはドンピシャの選択肢になります。

そしてYOLO11。これはもともと物体検出でおなじみのシリーズですけど、バウンディングボックスに加えてマスクも出せるようになっていて、とにかく高速。対応クラスはCOCOの80カテゴリーに限られる一方で、リアルタイム処理や大量画像の一括処理にはめちゃくちゃ向いている。

記事の結論としては、エッジの精度ならSAM 3、処理速度ならYOLO11、柔軟性と「言葉でどうにかしたい」ならGemini 2.5がベストで、「毛一本まで切り抜きたいのか」「とにかく大量に処理したいのか」「自然言語で楽したいのか」で使い分けるといいよ、という話になっています。

猫好きエンジニアはもちろん、画像処理を業務で使っている人にも、実例つきでイメージしやすい比較になっているので、興味ある方はぜひチェックしてみてください。

。。。。

続きまして4つ目の記事です。
タイトルは「MCPでやる必要のない業務をSkillsに置き換えてトークンと時間の消費を爆減してみた」。

これはQAチームのお話で、テスト分析から設計の中間成果物をMarkdownで書いて、それをMCP経由でZephyrにテストケースとして登録していた、というワークフローにメスを入れた記事です。
課題は、Markdownだと構造が曖昧でレビューしづらいし、修正もやりにくい。それに、Zephyrへの登録をAI+MCPでガッツリやっていたせいで、トークンも時間もかなり食ってしまっていた、という点。

そこで著者は、成果物をまずyamlでしっかり構造化することにしました。これで人間にも機械にも扱いやすくなる。さらに、Zephyrを操作する専用のCLIとPythonスクリプトを用意して、その使い方や業務知識をまとめた「Agent Skills」を定義します。

このSkillsを通じて、AIは「Zephyrにテストケースを登録したい」という自然言語の指示から、裏ではCLIを呼び出して、yamlから一括アップロードする、という流れを半自動で実現できるようになったわけですね。

結果として、数百件のテストケース登録が、ほんの数分で終わるようになり、以前のようにMCPとAIだけに全部やらせていた時と比べて、トークンも時間も大幅に削減できたと。
同時に、汎用的なZephyr操作用のSkillも整備したことで、「このプロジェクトだけの一発もの」じゃなくて、いろんなユースケースで再利用できる基盤になったのもポイントです。

この記事が伝えているのは、「なんでもかんでもAIにやらせればいいわけじゃない」ということ。
人間が考える部分、AIが得意な部分、そして機械的に処理すべき部分をちゃんと分けて、機械的なところはCLIに寄せて共通化し、AIにはSkillという形でそれを渡してあげる。これで、トークンも時間も、そして人間の認知コストも節約できる、という、すごく実務的な知見が詰まった記事です。

。。。。

そして最後、5つ目の記事です。
タイトルは「💭VRChatのAPI事情が面白い話【ぶいちゃ】」。

VRChat、遊んでいる方も多いと思うんですけど、このサービスの面白いところは、APIが公式じゃなくて、コミュニティ主導で整備・公開されているという点なんですね。
中の非公開APIをラップする形でWeb APIが用意されていて、その仕様がOpenAPI Specificationで管理されている。そこから、TypeScript、Python、Rust、C#、Java、Dartなど、各言語向けのSDKがOpenAPI GeneratorとGitHub Actionsで自動生成される、という、ある意味すごく「今っぽい」GitOps的な運用がされています。

SDKに関する不具合も、「その言語のSDKの実装が悪い」のではなく、仕様のOpenAPI定義に原因がありそうなものは、仕様リポジトリ側にIssueを立てる運用になっていて、著者の方もRust SDKで遭遇した問題を、その流れで解決してもらったそうです。コミュニティでAPIとSDKのエコシステムを回している感じが、読んでいてワクワクします。

活用例として紹介されているのが、フレンドがVRChatにオンラインになったら、デスクトップに通知を出してくれるアプリ。フロントはTauri+Vue+Tailwind、バックエンドはRustで、HTTPクライアントにはreqwestベースのRust SDKを使っています。

VRChatのAPIはRESTとWebSocketの両方があって、ユーザー情報の取得やイベント作成なんかはREST、通知やフレンドプロフィールの更新、friend-onlineイベントなどはWebSocketで受け取れる。なので、無駄にポーリングする必要がなくて、かなりスマートに実装できるわけですね。

受信したイベントをもとに、友人ごとに通知の内容や音を変えたり、windowsクレートを使ってネイティブのトースト通知を出したりと、「好きなサービスを、APIとSDKで自分好みにハックする」楽しさがよく伝わってきます。
著者は、VRChat APIはドキュメントも含めてとてもよくできているので、アイデア次第でいろんなツールが作れるし、コミュニティもさらに盛り上がるはずだ、と締めくくっています。

。。。。

さて、ここまで一気に5本ご紹介してきました。
駆け足でおさらいすると、まずは年間500万円以上のコスト削減を実現したのに、見えない基盤改善ゆえにむなしさも伴ってしまう、というMLOpsのリアルなお話。
次に、Claude Codeとの会話を自動でObsidianに蓄積して、AIとの対話をちゃんと自分のナレッジに変えていく仕組み作り。
そして3本目が、Gemini 2.5、SAM 3、YOLO11を猫画像で比べた、毛一本レベルのセグメンテーション比較。
4本目は、MCPに全部任せるのではなく、Agent SkillsとCLIで「AIに向いているところ」と「機械処理すべきところ」を切り分けて、トークンも時間も爆減させたQAチームの事例。
最後5本目が、コミュニティ主導で育っているVRChatのAPIと、そのSDK・ツール開発の面白い世界、というラインナップでした。

気になった記事があれば、詳しい内容はこの番組のショーノートにまとめてありますので、あとでゆっくりチェックしてみてください。

この「zenncast」では、番組の感想や、紹介してほしいテーマ、「こういう記事を取り上げてほしい!」といったリクエストもお待ちしています。
普段どんなふうにZennを読んでいるのか、どんな技術領域に興味があるのか、ぜひ教えてください。

それでは、そろそろお別れの時間です。
今日も聞いてくださって、ありがとうございました。
次回のzenncastで、またお会いしましょう。
お相手はマイクでした。ではでは、良い一日をお過ごしください。

Related episodes

内容の近いエピソードを推薦しています