最近、マイクロソフトはGitHubでiOSプラットフォーム専用のレンダリングライブラリ「SwiftStreamingMarkdown」をオープンソースとして公開しました。この取り組みは、現在の大規模モデルアプリケーションがチャットインターフェースでMarkdownテキストのストリーミングレンダリングを行う際のパフォーマンスの課題を解決することを目的としており、モバイル開発者に効率的なソリューションを提供しています。

モバイル端末にAI対話機能を統合する際には、モデルが出力するコンテンツが流れやすく読みやすさを維持できるかということが技術チームにとって常に課題でした。従来のMarkdownパーサーは、文字単位で生成されるテキストストリームを処理する際に、繰り返し構文ツリーを再構築しなければならず、これにより画面のフリーズが発生し、ユーザー体験に悪影響を与えることがあります。一方、SwiftStreamingMarkdownの核心的な利点は、ストリーミング伝送を深く最適化しており、テキストがリアルタイムで増加するにつれて、解析とレンダリングを同時に実行できることです。これにより、コンテンツが生成される間でも画面がスムーズにスクロールできます。

image.png

このプロジェクトはMITライセンスを使用しており、開発者はSwift Package Managerを介して簡単に統合できます。マイクロソフトによると、このライブラリはパフォーマンスを保ちながら、アプリケーションのパッケージサイズへの影響は約3MB程度に抑えられています。実際にテストしたところ、iPhone XSなどの古いモデルで高負荷のシナリオにおいても、このライブラリはメインスレッドの使用率を極めて低く保つことができ、一般的なUIフリーズの現象を回避しています。

機能特性については、SwiftStreamingMarkdownはタイトル、太字、斜体、取り消し線、コードブロック、テーブル、およびLaTeX数式などのCommonMarkとGitHub風Markdown(GFM)の主要な構文をサポートしています。まだサポートされていない高度な構文については、読みやすいテキスト形式で表示されるように降格処理を行い、コンテンツの損失を防ぎます。さらに、このライブラリにはテーマカスタマイズ、コンテキストメニューのサポート、インタラクティブトラッキングハンドラが内蔵されており、開発者がカスタムレイアウトやデータ分析を実装するのに役立ちます。