#
571
2025/12/14
今日のトレンド

ClaudeとW&Bで学ぶ実験管理

どうもー、おはようございます!マイクです。
時刻は朝7時、2025年12月15日、月曜日の朝です。
ここは技術とクリエイティブ好きが集まるラジオ「zenncast」。
この時間は、Zennで今トレンドになっている記事を、マイクと一緒にゆるっと追いかけていくコーナーです。今日も最新の知見を、出勤・通学のおともにお届けしていきますね。

今日は全部で5本の記事をご紹介していきます。
AIに図を描かせる話から、LLMの実験管理、設計の壁打ちプロトコル、Rustで作る高速ファイラー、そしてフロントエンド界隈が大好きなバンドルサイズの話まで、かなりバラエティに富んだラインナップになっています。順番にいきましょう。

まず1本目。
タイトルは「Claude Code に draw.io の図を描かせるコツ」。
これ、AI に図を “描かせる” ってところが、まさに2025年っぽいですよね。記事では、Claude Code に draw.io のXMLを書くところまで任せちゃうときの、ハマりどころとその回避テクが整理されています。

ポイントは大きく3つで、まずは「フォントとボックスのサイズ問題」。
defaultFontFamily に頼らず、テキスト要素それぞれの style にきちんと fontFamily を指定する。さらに、スライドで使う前提なら、フォントサイズを1.5倍くらい大きめにして、そのぶんボックスの幅と高さをちゃんと広げてやる。特に日本語だと、1文字30〜40pxくらいを目安にしないと、文字がギチギチに詰まってしまうわけですね。

次に「矢印とテキストの関係」。
XML上で矢印を先に書いて、レイヤー的には一番後ろにいってもらう。そのうえで、矢印のラベルとは20px以上離す、といったルールを決めておく。テキスト要素をどの図形にくっつけるかも、draw.io の自動スナップ任せじゃなくて、座標でコントロールしていく。
最後に「品質チェックの仕組み化」。
drawio CLI と pre-commit を組み合わせて、.drawio ファイルからPNGを自動生成し、PNGを人間の目とClaude Codeの両方で確認する。こうすることで、「レイアウトが崩れている図がリポジトリに紛れ込む」のを防げる、と。
単に「AIにXMLを書かせる」じゃなくて、テンプレートとチェックリストを用意して、Claudeにも“作法”を守ってもらう発想が、現場で役立ちそうだなと感じました。

。。.。。.。。.。.

続いて2本目。
タイトルは「LLM学習における実験管理入門(W&B)」。
LLMの事後学習、とくにGRPOベースの強化学習プロジェクトを、複数人で長期に回していくときに、どうやって実験を管理したか、というお話です。松尾研の実プロジェクトの知見がベースになっているので、かなり実務寄りですね。

W&Bを普通に使っていると、run名がカオスになったり、Notionと分散して「どの結果が正式なんだっけ?」状態になったり、ログの粒度がバラバラになったりしますよね。記事ではここを、「人の頑張り」じゃなく「仕組み」で解決していきます。

まず、entity / project / run の粒度をチームで定義して、YAMLの設定ファイルのパスから project名、run名、タグを自動で決める。これで命名ルールを“自動化”して、誰がやっても同じ形になるようにしているのがポイント。
さらに、評価結果やベンチのスコア、設定ファイルなどのArtifactも全部W&Bに集約して、「W&Bを見れば完結する」状態を目指しています。

面白いのが、GRPO + Judge LLM の報酬関数の中にWeaveのトレースを差し込んで、ロールアウトと報酬の挙動を細かく観察しているところ。
加えて、W&B Reportsをフル活用して、レポートまで一元管理。
もちろん、W&BのUXやネットワーク依存への不満も正直に挙げつつ、「実験管理は個人の運用に頼らず、コードと仕組みで担保するべき」というメッセージで締めていて、LLM周りのチーム開発をしている人には刺さる内容だと思います。

。。.。。.。。.。.

では3本目。
タイトルは「AI設計壁打ちに使える、小さな合意を積み重ねるプロトコルを作った」。
これは“賢すぎるAI”と設計相談をするときの、あるあるな悩みから出てきたプロトコルです。

相談すると、AIが参考資料を絶対視して、先回りして設計をガチっと固めちゃう。で、ものすごい量のテキストが一気に出てきて、読む側の脳がヘトヘトになる……。そんな経験、ある方多いんじゃないでしょうか。
そこで著者が提案しているのが、「マイクロコミット合意プロトコル」。

やり方としては、実装プロセスをとにかく最小単位にバラして、定数定義とか設定ファイル作成といった“自明なタスク”もぜんぶスキップせず、1個ずつ提示して合意を取っていくスタイルです。
各ステップで出すのは、最大3項目までの具体的な仕様案と、短めの解説だけ。ユーザーが「OK」と明示したものだけを、設計書や意思決定ログに積み上げていく。
これにより、情報過多を防ぎつつ、ユーザーがちゃんと全体像を理解しながら進められるのが狙いです。

