#
695
どうも、マイクです。おはようございます。
2026年4月17日、金曜日の朝7時になりました。ここからの時間は「zenncast」、Zennで今日トレンドの記事を、ゆるっと楽しく紹介していきます。通勤・通学の方は、よかったら耳だけ貸してもらえたらうれしいです。

今日はリスナーのみなさんからのお便りはお休みということで、そのぶんガッツリ記事紹介していきますよ。

さて、今日紹介する記事は全部で5本。要件定義、マルチエージェントAI、自作Chrome拡張、Cloudflare WorkersのPython開発、そして「知識をAIに預ける」という攻めた知的生産術まで、なかなか濃いラインナップです。

まず1本目。
タイトルは「要件定義書の成果物を1枚ずつ解説する記事がなかったので、架空のプロジェクトで自分でつくって解説します」。
システム開発の「要件定義って結局なに作ればいいの?」ってところを、架空の食品商社「Turtle Food」のシステム刷新プロジェクトを舞台に、IPAのガイドに沿って27枚の成果物でぜんぶ見せてくれる、めちゃ実務寄りの記事です。ポイントは、単なるテンプレ紹介じゃなくて「誰が、何を、どの順番で決めるための紙なのか」を徹底的に紐づけてるところ。BR.1でステークホルダー整理と会議体、BR.2で現状業務とデータ、BR.3で課題と原因、BR.4でシステム化範囲とROI、BR.5でTo-Be業務とデータモデル…という流れで、「課題ID→施策ID→機能ID」がちゃんとたどれるようにしてあります。PMOや要件定義に悩んでる人には、そのまま雛形と設計思想がセットで手に入るような内容で、「成果物は埋めるものじゃなくて意思決定のための武器だよね」というのが伝わってきます。現場で迷子になりがちな人ほど、救われる構成です。

。。.。。.。.

2本目。
タイトルは「takt 入門 - AI マルチエージェントオーケストレーションで開発ワークフローを自動化する」。
AIに実装もレビューも全部任せると、「自分で書いたものを自分で褒めちゃう」みたいな自己強化バイアスが出たり、視点が一個しかなかったりするんですよね。逆に、モデルを手動で切り替えながら使うのも面倒。そこで出てくるのが「takt」というツールです。これはAIコーディングエージェントを複数まとめて指揮する、オーケストレーションツール。YAMLでワークフローを宣言的に書いて、「このステップはこのペルソナのAIで、このルールで進めて、ループ監視もここでね」と、全部コードで管理できます。たとえばTDDフローをAI同士にやらせたり、ClaudeとCopilotにクロスレビューさせたりして、片方は実装、片方は読み取り専用でレビュー専任、といった役割分担も可能。無限ループしそうになったら監視で止める仕組みも入れられます。CI/CDに組み込んで、マルチモデル運用を「いつもの開発フロー」に吸収できるのが肝で、「LLMを1体の魔法使いとして見るんじゃなくて、チームとして設計しよう」という発想がよくわかる記事でした。

。。.。。.。.

3本目。
タイトルは「Claude in Chromeが便利すぎて不満だったので、自分専用のChrome拡張を作った」。
これ、エンジニアの本能が爆発してて最高です。公式のClaude in Chromeは便利なんだけど、「モデル固定だしトークンめっちゃ食うし、自分が契約してる他サービス使えない…」というモヤモヤから、筆者は1週間で自作拡張「SiteSurf」を作っちゃいます。Anthropic、OpenAI、Gemini、Copilot、ローカルLLMまで乗っかる、マルチプロバイダーな相棒。サイドパネルからチャットで指示すると、ページの解析・要約だけじゃなく、CDPを使って「人間と同じようにクリックしたり、入力したり」まで自動化してくれる。HTMLやCSV、JSON、画像を生成してプレビューできるArtifacts機能や、サイトごとの抽出ルールを学習していくSkills、プロンプトインジェクション検知なんかも搭載されてます。印象的なのが、「プロダクトに自分を合わせるんじゃなくて、自分の仕事に道具を合わせる自由」をAI時代に強く感じたっていう締め。AIのおかげで、いわゆる“中途半端なエンジニア”でもここまで作れてしまう喜びと、だからこそ職能の境目が溶けていくほろ苦さが、すごく今っぽいです。

