どうもー、おはようございます。マイクです。
時刻は朝7時を少し回ったところ、今日は2026年3月5日、木曜日です。
ここからの時間は「zenncast」、Zennで話題になっているトレンド記事を、ゆるっと楽しくご紹介していきます。通勤・通学のおともに、コーヒー片手に、最後までお付き合いください。

今日はですね、お便りコーナーはお休みで、そのぶん技術ネタをみっちりお届けしていきます。
紹介する記事は全部で5本。Claude Code、RAG、MCPセキュリティ、そして最近アップデートが活発なCodeXまで、幅広く拾っていきますよ。

まず1本目。
タイトルは「わざと汚く書いたコードを /simplify に渡したら半分以下になった」。
これはClaude Codeのビルトインスキル「/simplify」が、どこまで既存コードをキレイにしてくれるのかを検証した記事ですね。
Next.jsとTypeScriptで、あえて「ちょっと嫌な書き方」を詰め込んだタスク管理ダッシュボードを用意して、それを/simplifyに丸ごと渡してみたらどうなるか、というチャレンジ。結果として、7ファイルで467行削除・208行追加、トータルでコード量が半分以下になったそうです。
なにをやっているかというと、/simplifyの裏側では「Code Reuse」「Code Quality」「Efficiency」という3つのエージェントが並列で、最近の変更をレビューして自動修正してくれます。重複していたformatDate関数やラベル・カラーの決定ロジックを共通化したり、ゆるゆるの型をunion typeに変えて安全性を上げたり、長いif/elseチェーンをRecordでの参照に置き換えたり。さらに、バブルソートをArray.sortに置き換えたり、forループをfilterやmapに変えて計算量を減らしたり、useMemoで不要な再計算を抑えたりと、「ちゃんとやるとこうなるよね」というリファクタリングを、まとめて一気にやってくれる感じです。おまけに、削除APIの成功・失敗判定のバグまで直してくれたということで、「動くけど汚い」状態から、レビュー前にかけておくセルフチェックツールとしてかなり実用的そうです。逆に、アーキテクチャを根こそぎ変えるような大手術は守備範囲外、と線引きしているのもポイントですね。プロトタイピングで雑に書いたあとに「とりあえず/simplifyしとくか」が、これからの開発ルーティンになりそうな一記事です。

。。。。

続いて2本目。
タイトルは「CLAUDE.mdに本当は何を書くべきなのか」。
Claudeユーザーの方なら一度は目にしたことがあるであろう「CLAUDE.md」。これを「System Promptみたいなもの」と思って、ルールや規約を全部ここに詰め込んでいませんか?という問いかけから始まる記事です。
ポイントは、CLAUDE.mdはSystem Promptではなく「セッション最初のUser Messageとして読まれるだけ」という位置づけ。なので「絶対守ってほしい全体ルール」をここに全部書いても、会話が進むにつれて影響力は薄れていってしまう、と。じゃあ何を書くのがいいのかというと、「セッション開始時の作業を助ける情報」に絞ろう、という提案です。
具体例としては、プロジェクトの概要、モジュール構成、セッション開始時に毎回やってほしい手順など。逆に、テスト方針やコーディング規約、コミットメッセージのフォーマットといった「継続的に効いていてほしいルール」は、`.claude/rules/`以下のconditional rulesとして分離するのがよいとされています。`.claude/rules/`は、対象ファイルを最初に触るタイミングで新しいメッセージとして注入されるので、まさに「今からこのファイルやるよ」という瞬間に効くんですね。
この記事では、CLAUDE.mdを「Session Start Hook」と捉え直して、毎回の会話の冒頭で本当に必要なことだけを短く伝える場にしよう、と整理しています。ルール過多で混乱してきたプロジェクトほど、一度見直す価値がありそうです。

。。。。

3本目。
タイトルは「Claude Code / MCP を安全に使うための実践ガイド ── 8桁後半の被害事例から学ぶ」。
これはかなりヘビーな内容で、Claude CodeとMCPツールを使っている環境で、Google広告マネージャーが乗っ取られて「8桁後半」の被害が発生したケースをもとに、セキュリティ対策を解説している記事です。金額のインパクトもですが、「AIツール周りの設定だけでこんなことが起きうるのか」というリアリティを突きつけられます。
紹介されている攻撃ベクトルは4つ。間接プロンプトインジェクション、プロンプトサプライチェーン攻撃、MCPの権限悪用、そしてクレデンシャルリーク。これらに対する中核の対策として挙がっているのが、`~/.claude/settings.json`のパーミッション設計です。
具体的には、まず`disableBypassPermissionsMode`を"disable"にして、権限確認をバイパスするような挙動を封じること。それから`enableAllProjectMcpServers`をfalseにして、プロジェクトごとのMCPサーバーを自動で全部有効にしないようにする。さらに、`Bash(python3 *)`や`Bash(node *)`のような広すぎるallowルールを削って、curlやwgetといったネットワーク系コマンドはdeny側に回す。秘密情報が入っているファイルパスへのBash経由アクセスも遮断しよう、というかなり具体的なガイドです。
あわせて、怪しいCLAUDE.mdやsettings.json、.mcp.json、MCPサーバーの中身をちゃんとレビューすること、`.env`や各種認証情報をGitに混ぜないこと、不要なMCPを削除すること、そして脆弱性修正版へのアップデートを怠らないことがチェックリストとして挙がっています。メッセージとしては、「最小権限」「お金が動くサービスは分離」「信頼境界を常に意識」という、クラシックだけど今こそ重要な原則を、AIエージェント時代にアップデートしていこうという内容になっています。

