#
713
どうも、マイクです。おはようございます。
2026年5月5日、火曜日の朝7時を回りました。ここからの時間は「zenncast」、Zennで今日トレンドの記事をゆるっと、でも中身はしっかりめに紹介していきます。通勤中の方も、おうちで支度中の方も、よかったら最後までお付き合いください。

今日はお便りコーナーはお休みで、そのぶん記事紹介をぎゅっと濃くいきたいと思います。

さて、今日紹介する記事は全部で5本です。AIの裏側の仕様から、GitHubのセキュリティ、学生さんの自作OS、JavaScriptの新しい日付API、そしてデータエンジニア視点のオントロジーまで、かなり幅広いラインナップになっています。

まず1本目。「あなたのClaude CodeのWebFetch、実はWebをちゃんと読んでいない」という記事です。
タイトルからしてインパクトありますが、内容もなかなか攻めています。Claude CodeでWebFetchを使うと、「指定したURLのページをがっつり読んでくれている」と思いがちなんですが、実は多くの場合、直接原文を読んでいるわけではなくて、小さいモデルのHaikuが英語で要約した結果だけを、上位のモデルに渡している、という仕組みになっているそうなんですね。画面に出てくる「Received ○○KB」という表示も、取得したサイズであって、「モデルが全部読んだテキスト量」ではない、と。で、全文をそのまま読んでくれるのは、Markdownであること、信頼ドメインであること、10万字以下であること、という結構厳しめな3条件を満たしたときだけ。しかも著作権保護のために、原文まる写しは内部プロンプトで抑制されている。設計としてはコスト・セキュリティ・著作権への配慮で合理的なんだけど、「全部読んでる風」に見えてしまうUIが誤解を生むよね、という問題提起です。なので、本当に一次情報をちゃんと確認したいときは、curlや外部ツール、MCP経由で自分で取りに行こう、という話。AIに任せるときの「どこまでを信用するか」の線引きを考えさせられる記事でした。

。。。。

続いて2本目。「GitHubに機密情報をpushしてしまった日のために — 無効化、履歴除去、多層防御の組み立て方」。
これはもうタイトルがすべてを物語ってますね。「やっちゃった日」の教科書。記事ではまず、「無効化」と「履歴除去」をきっちり分けて考えよう、と言っています。APIキーやトークンみたいに再発行できる認証情報は、とにかく先にrevoke・rotateして止める。ここだけでリスクがだいぶ減るケースもある。一方で、個人情報とか顧客データ、秘密鍵、証明書みたいに「一度出ちゃうと取り返しがつきにくいもの」は、履歴を書き換えるだけじゃ足りなくて、PRの表示、forkやcloneされた先、CIのログやartifact、バックアップまで含めて徹底的に追いかける必要がある、と。で、予防と事後対応を多層で組み立てるのがポイントです。コミット前のgitleaksやgit-secrets、push時のPush Protection、PRやCIでのスキャン、既存履歴の調査、git-filter-repoやBFGでの削除、GitHubサポートとの連携…というふうに、レイヤーごとに守りを入れていく。インシデント対応のランブックも、①即時無効化、②スキャンで範囲特定、③履歴書き換え、④検証、⑤force pushとGitHub側の後処理、⑥再汚染防止のためにみんなにre-cloneしてもらう、という具体的なステップまで書かれていて、組織でそのままテンプレにできそうな内容です。「なんでもかんでも履歴削除すればいいわけじゃないよ」という線引きの話も含めて、GitHub使ってるチームなら一度読んでおきたい記事ですね。

。。。。

3本目はちょっと雰囲気変わります。「中学生が趣味で開発しているOS、mochiOS」。
これ、読んでてめちゃくちゃワクワクしました。中学3年生の筆者さんが、Rustでx86_64向けの自作OS「mochiOS」を作っている、というお話です。きっかけは「OSとかブラウザって、そもそもどう動いてるんだ?」という純粋な疑問から。既存の自作OSを触ってみたらクラッシュしやすかったり、実用にはちょっと厳しい部分も見えたので、「できるだけクラッシュしない、実用レベルのOS」を目標に再設計したそうです。中身がすごくて、UEFIブートローダから始まって、メモリ管理、スケジューラ、システムコール、プロセス間通信、ext2ベースのルートファイルシステム、サービスやドライバのマネージャ、シェルや基本コマンド、さらにLinuxバイナリ互換まで実装済み。設計も凝っていて、カーネルは特権処理を最小限にして、サービス管理はユーザーランドのcore.serviceに任せるハイブリッド構成。将来的にはサービス単位での再起動や自動復旧も視野に入れていると。安全性を高めるために、ユーザーポインタの検証や、メールボックス型のIPCを採用しているあたりも、かなり堅実です。さらにWayland風のコンポジット型ウィンドウサーバ「Kagami」と、UIツールキット「ViewKit」まで開発中ということで、「壊れにくく、壊れても直せるOS」を目指しているとのこと。中学生でここまで設計思想を言語化しているの、本当にすごいですね。将来が楽しみすぎます。