。。.。。.。.

4本目。
タイトルは「Cloudflare Workers Python を楽に書きたい!!」。
Cloudflare WorkersでPythonを書くとき、裏側ではPyodide経由でV8上で動いていて、`js`モジュールや`env` bindingが素のJavaScriptオブジェクトで見えてきちゃうんですよね。そのせいで型は弱いし、IDEの補完は効きづらいし、JSとPythonの境界の気持ち悪さを常に意識しないといけない。さらに、使えるライブラリもpure PythonやPyodide対応に限られて、依存をそのままバンドルするとサイズも膨らむ…。そこで筆者が作ったのが「EdgeKit」。三層構成のSDKで、まずはRequest/Response/URLやbindingをPython-firstな型付きAPIでラップして、Pyodide FFIの歪さをアプリから隠します。次に、WSGI/ASGIアダプタやランタイムヘルパーで、Flaskみたいな既存フレームワークをWorkersの実行モデルにブリッジ。最後に、プロジェクト解析してtree-shakingやvendoringをやってくれるbuilderで、safeモードとaggressiveモードを切り替えながら、バンドルサイズを現実的に抑えます。「とりあえず動く」から「ちゃんと開発しやすい」へ、エッジPythonの体験を引き上げようとしているのが伝わる内容で、Cloudflare Workers気になってるPython勢にはかなり刺さりそうです。

。。.。。.。.

最後、5本目。
タイトルは「【LLM Wiki】Obsidian x Claude Codeで学んだ知識を構造化し記憶媒体を脳からAIに移行する」。
これは「知識管理をどうAIと分担するか」という、かなり思想深めの記事です。Karpathyさんの提唱する「LLM Wiki」という考え方がベースで、RAGみたいに毎回ソースを検索・合成するんじゃなく、「LLM自身に長期的なWikiを書かせて、知識をコンパイルして貯めていこう」というアプローチ。生ソース、LLMが管理するWiki、その構造を決めるSchemaの3層と、ingest / query / lint / index+logの4つの操作で回していきます。筆者はこれを、Claude Codeの/skill-creatorでSKILL.mdを作りつつ、ObsidianとWeb Clipperを組み合わせて実装。全体とジャンル別の2層indexでコンテキスト負荷を抑えたり、「新規ページにするか、既存を更新するか、分割するか」を判断するルールを決めたり、「queryの結果をWikiに取り込むかどうか」の基準を設けたりして、技術リサーチ用の運用サイクルをかなり丁寧に設計しています。ユーザーは「情報を集めること」と「問いを立てること」に集中して、記録と構造化はAIに任せる。脳の外側にもう一つの記憶装置を作るような感覚で、「知識をどこに置くか」を真剣に考えたい人には刺さる内容でした。

ということで、今日のzenncastは、
1本目:要件定義27成果物を架空プロジェクトで徹底解説した記事、
2本目:AIマルチエージェントをYAMLでオーケストレーションする「takt」入門、
3本目:不満から生まれた自作Chrome拡張「SiteSurf」の開発記、
4本目:Cloudflare Workers上でPythonを「楽に」書くためのEdgeKit、
5本目:ObsidianとClaude Codeで知識をAI側に積み上げる「LLM Wiki」運用術、
この5本を駆け足でご紹介しました。

気になった記事の詳しい内容は、番組のショーノートにまとめてありますので、あとでゆっくりチェックしてみてください。番組の感想や、「こんなテーマ取り上げてほしい!」といったリクエストも、いつでもお待ちしています。

それでは、そろそろお別れの時間です。
今日もいい一日になりますように。お相手はマイクでした。
また次回の「zenncast」でお会いしましょう。バイバーイ。

Related episodes

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