#
589
2026/1/1
今日のトレンド

ReactとRAG:進化する技術

おはようございます。朝の zenncast のお時間です。MC のマイクです。
今日は、2026年1月2日、金曜日の朝7時台にお届けしていきます。お正月ムードもまだまだ残るなかで、きょうも Zenn に上がっているトレンドの記事を、一緒にゆるっとチェックしていきましょう。

今日は全部で5本の記事をご紹介します。技術ゴリゴリの話から、OSS活動の振り返り、そしてちょっと理論寄りの最適制御のお話まで、幅広くピックアップしてますので、通勤・通学のおともに、ながら聞きでお楽しみください。

まず1本目。
タイトルは「動画編集ソフトを作ってみた!【React】【Rust】」。
これね、内容がかなりアツいです。FrameScript という、React と Rust を組み合わせて自作した動画編集ソフトの話なんですが、「動画を React コンポーネントとして書く」という、いわゆる Remotion 的な発想をベースにしつつ、独自の進化を遂げています。特徴的なのが、アニメーションを async/await で手続き的に書ける useAnimation というAPI。従来よくある「現在フレーム数から数式で位置を計算する」スタイルだと、ちょっとした複雑な演出で頭がこんがらがったりするんですが、この useAnimation だと「ここからここまで、何秒かけてこう動かす」といった流れを、そのままコードで物語のように書ける設計になっています。さらに、アニメーションの情報を事前に全部計算しておいて、任意フレームへのシークを高速にしているあたりも、実用ソフトとしてかなり本気度が高いポイント。裏側では ffmpeg の扱いにだいぶ苦労されていて、ライブラリとしてリンクするのではなく、ライセンスを考慮して外部プロセスとして叩く方式に切り替えたり、Rust 側でワーカースレッドごとに ffmpeg プロセスを立ち上げて連続フレームを取得する構成にしたりと、実装のトライ&エラーがぎっしり詰まっています。React 好き・Rust 好き・動画好き、どの軸から見ても読み応えある記事ですね。
。 。 。

続いて2本目。
タイトルは「RAGの精度が73%から100%に向上した話 ─ チャンキング戦略の比較検証」。
RAG、つまり Retrieval-Augmented Generation の精度をどう上げるか、というど真ん中のテーマです。対象は社内規程の文書で、「暗黙的に別の条文を参照してるケース」とか、「例外規定が本文に埋もれているケース」とか、「否定形の質問」とか、RAG がつまずきがちなパターンをきちんと網羅した評価用データセットを自前で作っているのがまず偉い。で、その上でチャンキング戦略を5パターン試して、精度の違いをガチ検証しています。結果として、スタンダードな1000文字チャンクだと正答率73.3%だったものが、2000文字の Large Chunk 戦略に変えたら唯一の100%達成。理由としては、「一般ルール」と「例外ルール」が別チャンクに分断されてしまうと、検索でどちらか片方しか取れないんだけど、大きめチャンクにしておくと両方が同じ塊に入ってくれる、というシンプルだけど本質的な話なんですね。一方、Parent-Child や Hypothetical Questions みたいなリッチなテクニックは93.3%で頭打ち、Re-ranking に至っては Recall 不足が響いて60%まで下がるという結末。この記事のメッセージとして「RAG はモデルいじりより、データ構造と検索精度が本質」というのが繰り返し語られていて、つい最新モデルに目が行きがちな人にとって、かなり良い目覚ましになる内容です。
。 。 。

3本目。
タイトルは「デジタル署名を TypeScript で学ぶ」。
セキュリティ系の記事なんですが、理論から実装までを TypeScript を軸にすごく丁寧に解説してくれています。デジタル署名って何を保証してくれるのかというと、「改ざんされていないこと」と「誰の秘密鍵で署名されたか」、この2つ。よく「暗号=内容を隠す」と思いがちなんですが、署名はあくまで“正しさの証明”がメインなんだよ、という整理から入ってくれます。具体的には、RSA 署名の仕組みを、ハッシュ関数と公開鍵暗号を組み合わせて説明しつつ、「単純なハッシュ+RSA では存在的偽造の問題があるよね」というところから、ランダムな salt を取り入れた RSA-PSS に話をつなげていきます。さらに嬉しいのが、TypeScript/ブラウザ環境で実際に試してみたい人向けに、Web Crypto API を使った鍵ペア生成・JWK 形式でのエクスポート/インポート、sign と verify の実装フローまできちんと解説されているところ。JWT の署名検証や、パスキーによるパスワードレス認証のような、身近な応用例にも触れていて、「あ、普段何気なく使っているこの仕組み、裏ではこういう署名が動いてるんだ」と腹落ちしやすい構成になっています。フロント寄りのエンジニアで、そろそろ暗号・認証の仕組みを腰を据えて押さえたい、という方にはとても良い入口になりそうです。
。 。 。

