sue@blog ~ /posts
$ ls -lt posts/

Technical Blog

技術的な知見とプロジェクトの学びを共有


トラブルシューティング

Macが自分で自分を再起動した — WindowServer監視タイムアウト・パニックの解剖

深夜、48GBのM4 Proが突然カーネルパニックで再起動。犯人はハード故障ではなく、画面サーバー(WindowServer)が120秒応答しないのを検知して機体ごと落とすmacOSの安全装置だった。パニックログ・Jetsam・4連発したスピンダンプから、GPUを奪ったローカルLLMと大量の並列プロセスに辿り着くまでの解剖記録。前回の「スワップ地獄」の続編。

WindowServer Kernel Panic macOS
AIエージェント

AIエージェントは「賢さ」だけでは動かない — 個人のハーネス設計とLoop Engineering

AIエージェント=Model(賢さ)+Harness(環境)。同じモデルでも環境設計で成果は変わる。コンテキスト/アクション/フィードバック/運用の4層ハーネス設計、Skill設計の実践パターン、Agent Team、そして人の承認ゲートを必ず挟むLoop Engineeringの設計を、会社固有の事情に触れず一般化して整理。

AIエージェント ハーネス Loop Engineering
macOS

iPhoneをUSB-Cでテザリングしていたら、Macが目の前で再起動した

iPhoneをUSB-Cテザリング中にMacが突然カーネルパニックで再起動。panicログの m_copym_with_hdrs / copy overflow を読み解き、直前ロードされた USBテザリング用ドライバから原因を特定するまでの記録と、効く順に並べた5つの対策を解説。

カーネルパニック macOS iPhone
ローカルLLM

48GBのMacがスワップ地獄に落ちた — ローカルLLMの21GB暴走を追跡して止めるまで

スワップ31.7GB中30.4GBを使い切って停止寸前。犯人はCPU 0%のまま21.5GBを握り続けるollamaのrunnerだった。ps・lsof・PPIDで引き金まで辿った追跡の全記録と、途中で犯した3回の勘違い(Ghostty犯人説/殺したのに死んでいない/親を殺しても止まらない孤児プロセス)、そして効く順に並べた9つの対策を数字付きで解説。

ollama macOS Troubleshooting
AI活用

AIアウトプットの認知負荷を下げる設計

AIの出力は「正しいか」だけでなく、読む側がどれだけ少ない負荷で理解し、判断し、次の行動に移れるかまで設計する必要がある。結論先出し、差分設計、前提分離、段階開示、選択肢の圧縮、検証可能性の明示など、AIアウトプットの認知負荷を下げる実務パターンを整理。

AI 認知負荷 情報設計
A2A設計

Agent-to-Agent設計 ①全体像 — なぜマルチエージェントか、MCPとA2Aの地図

エージェント同士を連携させるA2A設計を3回連載で整理。第1回は全体像。なぜ単一では足りず、逆にどこなら単一で十分か(濫用の戒め)を押さえ、設計を4層(プロトコル・オーケストレーション・通信/状態・信頼性/セキュリティ)の地図に落とす。混同されがちなMCP(縦)とA2A(横)の役割分担も明確化。図解2点。

A2A マルチエージェント 考察
設計パターン

Agent-to-Agent設計 ②設計パターンカタログ — オーケストレーション・トポロジ図鑑

設計パターンを体系的に棚卸し。オーケストレーション・トポロジ(Orchestrator-Worker・階層・Swarm/Handoff・Pipeline・Blackboard・Contract-Net・Debate・Map-Reduce)を図鑑と比較表で整理し、A2Aの中核(Agent Card・Task・3つの更新モード)、通信・状態受け渡しの4軸トレードオフ、コンテキスト分離まで掘り下げる。

トポロジ A2A 設計
実装

Agent-to-Agent設計 ③実装編 — フレームワーク選定・失敗モード・セキュリティ

実装編。LangGraph・CrewAI・AutoGen・OpenAI Agents SDK・ADK・Claude Agent SDKの設計思想と選定基準、作業+レビューのペア構成、ファイル経由handoff、人間承認ゲート、モデルルーティング。さらにマルチエージェント特有の失敗モード(MAST)・誤り伝播・観測性(OTel)・セキュリティ(信頼境界・間接インジェクション・CaMeL)まで。図解2点。

マルチエージェント MAST 実装
LLM検証

LLM出力の検証 ①全体像 — 「もっともらしい嘘」をどう捕まえるか

LLMの出力がおかしなことを言っていないかを検証する技術を3回連載で整理。第1回は全体像として、検証すべき「おかしさ」を5種類(事実誤認・文脈不忠実・自己矛盾・指示逸脱・不適切)に分解し、手法を4系統(リファレンス不要・リファレンス有り・ジャッジ系・実行時ガードレール)の地図に落とす。銀の弾丸は無く多段防御で組む、という実装の勘所まで。図解2点。

