概要
大手AIチャットがブラウザ側で行うMarkdownレンダリングをサーバー側に移譲し、HTMLを直接ストリーミングすることで、クライアント側のJSを最大440KB削減しパフォーマンスを劇的に向上させる手法の提案。
詳細内容
ソフトウェア開発者のLoren Stewart氏は、ChatGPTやClaudeといった主要なAIチャットアプリが、Markdownのパースやシンタックスハイライト、LaTeX描画のために膨大なJavaScript(JS)ライブラリをクライアントに送信している現状を指摘しています。氏は自身のアプリ「Cheddy Chat」において、これら全ての処理をサーバー側(FastAPI)で完結させ、完成したHTMLをServer-Sent Events (SSE) でストリーミングするアーキテクチャを採用しました。これにより、クライアント側のメインスレッドを解放し、JSバンドルサイズを160KB〜440KB削減することに成功しています。PythonのPygmentsやnh3、latex2mathmlを活用したこの手法は、ユーザーのデバイス負荷(バッテリー・CPU)を軽減し、低スペックな環境でもネイティブに近い操作感を提供します。サーバー負荷の増大やオフライン閲覧時のキャッシュ管理といったトレードオフはあるものの、安易なクライアント側への実装を避け、「そのコードは本当にユーザーのデバイス上で動かす価値があるのか」を問う、アンチ・ウェスト(無駄排除)な設計思想が詳述されています。