[{"data":1,"prerenderedAt":250},["ShallowReactive",2],{"\u002Fblog\u002Ftui-cognitive-bandwidth\u002F:ja":3,"\u002Fblog\u002Ftui-cognitive-bandwidth\u002F-surround:ja":145,"blog-all-posts:ja":146},{"id":4,"title":5,"author":6,"body":10,"date":127,"description":128,"extension":129,"image":130,"locale":131,"meta":132,"minRead":133,"navigation":134,"original":135,"path":136,"pinned":135,"seo":137,"source":138,"sourceUrl":23,"stem":139,"tags":140,"updated":130,"__hash__":144},"blog\u002Fblog\u002Ftui-cognitive-bandwidth.ja.md","TUI はあなたの認知帯域を食いつぶしている：AI Coding の『ギークフィルター』はそろそろ砕くとき",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":118},"minimark",[13,28,31,34,37,42,45,48,51,54,57,60,63,71,74,77,83,86,89,93,96,99,102,106,109,112,115],[14,15,16],"blockquote",{},[17,18,19,20,27],"p",{},"コアとなる主張は最初に ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087949416808518106",[25],"nofollow","X"," で発表した。この記事はその完全版だ。",[17,29,30],{},"最近の AI Coding Agent は何かというと TUI を載せてくる。この風潮については、Claude Code が大きな責任を負うべきだ。ターミナルで AI と対話しながらコードを書くということを極限まで磨いたのは事実だが、同時に一つの美的感覚と経路依存も広めてしまった。まるで本当にハイレベルな Coding Agent はデフォルトでターミナル UI であるべきかのようで、Web 版はむしろ付属品、さらには「プログラマーらしくない」と嘲笑される始末。",[17,32,33],{},"結果どうなったか？まず複雑な TUI を作る。いろんな色、ステータスバー、ショートカットキー、モード切り替え。それでお約束のように「没入型」「高効率」「プログラマーへの敬意」と美称する。",[17,35,36],{},"本当に？",[38,39,41],"h2",{"id":40},"対話しているつもりが実は格闘している","対話しているつもりが、実は格闘している",[17,43,44],{},"毎日ターミナルに浸っている一部の人にとって、TUI は確かに気持ちいい。でも、より多くの人にとっては人為的に作られたハードルだ。TUI で Agent と協業しているとき、あなたは実は常に三つのことをやらされている：",[17,46,47],{},"**ショートカットとモードを思い出す。**ツールごとにキーバインドの流儀が違い、新規ユーザーはポカーンとするし、古参ユーザーもツールを替えたら再適応が必要になる。",[17,49,50],{},"**スクロールする文字の流れの中で情報を探す。**状態は広げて見せられるのではなく、タイムラインに埋もれている。スクロールと検索で「発掘」するしかない。",[17,52,53],{},"**変な状態に誤爆していないことを祈る。**モード切り替えは目に見えない。問題が起きるまで、自分が今どのモードにいるのか分からないことがよくある。",[17,55,56],{},"もうインタラクションではない。インターフェースとの格闘だ。",[38,58,59],{"id":59},"情報密度は情報効率ではない",[17,61,62],{},"TUI の擁護者が一番好んで口にする言葉が「情報密度」だ。だが情報密度を極限まで積み上げた代償は、可読性と復元性が最低まで踏みにじられることになる。",[17,64,65,66,70],{},"本当に効率的なインターフェースは、",[67,68,69],"strong",{},"状態を広げて見せてくれる","ものだ。どのタスクが動いていて、どのセッションが入力待ちで、どのファイルが変更されたのか、一瞥すれば分かる。すべてを短期記憶に詰め込んで、頭の中で「現在のシステム状態」の見えない地図を維持し続けることではなく、目と空間感覚で理解させてくれるべきだ。",[17,72,73],{},"人間の作業記憶には 4〜7 個のスロットしかない。TUI のインタラクションモデルは、本質的に、一番貴重な認知リソースを「問題を考える」ことではなく「インターフェースの状態を覚える」ことに浪費させる。",[38,75,76],{"id":76},"それが悪い癖まで育てている",[17,78,79,80],{},"さらに悪いことに、TUI エコシステムはひどく悪い価値判断を育てている：",[67,81,82],{},"あるツールのキーバインドを使いこなせるかどうかを、能力そのものとして扱うことだ。",[17,84,85],{},"結果として、人は問題を考える代わりに、インターフェースへの適応に大量のエネルギーを注ぐ。プログラマーを測る物差しは「このショートカットを暗唱できるか」になってしまい、「問題をきれいに分解できるか」ではなくなった。",[17,87,88],{},"良いツールは思考のコストを下げるべきであって、思考のコストを「このインターフェースをどう操作するか」に転嫁すべきではない。",[38,90,92],{"id":91},"web-ui-は速くてクリーンにだってできる","Web UI は速くてクリーンにだってできる",[17,94,95],{},"Web は遅い、「ネイティブ」じゃないと言う人がいる。2026 年だぞ。その論拠はとっくに死んでいる。",[17,97,98],{},"Web UI は速くてクリーンにできる：PWA としてインストールすればデスクトップクライアントとほぼ変わらないし、更新はもっと楽——ユーザーが手動でアップグレードする必要はなく、リロードすれば最新版になる。長時間セッション、並列マルチタスク、タスク状態の可視化。これらはまさにブラウザ DOM の得意分野であって、文字ストリームの得意分野ではない。",[17,100,101],{},"私のメイン構成は OpenChamber みたいな Web インターフェース + OpenCode カーネルで、長期間ヘビーに使っているが、実に安定している。強いて難癖をつけるなら、Web 側のたまの小さなバグは長期使用にまったく影響しない。むしろ一部の TUI のモード切り替えには何度もやられた。",[38,103,105],{"id":104},"ツールは人のためにあるギークの証明のためではない","ツールは人のためにある。「ギーク」の証明のためではない",[17,107,108],{},"Claude Code 自体は強い。それは間違いない。だが「TUI こそ正統」という美的感覚と経路依存を広めたのは確かで、後に続く模倣勢はさらにひどい——インタラクションデザインをするのすら面倒がって、「ターミナルに生えている」ことをそのままハイレベルの証明扱いする。",[17,110,111],{},"反人間的なインタラクションをハイレベルに包装するなんて、本当に滑稽な話だ。",[17,113,114],{},"ツールは人のためにある。判断基準は常にこうあるべきだ：**タスク完了までの総コストを下げてくれたか？**もしインターフェースとの格闘にエネルギーを奪われるなら、どんなに「ギーク」でもマイナスの資産だ。",[17,116,117],{},"次に Coding Agent を選ぶときは、まずこのフィルターを外してから選ぼう。",{"title":119,"searchDepth":120,"depth":120,"links":121},"",2,[122,123,124,125,126],{"id":40,"depth":120,"text":41},{"id":59,"depth":120,"text":59},{"id":76,"depth":120,"text":76},{"id":91,"depth":120,"text":92},{"id":104,"depth":120,"text":105},"2026-09-09","AI Coding Agent がこぞって TUI を載せ、インタラクションを 80 年代のターミナル・パラダイムに押し戻しておきながら、「没入型」「プログラマーへの敬意」などと美称する。この記事では、TUI が認知帯域をシステマティックに下げる 3 つのメカニズムと、Web UI こそが正解である理由を解き明かす。","md",null,"ja",{},7,true,false,"\u002Fblog\u002Ftui-cognitive-bandwidth",{"title":5,"description":128},"x","blog\u002Ftui-cognitive-bandwidth.ja",[141,142,143],"AI コーディング","インタラクション設計","エッセイ","sEYkDp_-Q55n35Pvdk-RipjzSiJe8ZIRA7Cz2NhVtRA",[130,130],[147,156,165,174,180,188,194,201,209,215,222,231,233,241],{"path":148,"title":149,"description":150,"date":151,"minRead":152,"tags":153},"\u002Fblog\u002Fagent-harness-selection","Pi Agent・OMP・Codex・ZCode を試して、結局 OpenCode + OpenChamber を選んだ理由","Agent Harness 選定の振り返り：GUI 体験、ベンダーロックイン、二次開発の自由度の三基準で Pi Agent・OMP・Codex・ZCode を切り、最終的に OpenCode カーネル + OpenChamber インターフェースを選んだ。","2026-08-06",6,[154,155],"AI Agent","ツール選定",{"path":157,"title":158,"description":159,"date":160,"minRead":152,"tags":161},"\u002Fblog\u002Fcloudflare-broke-stack","2026 独立開発ベストプラクティス：Cloudflare 貧乏人フルセット","独立開発者のゼロコスト技術スタック：コードは Codex、バージョン管理は GitHub、決済は Stripe、フロントは TanStack Start、バックエンドは Hono + Workers、DB は D1、ストレージは R2、キャッシュは KV。全部 Cloudflare の上で回す。","2026-06-15",[162,163,164],"Cloudflare","独立開発","技術スタック",{"path":166,"title":167,"description":168,"date":169,"minRead":152,"tags":170},"\u002Fblog\u002Fdeepseek-api-web-search","DeepSeek API に組み込みの Web 検索、Responses API で公式の検索能力をタダで使う","DeepSeek が公式 API に Web 検索を内蔵。Responses エンドポイントで deepseek-v4-flash を呼び、web_search ツールを宣言するだけでいい。サードパーティの検索エンジンに繋がなくても、検索キーの申請も不要。","2026-08-05",[171,172,173],"DeepSeek","API","AI ツール",{"path":175,"title":176,"description":177,"date":169,"minRead":133,"tags":178},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash 正式版を徹底レビュー：安い、速い、1M コンテキスト、検索内蔵","DeepSeek V4 Flash 正式版を数日間がっつり使ってみた：異常な安さ、電光石火の速さ、1M コンテキスト、公式組み込みの Web 検索、完全オープンソース。唯一の弱点はマルチモーダルだが、別モデルと組み合わせれば補える。",[171,179,173],"モデルレビュー",{"path":181,"title":182,"description":183,"date":160,"minRead":184,"tags":185},"\u002Fblog\u002Ffree-cloudflare","無料ユーザーはどうやって Cloudflare を搾り尽くすか。無料版でどこまでタダ乗りできる？","Cloudflare 無料版は個人用インターネット基盤一式を支えられる：DNS、CDN、Pages、Workers、KV、D1、R2、メール、Tunnel、AI Gateway など。",8,[162,186,187],"無料枠","デプロイ",{"path":189,"title":190,"description":191,"date":127,"minRead":184,"tags":192},"\u002Fblog\u002Fmodel-harness-decoupling","純正 Harness が必ずしも今の正解とは限らない：オープンモデル時代、モデルと Harness は分けて選ぶ","Claude を使うなら Claude Code？オープンモデル時代、この直感はアップデートが必要だ。純正の強みは本物だが、良いモデルを鍛えることと良い Harness を作ることは別の工学である——この記事では、モデルと Harness を分けて選べるようになった理由と、5 つの Harness の位置づけマップを解説する。",[154,193,155],"Harness",{"path":195,"title":196,"description":197,"date":127,"minRead":184,"tags":198},"\u002Fblog\u002Fopencode-productive-stack","安定・高速・高生産性・安価：私の AI Coding スタック実録","OpenCode + OpenChamber + DeepSeek V4 Flash のサブスク 2 本で、15 プロジェクトを同時に回してもクォータはほとんど減らない。この記事では Context 剪定、階層メモリ、デスクトップ自動化、そして「やはり元の組み合わせ」という選定の教訓まで、設定の全記録をさらけ出す。",[199,141,200],"OpenCode","設定",{"path":202,"title":203,"description":204,"date":205,"minRead":206,"tags":207},"\u002Fblog\u002Fproduct-faxin-principle","発心原理：独立開発者はなぜ「捨てる」ことを学ぶべきか","なぜ出発するのか。誰のために出発するのか。結局どの問題を解決したいのか。製品の鋭さは、手放す覚悟から生まれる。","2026-06-20",10,[208,163],"プロダクト思考",{"path":210,"title":211,"description":212,"date":205,"minRead":184,"tags":213},"\u002Fblog\u002Fproduct-pain-vs-itch","ユーザーに「すごい」と言われても浮かれるな：痛点と痒点","口先だけの称賛は一文の価値もない。需要を判断する唯一の厳しい基準は、ユーザーが何を払う気があるかを見ること。",[208,214],"需要判断",{"path":216,"title":217,"description":218,"date":151,"minRead":219,"tags":220},"\u002Fblog\u002Fqwen-vision-for-deepseek","DeepSeek にマルチモーダルを補う：Qwen-3.7-Flash 識図スキーム","DeepSeek V4 Flash はマルチモーダル非対応。画像認識はどうする？調べたところ、現時点で最コスパのスキームは Qwen-3.7-Flash：画像一枚の認識コストが極端に安く、V4 Flash と組み合わせれば弱点を補える。",5,[171,221,179],"マルチモーダル",{"path":223,"title":224,"description":225,"date":226,"minRead":227,"tags":228},"\u002Fblog\u002Fsub-store-cloudflare","機場（プロキシサービス）のサブスク集約を Cloudflare に移した","複数の機場と自前ノードを一本のサブスクにまとめ、分流ルールはサーバー側で設定。クライアントはサブスクを使うだけ。","2026-06-28",4,[162,229,230],"科学上网（プロキシ）","オープンソースプロジェクト",{"path":136,"title":5,"description":128,"date":127,"minRead":133,"tags":232},[141,142,143],{"path":234,"title":235,"description":236,"date":237,"minRead":152,"tags":238},"\u002Fblog\u002Fvalue-not-external","「価値があるか」を議論すること自体に、価値はない","私たちの価値は誰にも定義されない。人は AI 時代に、一体どうやって自分を理解すべきなのか。","2026-06-18",[239,240],"AI 思考","人文エッセイ",{"path":242,"title":243,"description":244,"date":245,"minRead":246,"tags":247},"\u002Fblog\u002Fx-growth-1000-followers","1 日でフォロワー 1000+ 増えた、俺がやったこと","6 月に X を本気で運用したら、1 日でフォロワー 1000+ 増えた。この記事では当時やったことと、もらった反応を記録する。","2026-06-16",12,[248,249],"X 運用","コンテンツ成長",1789752313695]