どうも、zenncastパーソナリティのマイクです。
2026年1月30日、金曜日の朝7時をまわりました。みなさんおはようございます。
この時間は、技術情報プラットフォーム「Zenn」から、今日のトレンド記事をピックアップしてご紹介していきます。コーヒー片手に、通勤・通学のお供に、ゆるっとお付き合いください。
今日はお便りはお休みですので、そのぶん記事紹介をみっちりいきたいと思います。
さて、今日ご紹介する記事は全部で5本です。
AIのマルチエージェントからMarkdownの書き方、データベースのパフォーマンス、Copilotの活用法、そしてデスクトップアプリ開発まで、幅広く攻めていきますよ。
まず1本目。
タイトルは「【続】Claude Codeマルチエージェント:v1.1.0で家老が切腹しかけた話」。
タイトルからしてだいぶ攻めてますが(笑)、内容はかなり本格的です。
Claude Codeとtmuxを組み合わせて、8体の“足軽AI”を指揮する「multi-agent-shogun」という仕組みのバージョン1.1.0で起きたトラブルと、その後の改善のお話です。
何が起きたかというと、コンテキスト圧縮の過程で「家老AI」が自分の役割や禁止事項を忘れてしまい、自分でファイルを作り始めるという“暴走”が発生した、と。そこで、圧縮から復帰するときに、必ず役割や禁止事項を再読させる手順を明文化して、CLAUDE.mdに追記したそうです。
さらに、プロジェクト全体の文脈テンプレートも、足軽の感覚ではなく「LLM専門家ペルソナ5人による熟議」という設定で、7つのセクションに整理。記憶喪失対策としては、Memory MCPとGlobal、Projectという3層のコンテキストを用意して、ユーザーの好みまで永続化する仕組みを導入しています。
面白いのが、将軍AIには「深く考えるな」と明示して、すぐ家老や足軽に判断を委ねる“決裁役”に特化させているところ。スキルもリポジトリに一括で入れるのではなく、ユーザーごとに運用しながら育てる設計にしているそうです。
起動スクリプトには、機能的には意味のないド派手なASCIIアートを入れて、モチベーションを上げる遊び心も忘れない。最終的には「AIチームも人間と同じで、ルールと仕組みと役割分担が大事」という結論に落ち着いていて、マルチエージェントを真面目に運用したい人にはかなり刺さる内容になっています。
。。。。
続いて2本目。
タイトルは「今の時代にマークダウンの書き方を強制すること」。
Markdownって、もともとは人間が読み書きしやすい、ゆるい記法として広まってきましたよね。でも今はAIもMarkdownを読み書きする時代になってきて、その「ゆるさ」が逆に問題になっているんじゃないか、という指摘です。
たとえば、見出しの順序が記事ごとにバラバラだったり、必須のセクションが抜けていたり。“構造の揺れ”があると、AIの出力もブレるし、レビューする人間側の負担も増えるし、自動整形ツールが意図しない書き換えをして事故につながることもある、と。
そこで筆者が作ったのが「mdschema」というCLIツールです。YAMLでMarkdownの“スキーマ”を定義しておいて、その仕様どおりかどうかを検証したり、テンプレートを生成したりできるようにしたものですね。
見出し構造やコードブロック、必須テキストなどを仕様として固定しておくことで、AIへの入力が安定して、レビューコストも下がる。さらに、「AIが勝手に書き換えた」みたいな変更も、CIで検知できるガードレールにしよう、という狙いがあります。
READMEやRunbookの標準化、複数リポジトリ間のドキュメント統一、あるいはAIエージェントの運用にも使えるだろうと。今後はGitHub Actionsのサンプルや、スキーマの分割・継承、エラー出力の改善なんかも視野に入れているそうで、「人間に優しいフォーマット」が「人間とAIの両方に優しいフォーマット」に変わっていく流れを感じさせる記事でした。
。。。。
3本目にいきましょう。
タイトルは「開発者が知っておくべきPostgreSQLパフォーマンス改善Tips 入門10選」。
これはジュニアエンジニア向けに書かれた、PostgreSQLの“まずここを押さえよう”というパフォーマンス改善の入門Tips集です。
クエリの書き方では、まず「WHERE句の左辺のカラムを加工しない」「範囲指定で書いてインデックスを効かせる」といった、SARGableな書き方の基本からスタート。SELECT * は避けて、必要なカラムだけ取得して、Index Only Scanを狙うといった話も丁寧に説明されています。
MVCCの性質上、COUNT(*)は実はけっこう重たい処理だという点にも触れていて、「とりあえずCOUNTしておけばいいや」ではなく、概算やカウンタテーブルを検討しよう、という視点を提示しています。
ページネーションについても、OFFSETを使う方式は、ページが進むごとに“ひたすらスキップする”ことになって遅くなるので、IDを使ったKeyset Paginationを推奨。存在確認はCOUNTやINではなく、EXISTSを使うのがいいよ、というあたりも、実務でよくハマるポイントですよね。
インデックス設計では、外部キーにもちゃんとインデックスを貼ってロックやフルスキャンを防ぐこと、複合インデックスは使用頻度やカーディナリティの高いカラムを左側に置くこと、多くがNULLになるカラムは条件付きの部分インデックスでサイズと更新コストを抑えることなど、押さえておくと差がつくテクニックがコンパクトにまとまっています。
運用面では、log_min_duration_statementを活用して、N+1問題をSQLログから早期に見つけて、Eager Loadingで解消するといった話も。大量INSERTは1件ずつではなく、バルクインサートやCOPYでやりましょう、というあたりも含めて、「デフォルトでも堅牢なPostgreSQLの性能を、実装段階からちゃんと引き出そう」というメッセージが通底しています。
。。。。
続いて4本目。
タイトルは「VS Code + GitHub Copilotで「マルチエージェント」開発をやってみた」。
最近よく聞くマルチエージェント開発、CrewAIとかAutoGenみたいな専用の仕組みを使わなくても、VS CodeとGitHub Copilotだけで“それっぽい体験”ができるよ、という提案記事です。
やり方としては、リポジトリの`.github/agents/` 配下に、Orchestrator、Planner、Architect、Coder、Tester、Reviewer、Securityといった役割ごとのMarkdownプロンプトを用意しておきます。それぞれに人格とかルールを書いておいて、Copilotに「今はこのエージェントとしてふるまってね」と読ませることで、専門家チームを構成するイメージですね。
人間はCopilot Chat上で、そのエージェント間の“バトン”を手動で渡していきます。設計から実装、テスト、レビューまで、段階を踏みながら進める半自動スタイルです。
メリットとしては、設計レビューや品質チェック、セキュリティ確認といったプロセスを、チームで標準化しやすいこと。逆に課題としては、並列実行ができないので手順が増えること、トークン消費が多くなること、どのエージェントの指示で何が起きたのか追いにくい、という点も正直に書かれています。
結論としては、品質重視の新機能開発や、複雑なリファクタリングには向いているものの、スピード重視の単純タスクにはあまり向かない。とはいえ、既存のVS Code + Copilot環境に`.github/agents/`を足すだけで、チーム全体のレビュー基準を揃えられるのは大きな魅力で、「まずはCoderとReviewerの2役から試してみよう」と現実的な入り口も示してくれています。
。。。。
そして5本目。
タイトルは「Electronはもう古い?Tauri v2でデスクトップアプリを作ったら最高だった話」。
デスクトップアプリ開発といえば、これまではElectronが定番でしたが、サイズが大きい・メモリを食う・起動が遅い、という不満を持っている方も多いと思います。筆者も、画像圧縮やクロップ機能を備えた「Karui」という高機能アプリを作るにあたって、Electronだとアプリサイズ150MB超、リソース消費も厳しいということで、Tauri v2に乗り換えたそうです。
Tauriは各OS標準のWebViewを使うので、アプリサイズは数MB台に収まり、起動も速い。フロントエンドはReactなどのWeb技術で書けて、重い処理やファイル操作だけRustで書けばOK、という構成になっています。コード量もTypeScript中心で済むので、Rustは“要所だけ”というのもポイントです。
Rust側の関数はinvokeで呼び出せて、ドラッグ&ドロップやファイルダイアログの実装も比較的簡単。重い処理はRayonなどで並列化してパフォーマンスを出していくこともできます。
一方で最大のハマりどころが、macOSのコード署名と公証。Apple Developerアカウントの準備から、証明書やAPIキーをGitHub Actionsに仕込むところまで、最初はなかなか骨が折れる部分です。ただ、`tauri-apps/tauri-action`のおかげで、一度セットアップしてしまえば、タグをpushするだけで署名済みのmacOS/Windows版を自動ビルドしてリリースできるようになる、と。
さらにTauri v2では、署名付きアーティファクトと`latest.json`を用意すれば、自動アップデート機能も実現可能。アプリサイズやリソース効率、Rustエコシステムを重視する人には強力な選択肢になる一方で、既存のElectron資産が大きかったり、Rustをあまり触りたくないチームには向かないかもしれない、とバランスよくまとめられています。
というわけで、今日は全部で5本の記事をご紹介しました。
AIのマルチエージェント運用で“家老が記憶喪失になる”話から、Markdownをスキーマで固めるmdschema、PostgreSQLパフォーマンス入門、Copilotでのマルチエージェント的な開発、そしてTauri v2による軽量デスクトップアプリまで、どれも現場でそのまま使えそうなヒントが詰まっていましたね。
気になった記事があれば、ぜひショーノートから元の記事もチェックしてみてください。
番組の感想や、「こんなテーマを掘り下げてほしい」といったリクエストも大歓迎です。あなたの開発現場の悩みや、最近ハマっている技術なども、ぜひ教えてください。
それでは、今日も良い一日をお過ごしください。
お相手はマイクでした。また次回のzenncastでお会いしましょう。