fast-rlm:高速なRecursive Language Modelsのミニ実装

AI/ML

概要

fast-rlmは、論文「Recursive Language Models」を実験的に再現・可視化するためのミニマルな実装です。TypeScriptで書かれ、Deno上で動作するコードにPyodideを組み合わせて、LLMが外部REPL(Python環境など)に命令を書き、その出力を受け取ってさらに計算や分解を行う、再帰的なエージェント呼び出しのワークフローを示します。READMEにはチュートリアル動画へのリンクや、RLMの概念説明が含まれており、研究や教育用途のプロトタイピングに向いています。

GitHub

リポジトリの統計情報

  • スター数: 26
  • フォーク数: 5
  • ウォッチャー数: 26
  • コミット数: 2
  • ファイル数: 16
  • メインの言語: TypeScript

主な特徴

  • RLM(Recursive Language Models)の基本ワークフローをシンプルに実装:LLM → 外部REPL → サブエージェントの再帰呼び出しを再現。
  • DenoとPyodideを利用した環境:TypeScriptベースでブラウザやサーバーサイドの実行を想定した設計。
  • ベンチマークおよびチュートリアル付き:動作確認・性能比較のためのベンチマークディレクトリと、解説動画へのリンクを同梱。
  • 教育・研究向けのプロトタイプ:最小実装で概念実証(PoC)を行うための軽量構成。

技術的なポイント

fast-rlmは「LLMが外部コード実行環境を使って長いプロンプトを分解し、必要に応じて再帰的にサブタスクを起動する」というRLMの核心を、実行可能なミニマム実装で示しています。Deno(TypeScript)の採用によりモダンなランタイム上で単一言語で整備され、Pyodideを使うことでPythonベースの処理やライブラリをブラウザ/単一プロセス内で安全に呼び出せます。設計上の注目点は、(1)REPLインターフェース経由でLLMが「コード」を生成し、それを隔離実行して結果を受け取り再度プロンプトに反映する点、(2)サブエージェントの出力を自動的に確定せず人間/上位エージェントの制御下で取り込み方を決められる点です。これにより、単発のプロンプトでは扱いきれない長文や複雑タスクを段階的に処理可能になります。一方で、実装的な課題としてはサンドボックス化(悪意あるコードや無限ループへの対処)、状態管理(複数階層の履歴とメタデータの一貫性)、およびトークン/レイテンシの最適化(外部呼び出しが増えるとコストが上がる)があります。本リポジトリは概念実証と学習が主目的のため、実運用に移す際は堅牢なサンドボックス、堅牢なログ/監査、キャッシュや部分結果の再利用といった追加設計が必要になります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • README.md: file
  • benchmarks: dir
  • deno.json: file
  • deno.lock: file

…他 11 ファイル

リポジトリ内には、実際のREPL連携やサブエージェント管理、ベンチマークスクリプト、簡単な例やチュートリアルノートが含まれている想定です。Denoの設定ファイルやロックファイルが同梱されているため、ローカルでの再現や依存固定が比較的容易です。

まとめ

RLMのアイデアを手早く試せる、教育・研究向けのミニ実装。プロトタイプとして有用。

リポジトリ情報:

READMEの抜粋:

fast-rlm

A minimal implementation of Recursive Language Models (RLMs) using Deno and Pyodide.

📺 Watch the full video for free RLM Tutorial

What are RLMs

RLMs are an inference technique where an LLM interacts with arbitrarily long prompts through an external REPL. The LLM can write code to explore, decompose, and transform the prompt. It can recursively invoke sub-agents to complete smaller subtasks. Crucially, sub-agent responses are not auto…