LLM ハルシネーション 考察
手法カタログ

LLM出力の検証 ②手法カタログ — 自己一貫性・検索照合・ジャッジ・ガードレール

検証手法を体系的に棚卸し。SelfCheckGPT・意味的エントロピー(Nature 2024)・SAPLMA、FActScore・SAFE・RAGAS・MiniCheck・HHEM、LLM-as-judge・G-Eval・Chain-of-Verification、Guardrails AI・NeMo・Llama Guardまでを、分類ツリーと網羅比較表で整理し「どれをいつ使うか」を判断できるようにする。

ハルシネーション RAG 評価
実装

LLM出力の検証 ③実装編 — 多段防御パイプラインの組み立て

手法を1本のパイプラインに組む実装編。安価→高価の多段防御(決定論ルール→軽量シグナル→LLM-as-judge→人手)をコードに落とし、オフライン回帰テストとオンライン監視で二層化、HITL(人手レビュー)で継続改善ループを回す。構造化出力・MiniCheck・CI/CDゲートの実装パターンと、コスト爆発や非英語の落とし穴まで。図解2点。

LLM 多段防御 実装
フォント

画像生成AIで“狙ったフォント”を画像に入れる — 名前指定は効かない、確実なのは合成

特定のフォントを画像内に使いたいとき何が効くかを実機で検証。フォントの名指し(Noto Sans JP等)は効果なし、style語(明朝/ゴシック/丸ゴ/筆)は系統まで、確実なのは文字なし背景+実フォント合成(決定論・毎回バイト一致)。グリフ被覆の落とし穴と参考画像での転写も実験。漢字崩れシリーズ実践編。

生成AI フォント gpt-image
モデル比較

画像生成AIのフォント挙動はモデルで変わる? — gpt-image-2 vs gpt-image-1.5

フォントの効き方はモデルで変わるのか。gpt-image-2 と gpt-image-1.5 を同条件で比較。style語は両モデルで効く、参考画像はどちらでも当てにならない、丸ゴの逆効果はgpt-image-2に強い(モデル依存)、gpt-image-1.5はopaqueでも文字が崩れる(30枚中2枚)。漢字崩れシリーズ・モデル比較編。

生成AI フォント モデル比較
和欧混植

画像生成AIは和欧混植(漢字+英数字)で日本語を乱す — 「第2回 Vol.3」が「S2口 VoL3」になる話

漢字・全角・半角英数字が混ざるタイトルは、漢字も英数字も一緒に崩れる。「第2回AIフェス Vol.3」→「S2口AIフェス VoL3」。gpt-image-2・不透明での解消とフォント合成を実験で示す。周辺日本語トラブル編A。

生成AI 和欧混植 gpt-image
異体字

画像生成AIは異体字・旧字体を別の字に正規化する — 「髙」が「高」になる話

髙(はしごだか)や圖・賣などの異体字・旧字体は、よく見る常用字体に正規化されて別の字になる。人名で致命的になる現象を実験で確認し、gpt-image-2での維持とフォント合成を示す。周辺日本語トラブル編B。

生成AI 異体字 gpt-image
検証

濁点・小書き・長音は本当に崩れる? — よく言われるかなトラブルを実験したら大半が杞憂だった

「濁点が消える」「長音ーが化ける」は本当か。実験したら常用カタカナ・短文では大半が正常。崩れたのは「がぶがぶ→がふがふ」などひらがな密集の限定ケースだけ、と正直に検証。周辺日本語トラブル編C。

生成AI かな 検証
縦書き

画像生成AIに縦書きを描かせる — 単一列はいけるが、複数列の読み順が鬼門

短い単一列の縦書き看板は弱経路でもOK、gpt-image-2は2列の毛筆も右→左で正しい。崩れるのは字形より複数列の読み順・行内の回転。縦書きをどこまで生成任せにできるか検証。周辺日本語トラブル編D。

生成AI 縦書き 検証
擬似日本語

頼んでないのに湧く擬似日本語 — シーンの看板が勝手に崩れ文字になる問題と、消し方

繁華街などのシーンを描かせると、看板に頼んでいない擬似日本語が勝手に湧く。逆方向のトラブルを再現し、「文字を一切描かない」指示で確実に消せることをgpt-image-1.5/2の両方で実証。周辺日本語トラブル編E。

生成AI 擬似日本語 gpt-image
OCR

OCRが日本語を読み違えるとき — 画像の“外側”の日本語トラブル①

画像に文字を描く話の裏返し=読むOCR。似た字の取り違え・縦書きの読み順・ルビ混入・第3水準/異体字未対応・濁点取りこぼし・全角半角のゆれと、実務での対策を整理。周辺日本語トラブル編F(考察)。