Codex with gpt-5.2と組み合わせると、実際かなりうまく機能しているそうですが、一方でマイクロコミットが積もりすぎてくると、後からの整理が大変になったり、「1回3項目だとさすがに進行が遅すぎるのでは?」という課題も出てきていると。
AIとの会話プロトコルを“設計する”というメタな話で、これからAIと一緒に開発していくうえで、かなり重要な視点になりそうな記事でした。

。。.。。.。。.。.

4本目。
タイトルは「【OSS】Rust + gpuiで高速なファイルエクスプローラを作り始めた話」。
MacのFinderにモヤモヤしているエンジニア、多いと思うんですが、その不満をエネルギーにして、新しいファイルエクスプローラ「Nohrs」をRustとgpuiで作り始めた、というストーリーです。

Finderの何がつらいのかというと、検索が遅い&ノイズが多い、テキストファイルをサクッと新規作成できない、ターミナルやエディタ起動、Git状態の確認といった開発者向け機能が弱い、そしてキーバインドやプラグインなど拡張性が乏しい…。
Nohrsでは、ここを思いっきりエンジニア向けに振っていきます。

検索では、最近開いたファイルをスコア高めにしたり、gitignore をちゃんと無視したり、ファイルタイプごとに重み付けして、本当に欲しいものが上に上がってくるように設計。
今後のロードマップとしては、ファイル走査・検索インデックスといったコア機能、タブ・画面分割・プレビューのUI骨格、ドラッグ&ドロップやコンテキストメニューなどの入出力周りを固めていく予定とのことです。
さらには、S3/FTP、Dockerコンテナ内のファイル操作、拡張機能システムまで視野に入っていて、夢が広がりますね。

UIフレームワークにはRust製のgpuiを採用していて、GPU前提のリッチなUIを、immediate と retained のハイブリッドモデルで作っていくスタイル。Renderトレイトで宣言的にUIを書きつつ、Context::listener や cx.spawn といった非同期APIで、安全に状態更新やバックグラウンド処理を回す設計になっています。
大量のファイルを扱うために、gpui componentライブラリの“仮想化リスト”も活用しているということで、パフォーマンス面もかなり意識されていますね。リポジトリはすでに公開済みで、IssueやPRも大歓迎とのことなので、「自分好みのファイラーを育てたい」方は、ぜひ覗いてみてください。

。。.。。.。。.。.

そして最後、5本目。
タイトルは「Tree-shaking に対応したバンドルサイズを計算してくれる Rolldphobia を作った」。
フロントエンド界隈の人にはおなじみの bundlephobia、あれ便利なんですけど、Tree-shaking 前提の現代的な環境だと、ちょっと物足りないんですよね。
そこを埋めるために、以前 mizchiさんが、ブラウザ上で Rollup + Terser を回す shakerphobia を作ったんですが、これも named export にしか対応していないとか、複数パッケージをまとめて計測できない、といった制約がありました。

そこで登場するのが、今回の記事の主役「Rolldphobia」。
こちらは、Rolldown をブラウザ上で動かして、Tree-shaking 後の実際のバンドルサイズを計算してくれるツールになっています。
`@rolldown/browser` を利用していて、SharedArrayBuffer と WebWorker を使ってマルチスレッドに処理。モジュールは esm.sh から取得してきます。
ユーザーが入力した import 文を、エントリーポイント用の export に変換してRolldownに渡すことで、「この使い方をしたときのバンドルサイズ」が測れる仕組みです。

shakerphobia のコードもかなり参考にしているそうで、その系譜を受け継ぎつつ、default export にも対応し、複数パッケージをまとめてバンドルして“実態に近いサイズ”を出せるようにしているのがポイント。
作者は、ぜひ実際に触ってフィードバックしたり、ソースコードを読んでみてほしいと呼びかけていて、ツールとしても、Web上でバンドラーをどう動かすかという実装面でも、学びの多い内容になっています。

。。.。。.。。.。.

というわけで、今日はZennのトレンド記事を5本ご紹介しました。
AIにdraw.ioの図を描かせるときの実践的なコツから、LLM実験管理を仕組み化するW&B運用術、小さな合意を積み重ねる設計プロトコル、Rust + gpuiで作るエンジニア向けファイルエクスプローラ、そしてTree-shakingを考慮したバンドルサイズ計測ツールRolldphobiaまで、一気に駆け足でおさらいしましたが、気になる記事はありましたでしょうか。

詳しい内容や元の記事へのリンクは、番組のショーノートにまとめてありますので、「もっとちゃんと読みたい!」という方は、そちらからぜひチェックしてみてください。
この「zenncast」では、番組の感想や、「こんなテーマの記事も取り上げてほしい」といったリクエストも大歓迎です。ラジオネームを添えて、ぜひ気軽に送ってください。

それでは、そろそろお別れの時間です。
今日も一日、いいインプットといいアウトプットがありますように。
お相手はマイクでした。また次回のzenncastでお会いしましょう。それでは、いってらっしゃい!

Related episodes

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