。。。。

4本目。「Temporalのpolyfillをゼロから実装した」という記事です。
JavaScript界隈の方にはおなじみ、次世代の日時API「Temporal」。便利なんですが、まだブラウザやランタイムのネイティブ対応が十分じゃないので、polyfillに頼る場面が多いですよね。この記事の筆者は、既存のTemporal polyfillが「重い・古い・バグが多い」といった不満を抱えていて、それならいっそ自分で作ろう、と「temporal-polyfill-lite」をゼロから実装したというお話です。狙いとしては、最新仕様に準拠しつつ、TypeScriptの公式型と互換を保ち、しかもバンドルサイズを小さくすること。実装方針もおもしろくて、仕様をほぼ逐語的にコードに落とし込みながら、BigIntには依存しない内部表現を工夫したり、プロパティのmangleや式指向の書き方でサイズ削減を徹底したりしています。デフォルトではISOとグレゴリオ暦だけに対応して、他の暦は必要な人だけcustom条件で追加できるようにするなど、現実的な割り切りもされてますね。タイムゾーンは一通りサポートしつつ、テストもかなりしっかり用意してあって、現時点では「最新仕様に一番忠実で軽量なpolyfill」を自称できる仕上がりとのこと。Temporalが各環境にネイティブ実装されるまでの数年間を支える「つなぎ」として、バックエンド・フロントエンドどちらにも使える選択肢を提供したい、という位置づけです。日付・時刻の扱いで毎回悩んでいる方は、要チェックの内容です。

。。。。

そして5本目。「データエンジニアがオントロジーを触って、導入可能性に思いを馳せてみた」。
オントロジーって言葉、最近AI文脈でもよく聞くようになりましたが、「なんとなく難しそう」で止まっている人も多いんじゃないでしょうか。この記事では、オントロジーを「概念の構造的定義」として捉えて、その中でもどこまで形式論理を取り込むかで、「軽いオントロジー」と「重いオントロジー」のスペクトラムがあるよ、という話から入っています。具体的には、軽い側の例としてMicrosoft Fabric IQ、重い側としてOWLベースのProtégéを比較。Fabric IQはOneLake上のバラバラなデータを、「売上」「顧客」「商品」みたいなビジネス概念のグラフで統合して、AIエージェントが構造的に参照できるのが強み。でも推論能力は弱くて、整合性チェックは人間のレビューに頼りがち。一方Protégéは、集合論や記述論理を背景にしたOWLと推論エンジンで、自動分類や不整合検出ができる。ドメインの暗黙知や複雑なルールも、かなり厳密に表現できるけれど、そのぶん運用ハードルは高い、と。結論としては、「導入のしやすさ」と「厳密な推論」のトレードオフがあって、ビジネスドメインがシンプルなら、Semantic Layer+アナリスト対応くらいで十分なケースも多い。逆に、ドメインが複雑だったり、AI活用が中核になるなら、まずは軽いオントロジーから始めて、必要に応じて重いほうへ段階的に寄せていくのが現実的だろう、というまとめになっています。「うちにオントロジーって必要?」とモヤモヤしているデータエンジニアさんには、いい思考整理になりそうな記事でした。

というわけで、今日は全部で5本の記事をご紹介しました。
ざっとおさらいすると、1本目はClaude CodeのWebFetchが意外と全文を読んでいない、というAIツールの裏側の話。2本目は、GitHubに機密情報をpushしてしまったときの無効化と履歴除去、多層防御の組み立て方。3本目は、中学生がRustで開発する「mochiOS」という自作OSの野心的な設計。4本目は、Temporalの軽量polyfillをゼロから実装したエンジニアの工夫と狙い。そして5本目は、オントロジーを実務目線でどう導入するか、軽量〜重量のスペクトラムで考えるお話でした。

気になった記事があれば、詳しい内容や元の記事へのリンクはショーノートにまとめてありますので、あとでゆっくりチェックしてみてください。
「zenncast」では、番組の感想や取り上げてほしいテーマ、MCマイクへの質問もいつでも募集しています。技術のちょっとした悩みから、キャリアの話まで、気軽に送ってもらえたらうれしいです。

それでは、そろそろお別れの時間です。
今日も聞いてくれてありがとうございました。次回の「zenncast」でまたお会いしましょう。
お相手はマイクでした。それでは、いってらっしゃい。

Related episodes

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