。。。。

4本目。
タイトルは「【RAG ベストプラクティス探索】Reranker用のモデル比較とコスト削減実験」。
RAG構成でよく悩みどころになる「Reranker、何を使るべき問題」に、かなり実験ベースで踏み込んだ記事です。比較しているのは、大きく「Cross Encoder型」のRerankerと、「汎用LLM型」のRerankerの2系統。
評価にはJQaRAと自社のMulti-hop FAQを使っていて、結果としては精度面では概ね拮抗。ただし、表層的な類似度が効くシンプルな質問ではCross Encoderが安定して強くて、複数条件を読み解いたり要件分解が必要なMulti-hopな質問ではLLM型がやや有利、という整理になっています。一方でレイテンシとコストを含めた運用のしやすさで見ると、Cross Encoderは高精度を維持しようとするとGPU前提になりがちですが、大量トラフィックには向いている。LLM型はAPI前提なので、小〜中規模トラフィックでの運用や、GPUを持たないチームには扱いやすいと。
記事の面白いところは、LLM Rerankerの「コスト削減テク」がかなり具体的に紹介されている点です。ひとつ目が段階的Rerankingで、たとえばGPT-4.1-miniのような軽量モデルで候補をまず絞り込んでから、高性能モデルで最終ランク付けをするやり方。とくに「Partial-Filtering」と呼んでいる手法では、下位クラスタだけを軽量モデルで再評価することで、トータルのコストを約3割削減しつつ精度をほぼ維持できたそうです。
ふたつ目がAdaptive Early Stopで、候補のリストを分割して、途中の段階で「ここまでで十分な情報が揃ったか?」をLLMに判定してもらい、十分ならそこで処理を打ち切るというもの。これがうまくハマるクエリセットでは、約4割のコスト削減につながった、と。前者は安定性と実装のしやすさ、後者はクエリ難度がそこまで高くないケースでの削減率という強みがあり、トラフィック規模と質問の性質に応じて使い分けよう、という提案になっています。

。。。。

最後、5本目。
タイトルは「備忘録 : CodeXでいくつか機能が追加された」。
これは2月初旬から3月初旬にかけてのCodeXのアップデートを、著者の視点でコンパクトにまとめた備忘録です。「最近CodeX追えてないな〜」という人向けのダイジェストとしてかなり便利な内容になっています。
まず目を引くのが、TUIでの音声入力対応。config.tomlでの設定と、スペース長押しで、文字起こしプロンプトをそのままワークフローに組み込めるようになっています。ターミナル派だけど音声入力も活かしたい人にはうれしいところですね。
次に、マルチエージェント機能。configから有効化すると、最大スレッド数やネストの深さを指定しつつ、並列実行やサブエージェントの生成、スレッドフォークといった、けっこう本格的なエージェント編成ができるようになったようです。大きめのタスクを分解して任せるような使い方が想像できます。
操作面では、直前の回答をコピーする`/copy`、画面を一掃する`/clear`やCtrl+L、テーマの選択など、日々触るうえで地味に効いてくる改善がまとまっています。著者の個人的な設定としては、planモードのreasoningをxhighにしてじっくり考えさせたり、AGENT.mdがないときにCLAUDE.mdを読むようにフォールバックするなど、運用ノウハウ的な話も紹介されています。
バージョンごとの変更としては、権限フローやネットワーク承認の整理、コミットの共著者管理、TUIの視認性改善、インストール体験やthread APIの強化、リアルタイム音声やツール出力のマルチモーダル対応、メモリやスレッド周りの改善まで、かなり広範囲に手が入っている印象です。「最近アップデート多すぎて追えない」という人が、まず全体像を掴む入り口として読みやすい記事になっています。

。。。。

というわけで、今日のzenncastでは、
・汚コードを/simplifyに投げたら行数が半分になった、Claude Codeのリファクタリング力のお話。
・CLAUDE.mdは「永続ルール置き場」じゃなくて「セッション開始フック」として設計しようという話。
・8桁後半の被害事例から学ぶ、Claude CodeとMCPの具体的なセキュリティ対策。
・RAGのRerankerでCross EncoderとLLMを比較しつつ、賢くコストを削る実験結果。
・CodeXのここ数週間のアップデートを、一気に振り返る備忘録。
この5本をご紹介しました。

気になった記事があった方は、詳しい内容はショーノートにまとめてありますので、あとでゆっくりチェックしてみてください。
番組への感想や、「こんなテーマも取り上げてほしい」といったリクエストも、どしどしお待ちしています。あなたの一通が、次回のラインナップを決めるかもしれません。

それでは、木曜日の朝、そろそろお別れの時間です。
ここまでのお相手はマイクでした。
次回のzenncastでまたお会いしましょう。いってらっしゃい!

Related episodes

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