OCR 日本語 考察
トークナイザ

LLMトークナイザと日本語の相性 — 文字数勘定・バイト分割・グリッチトークン

漢字崩れの根っこ「文字ブラインドなトークナイザ」をLLM一般の日本語トラブルとして整理。文字数を数え間違える・トークン効率が悪い・グリッチトークン・Unicode正規化のゆれと対策。周辺日本語トラブル編G(考察)。

LLM トークナイザ 考察
TTS

音声合成が日本語を読み間違えるとき — 同形異音・固有名詞・数詞

日本語TTS特有の読み間違いを整理。行った(いった/おこなった)等の同形異音語、人名地名の難読、1個・3階の数詞、Vol.3や記号の読み、アクセント。読み辞書・SSML・事前フォーマットでの対策。周辺日本語トラブル編H(考察)。

TTS 音声合成 考察
リスト

画像生成AIで崩れやすい漢字リスト — 画数 × 頻度で“危険な字”は予測できる

画像生成AIで文字化けしやすい漢字を一覧化。崩れやすさは「画数が多い × 使用頻度が低い(常用外)」でかなり予測でき、危険度別(🔴最も危険 / 🟠危険 / 🟡やや注意 / 🟢安全)に整理した実用リスト。これまでの実験で実際に崩れた字・崩れなかった字も掲載。

生成AI 漢字 リスト
対策・実験

画像生成AIの漢字崩れ、実装で打てる対策はどれが効くか — 6案を実験で比較した

gpt-image系の漢字崩れに対し、API利用者が実装レベルで打てる対策6案(読みヒント・品質up・モデル切替・edit修正・フォント合成)を、わざと崩れる難字でgpt-image実験して成功率で比較。読みヒントは効かない/gpt-image-2・不透明はlowのまま6/6/フォント合成は決定論100%/edit修正で崩れを救える、という結果。

生成AI 対策 実験 gpt-image
考察

なぜ画像生成AIは日本語の漢字を崩すのか — トークナイザ・長尾分布・周波数バイアスから読み解く

画像生成AIが日本語の漢字を崩す理由を、モデルの作りと公開論文から考察する。文字ブラインドなBPEトークナイザ・CJKのバイト分割とHan統合・長尾な訓練データ・視覚トークナイザの周波数バイアスという3つの仕組みが重なる必然であることを、Character-Aware論文やGPT-4o System Card等を引きながら解説(内部は非公開なので推測は明示)。

生成AI トークナイザ 論文 考察
生成AI

画像生成AIで日本語が崩れるときの症状と対処法 — gpt-imageを200枚以上試して効いた手をまとめた

画像生成AIに日本語タイトルを入れると漢字が崩れる。どんな時に崩れやすいか(症状)を見分けて、quality=lowのまま崩さないための対処法(フォント合成・モデルや背景の選び方・難字や構図の避け方)を、gpt-imageを200枚以上試してまとめた。

生成AI 画像生成 OpenAI gpt-image 検証
Event

PHP勉強会関西に登壇してきた — Cloudflareへの引っ越しとLT3本の振り返り

PHP勉強会関西で「PHPer、Cloudflare に引っ越す」というタイトルで15分セッションを実施。TypeScript一強のCloudflareエコシステムでPHPerがどう戦うかという話に加えて、当日聞いたLT3本(mktimeでの日付操作、Sec-Fetch-SiteでのCSRF対策、PHP 8.4 プロパティフック)も振り返る。

PHP Cloudflare Event CSRF PHP 8.4
GTM Engineer

GTMロジックを自己進化させる — 5系統のアルゴリズムと最前線論文で設計する自己改善エンジン

GTMロジック(スコアリング・ルーティング・アウトリーチ・コンテンツ生成)を自己進化させる5系統(Contextual Bandit / Uplift / Off-policy評価 / LLM自己改善 / 進化的コード探索)を、Darwin Godel Machineをはじめ2025-2026の最前線論文で整理。Crawl/Walk/Runの実装ロードマップ付き。

GTM Engineer Self-Evolving Agent Contextual Bandit Uplift Modeling DGM
GTM Engineer

GTM Engineering 実装パターン図鑑 — プロダクトシグナル→セールス連携とSEO/コンテンツパイプラインをMOSH経験から再設計する

海外GTM Engineerが実装しているプロダクトシグナル→セールス連携とSEO/コンテンツパイプライン自動化の具体パターンを、Clay/n8n/Common Room/Pocusのソースから整理し、B2C×C2Cマーケットプレイス(MOSH)での応用と日本向け再設計を解説。

GTM Engineer Product Signal SEO Automation MOSH Creator Economy
GTM Engineer

海外GTM Engineerに学ぶスコアリング最適化 — 新変数の発見と日本市場への適用