4本目。
タイトルは「2025 年、OSS を 3 つ出して「これはこれでええやん」まとめ」。
個人開発・OSS に興味がある人には刺さる記事です。著者の方が2025年に出した3つの OSS、「is-kit」「changelog-bot」「divider」を1年分まとめて振り返っています。「is-kit」は、TypeScript でユーザー定義のタイプガードを書くときに、論理式を LEGO ブロックみたいに組み立てていけるライブラリで、宣言的に型のチェックを書けるのが売り。これがかなり反響も大きくて、あらためて「自分の小さな不満をちゃんと形にすると、ちゃんと届くんだな」という実感を得たそうです。一方で、「changelog-bot」は、AI や CI と連携して CHANGELOG.md を自動生成してくれるツール。自分の他の OSS の運用も一気に楽になったそうで、「これないともう戻れない」系のやつですね。そして3つ目の「divider」は、インデックス指定で文字列分割を一括でやってくれるツールなんですが、string.split() との優位性を十分に示せず、作者さん自身が「便利な失敗作」と評しているのがとても正直でいい。とはいえ、このプロジェクトを通じて優秀なコントリビューションが来たり、OSS 運営の基本を学べたりと、結果としては大きな収穫があったとのこと。2025年は OSS 公開・技術発信・オランダ移住と、かなり攻めた一年だったそうで、2026年は DSA 関連 OSS やゲーム公開を視野に入れつつ、「燃え尽きずに続けること」を目標にしている、という締めも共感度が高いです。「完璧なヒット作を1本」より、「これでええやん」を積み重ねる感じがいいなと思いました。
。 。 。

そして最後、5本目。
タイトルは「確率推論として解く最適制御: モデル予測経路積分制御(MPPI)の理論と導出」。
これはかなり理論寄りで、制御工学やロボティクスに興味がある方に刺さりそうな内容です。キーワードは「Control as Inference」、つまり「制御を確率推論として解釈し直そう」という枠組み。その中の具体例として MPPI(Model Predictive Path Integral Control)というアルゴリズムを、最初の数式からちゃんと導出していくスタイルの記事です。まずは、状態と入力の系列からなる「軌道」のコスト最小化問題として、決定論的な最適制御を定義します。そこから、コストを指数関数で「最適性の確率」に変換することで、「その軌道がどれくらい“良いか”」を確率分布として表現し、それを近似する変分分布を考える、という流れで話が進みます。途中で「軌道分布」ではなく「入力系列の分布 p(A | O=1)」に着目することで、決定論的な状態遷移モデルのもとでは、p(A | O=1) が「事前分布 × exp(−コスト/λ)」の形で書けることを示し、これを“真の最適入力分布”として扱うわけですね。理想的には、この分布からサンプリングして期待値をとればいいんですが、実際には直接サンプルできないので、過去の制御入力などを平均に持つガウシアンを「提案分布」として重要サンプリングを行う。たくさんの入力系列をサンプルして、それぞれのコストから重みを計算し、その重み付き平均で次の平均入力系列 μ* を更新する、というのが MPPI アルゴリズムとして浮かび上がってきます。最終的に、この μ* が「もっともそれっぽい入力列」となり、現実世界の制御入力として使える、というわけですね。数式はそれなりにハードなんですが、「なぜその式になるのか」を丁寧に追っているので、最適制御の理論をもう一段深く理解したい人にはかなり良い教材になりそうです。

というわけで、今日は全部で5本の記事をご紹介してきました。
React と Rust で作る本気の動画編集ソフトの話、RAG をチャンキング戦略で 100% 精度まで持っていった検証、TypeScript で学ぶデジタル署名の基礎と実装、3つの OSS を通じた「これはこれでええやん」な1年の振り返り、そして確率推論としての最適制御 MPPI の理論と導出。かなりバラエティ豊かなラインナップでしたね。

気になった記事があれば、詳しい内容や元の記事へのリンクは、番組のショーノートにまとめておきますので、そちらからぜひチェックしてみてください。
zenncast では、番組の感想や、「こんなテーマを扱ってほしい」「この技術ブログを取り上げてほしい」といったリクエストもお待ちしています。ラジオネームを添えて送っていただけると、番組の中でご紹介させていただくかもしれません。

それでは、きょうも良い一日をお過ごしください。
お相手は、マイクでした。次回の zenncast でまたお会いしましょう。

Related episodes

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