海外GTMエンジニアが実践する最新スコアリング手法を40以上の英語ソースからDeep Research。3層分離スコア、Signal Stacking、ダークファネル等の新変数と、日本のB2B/B2C市場への適用時に必要なローカライズを解説。

GTM Engineer Lead Scoring Global Practices Japan Market
GTM Engineer

リードスコアリング完全ガイド — 7つの手法と実装パターン

ルールベース、予測スコアリング、BANT、Fit×Interest、インテントベース、LLMスコアリング、PLGスコアリングの7手法を比較。SQLからscikit-learn/XGBoostまで実装コード付きで解説。

GTM Engineer Lead Scoring Automation AI
Career

GTMエンジニアになるには?職種別ロードマップと学習ガイド

SWE・SDR・RevOpsからGTMエンジニアに転身するための6ヶ月ロードマップ。Clay・HubSpot・n8nの学習ステップ、ポートフォリオの作り方、面接対策まで具体的に解説。

GTM Engineer Career Roadmap Learning
Web API

AbortError: play()リクエストが中断される問題の原因と対処法

Chromeで動画のplay()が中断されるAbortErrorの原因、再現条件、具体的な解決パターンを解説。Page Visibility API連携、Promise chainによる競合防止、フレームワーク別の実装例。

JavaScript Chrome Web API Video
Career

GTMエンジニアとは何か — エンジニアが営業の仕組みを作る新しいキャリア

海外で求人が前年比205%増、年収中央値$182K。エンジニアリングスキルで営業・マーケの収益パイプラインを自動化する「GTMエンジニア」という職種を、海外記事のDeep Researchに基づいて解説。

GTM Engineer Career Sales Engineering Automation
Claude Code

Claude CodeをTelegramから操作する — チャンネル機能セットアップ完全ガイド

Telegramチャンネル機能のセットアップ手順をゼロから解説。BotFatherでのBot作成、プラグインインストール、ペアリング、セキュリティ設定まで、ビジネスサイドの方にもわかるように丁寧に説明。

Claude Code Telegram Remote Development Setup Guide
React Native

React Nativeでバックグラウンド再生とPiPを両立させる設計

react-native-videoとreact-native-track-playerの共存。NowPlayingInfoCenter競合の解決、Silent Syncパターン、PiP→音声フォールバックの状態遷移設計を解説。

React Native iOS PiP Media
React Native

React Nativeのネットワーク通信の裏側 — NSURLSessionとOkHttpが実際にやっていること

fetch/XHRの裏でiOSのNSURLSessionとAndroidのOkHttpが何をしているのか。Cookie自動管理、2段階タイムアウト、ATS強制の仕組みを図解で解説。

React Native iOS Android Networking
React Native

React Nativeのfetchはブラウザのfetchと何が違うのか

Web開発者がReact Nativeに入門したとき、同じfetch()なのに挙動が違って戸惑うポイントを徹底解説。CORSが存在しない理由、Cookie管理の違い、ネイティブHTTPクライアントの仕組みまで図解で理解する。

React Native Fetch API Networking
React Native

1つのExpoコードベースから複数アプリをEASでデプロイする設計パターン

React Native(Expo)のmonorepoで、1つのコードベースを維持したまま複数アプリをEAS Build/Submitでデプロイする設計パターン。app.config.tsによる動的設定切り替えとCI/CD対応。

Expo EAS React Native Monorepo
Agent Team

Agent Teamコミュニケーション最適化 7つの原則

AIエージェントチームを「本物のエンジニアリングチーム」として扱い、最適なアウトプットを得るためのコミュニケーション設計パターン。Why/What分離、1-Agent-1-File、自己完結コンテキストなど実践知を体系化。

Agent Team AI Engineering Team Management
React Native

Reanimated バージョン不一致エラー完全解説

React経験者がReact Nativeで必ずハマる「Mismatch between JavaScript code version and Reanimated Babel plugin version」の原因と解決策を詳しく解説。

React Native Reanimated Troubleshooting
Architecture

Web/Native API層共通化戦略

既存React Router v7 WebアプリにReact Nativeを後追いでPoC導入した実経験から、API層の共通化レベルを4段階で整理。WebView不採用の理由とOpenAPI + Orvalによる薄い共通化の実践パターンも紹介。

React Router React Native OpenAPI Orval
Analytics

チームネットワーク分析プラットフォーム

Slackコミュニケーションを可視化し、Small World Networks理論でチーム効率を最適化。Google Project Aristotleの知見を実装。

Network Science Slack API Cloudflare
Operations

Slack Bot運用の現実的な課題

プライベートチャンネルやDMへの自動参加が不可能な理由と、実用的な代替ソリューション。GDPR対応とプライバシー配慮。

Slack Bot Development Privacy
$ _