Aleph
Aleph
Alephは、再帰的言語モデル (RLM) のための MCPサーバー およびスキルです。検索インデックス、コード実行、証拠、再帰といった作業状態をプロンプトウィンドウ外のPythonプロセスで保持します。これにより、LLMは生のコンテンツでコンテキストを消費することなく、大規模なコードベース、長期プロジェクト、ログ、ドキュメント、データに対して反復的に推論を行うことができます。
+-----------------+ tool calls +-----------------------------+
| LLM client | ---------------> | Aleph (Python process) |
| (context budget)| <--------------- | search / peek / exec / sub |
+-----------------+ small results +-----------------------------+Alephを選ぶ理由:
一度読み込めば、何度でも推論可能。 データはプロンプトではなく、Alephのメモリ内に存在します。
サーバーサイドでの計算。
exec_pythonはフルコンテキストに対してコードを実行し、導出された結果のみを返します。JS/TSリポジトリ向けには、exec_javascriptおよびexec_typescriptが同じctx上で永続的なNode.jsランタイムを提供します。再帰。 サブクエリとレシピにより、複雑な作業を複数の推論パスに分割します。
ワークスペースをアクティブに維持。 コンテキストをファイルや生成されたワークスペースマニフェストにバインドし、それらを更新して、後で長期的な調査を再開できます。
クイックスタート
pip install "aleph-rlm[mcp]"
aleph-rlm install --profile claude # or: codex, portable, api
aleph-rlm doctor # verify everything is wired upその後、MCPクライアントを再起動し、Alephが利用可能であることを確認してください:
get_status()
list_contexts()オプションの /aleph (Claude Code) または $aleph (Codex) スキルショートカットは、構造化されたRLMワークフローを開始します。docs/prompts/aleph.md をクライアントのコマンド/スキルフォルダにインストールしてください。正確なパスについては MCP_SETUP.md を参照してください。
実際のレポジトリでアクションツールを使用する場合、最も安全なデフォルトは以下の通りです:
aleph --enable-actions --action-policy read-onlyCursor
--workspace-mode any を使用する場合は グローバル MCP (aleph-rlm install cursor) を、${workspaceFolder} + --workspace-mode fixed を使用する場合は プロジェクト MCP (aleph-rlm install cursor-project をリポジトリから実行) を使用してください。Chat、Composer、およびCursor CLIは、そのMCP設定を共有します。Cursor拡張機能はオプションであり、Alephには必須ではありません。詳細は MCP_SETUP.md を参照してください。
Related MCP server: MCP-RLM
エントリポイント
コマンド | モジュール | 機能 |
|
| MCPサーバー。 MCPクライアントが起動するものです。コンテキスト管理、検索、コード実行、推論、再帰、アクションツール用の30以上のツールを公開します。 |
|
| インストーラーおよびCLI。 MCPクライアントを設定するための |
インストールプロファイル
aleph-rlm install は、どのサブクエリプロファイルを使用するかを尋ねます。プロファイルは、再帰的推論のために sub_query および sub_query_batch が生成するネストされたバックエンドを設定します。
プロファイル | 固定するもの |
| ネストされたバックエンドなし — 後で選択するか、自動検出に依存 |
| Claude CLI: |
| Codex MCP: |
| OpenAI互換API — |
aleph-rlm install claude-code --profile claude
aleph-rlm configure --profile codex # overwrite existing configすべての環境変数、CLIフラグ、および実行時の configure(...) オプションについては docs/CONFIGURATION.md を参照してください。
大規模コードベースのワークフロー
主なユースケースがリポジトリや複数フォルダのプロジェクトである場合、生のソースファイルをモデルウィンドウに投入するのではなく、コンパクトなワークスペースマニフェストを読み込むことから始めてください。これにより、モデルにプロジェクトの地図を与え、積極的に検索させ、リポジトリの変更に合わせてセッションを更新可能に保つことができます。
load_workspace_manifest(paths=["src", "tests"], context_id="repo")
rg_search(pattern="FastAPI|APIRouter|router\\.", paths=["src", "tests"], load_context_id="routes")
load_file(path="pyproject.toml", context_id="pyproject")
exec_python(code="""
files = [line for line in ctx.splitlines() if line.startswith("- ")]
summary = {
"indexed_entries": len(files),
"top_python_files": [line for line in files if "| python |" in line][:10],
}
""", context_id="repo")
get_variable(name="summary", context_id="repo")
refresh_context(context_id="repo")大規模なコードベースやプロジェクトでは、デフォルトの入り口として load_workspace_manifest を使用してください。その後、load_file で特定のファイルを読み込み、rg_search でリポジトリを検索し、ワークスペースが変更されたらバインドされたコンテキストを更新します。更新を行うと、セッションの推論状態、証拠ログ、追跡中のタスクが保持されます。
単一ファイルワークフロー
Alephは、1つの大きなファイルを一度読み込み、Aleph内で重い作業を行い、コンパクトな回答のみを引き出す場合にも強力です。
load_file(path="/absolute/path/to/large_file.log", context_id="doc")
search_context(pattern="ERROR|WARN", context_id="doc")
peek_context(start=1, end=60, unit="lines", context_id="doc")
exec_python(code="""
errors = [line for line in ctx.splitlines() if "error" in line.lower()]
result = {
"error_count": len(errors),
"first_error": errors[0] if errors else None,
}
""", context_id="doc")
get_variable(name="result", context_id="doc")
save_session(context_id="doc", path=".aleph/doc.json")重要な習慣は、サーバーサイドで計算することです。get_variable("ctx") をデフォルトのパスとして扱わないでください。まず検索、フィルタリング、チャンク化、または要約を行い、その後に小さな結果を取得してください。
MCPではなくターミナルのみのモードが必要な場合は、以下を使用してください:
aleph run "Summarize this log" --provider cli --model codex --context-file app.logローカルモデル (llama.cpp)
AlephはクラウドAPIの代わりにローカルモデルを使用できます。これにより、検索、コード実行、収束といったRLMループ全体を、APIコストゼロで完全にマシン上で実行できます。
前提条件: llama.cpp および GGUF モデルファイル。
# Install llama.cpp
brew install llama.cpp # Mac
winget install ggml.LlamaCpp # Windows
# Start the server with your model
llama-server -m /path/to/model.gguf -c 16384 -ngl 99 --port 8080実行中のサーバーをAlephに指定します:
export ALEPH_PROVIDER=llamacpp
export ALEPH_LLAMACPP_URL=http://127.0.0.1:8080
export ALEPH_MODEL=local
alephまたは、Alephにサーバーを自動起動させます:
export ALEPH_PROVIDER=llamacpp
export ALEPH_LLAMACPP_MODEL=/path/to/model.gguf
export ALEPH_LLAMACPP_CTX=16384
export ALEPH_MODEL=local
alephQwen 3.5 9B (Q8_0, 約9 GB) でテスト済みです。どのGGUFモデルでも動作しますが、モデルが大きいほどRLMループでの結果が向上します。推論/思考をサポートするモデル (Qwen 3.5, QwQなど) は自動的に処理されます。すべての ALEPH_LLAMACPP_* 変数については CONFIGURATION.md を参照してください。
一般的なワークロード
シナリオ | Alephの強み |
大規模コードベース / プロジェクト分析 | ワークスペースマップの構築、高速検索、必要なファイルのみの読み込み、セッションの更新維持 |
大規模ログ分析 | 大きなファイルの読み込み、パターンの追跡、イベントの相関分析 |
コードベースのナビゲーション | シンボルの検索、ルートの調査、動作の追跡 |
データ探索 | Pythonヘルパーを使用したJSON、CSV、混合テキストの分析 |
長文ドキュメントレビュー | PDF、Wordドキュメント、HTML、圧縮ログの読み込み |
再帰的調査 | 巨大なプロンプトではなく、サブクエリに作業を分割 |
長時間実行セッション | セッション間でメモリパックを保存および再開 |
コアツール
カテゴリ | 主要ツール | 機能 |
コンテキスト読み込み |
| データをAlephメモリに入れ、ワークスペース資産にバインドし、読み込まれた内容を調査する |
ナビゲーション |
| 回答を求める前に、関連するスライスを見つける |
計算 |
| フルコンテキストに対してPythonまたはJS/TSを実行し、導出された結果のみを取得する |
推論 |
| 進捗を構造化し、証拠を添えて完了する |
オーケストレーション |
| バックエンドを切り替え、繰り返される推論パターンを自動化する |
永続化 |
| 長期的な調査をプロンプトウィンドウ外に保持する |
Python vs JS/TS REPL
Alephの主要な制御レイヤーは依然としてPythonです。exec_python は、汎用的な分析、レシピ、オーケストレーションのためのデフォルトのREPLであり続けます。
Alephの全機能が必要な場合は
exec_pythonを使用してください: Pythonファーストのプロンプト、Pythonの数値/シンボリックスタック (cmath,mpmath,decimal,fractions,statistics,numpy,scipy,sympy,networkx)、またはrun_recipe_codeを介したレシピ実行。対象のリポジトリや分析が本質的にJS/TS形式であり、永続的なNode状態、JSネイティブの配列/オブジェクト操作、または
awaitを使用した非同期再帰が必要な場合はexec_javascript/exec_typescriptを使用してください。exec_pythonレシピDSLヘルパー、同期的なsub_query(...)/sub_aleph(...)を含む、Alephの全ヘルパー機能。既存のプロンプトやワークフローとの互換性が最も高い。exec_javascript/exec_typescriptJS/TSを多用するリポジトリ向けに、コンテキストごとに永続的なNode.jsランタイムを提供。同じctxを共有し、トップレベルのawaitをサポート。非同期のawait sub_query(...),await sub_query_batch(...),await sub_query_map(...),await sub_query_strict(...),await sub_aleph(...)で再帰可能。JS/TSでレシピペイロードを構築するためのレシピDSL (Recipe,Search,Takeなど) も含まれています。
JS/TSランタイムには、最初のハンドオフスライスよりも広範なローカルヘルパーセットが付属しています: 検索/peek/行/チャンク、抽出ヘルパー (extract_emails, extract_todos, extract_routes など)、テキストユーティリティ (number_lines, grep_v, sort_lines, normalize_whitespace など)、テキスト比較ヘルパー (diff, similarity, common_lines, diff_lines)、コレクションヘルパー (flatten, group_by, frequency, sample_items, shuffle_items など)、検証ヘルパー (is_json, is_email, is_uuid など)、CSV/JSONコンバーター、および semantic_search。
JS/TSランタイムには、レシピDSLも含まれるようになりました: RecipeStep, RecipeBuilder, およびすべてのステップコンストラクター (Recipe, Search, Peek, Lines, Take, Chunk, Filter, MapSubQuery, SubQuery, Aggregate, Assign, Load, Finalize, as_recipe)。流れるようなチェーンまたはパイプスタイルでレシピを構築できます:
// Fluent style
Recipe("doc").search("ERROR").take(5).finalize().compile()
// Pipe style
Recipe("doc").pipe(Search("ERROR")).pipe(Take(5)).pipe(Finalize()).compile()compile_recipe および run_recipe_code MCPツールは、対応するランタイムでレシピDSLコードをコンパイルするために language パラメータ ("python", "javascript", "typescript") を受け入れます。
Pythonと異なる点:
Pythonは依然としてデフォルトであり、最もサポートされているAleph REPLです。
JS/TSの再帰ヘルパーは非同期であり、
awaitが必要です。レシピの実行 (
run_recipe) は常にPythonランタイムを使用します。JS/TSパスはレシピの構築とコンパイルのみをカバーします。JSはPythonの
|演算子の代わりにRecipeBuilder.pipe()/ 流れるようなメソッドを使用します (JSの|はビット単位のORであり、この目的のためにオーバーロードできません)。PythonのインポートエコシステムはPython専用です。Nodeランタイムはヘルパー主導であり、サンドボックス内での
require、process、module、npmパッケージの読み込みはできません。exec_typescriptは実行のために型構文を取り除きます。これは完全なTSコンパイラ、型チェッカー、またはts-node環境ではありません。正規表現フラグの動作は各ランタイムに従います: PythonヘルパーはPythonの
reフラグを使用し、JS/TSヘルパーはJavaScriptの正規表現フラグ文字列を使用します。
JS/TSワークフローの例:
exec_typescript(code=`
const routes: string[] = extract_routes('javascript').map((item) => item.value);
const routeKinds = frequency(
routes.map((route) => (route.includes('.post(') ? 'write' : 'read')),
2,
);
const notes = await sub_query_map(
routes.map((route) => `Explain ${route}`),
routes,
);
({ routeCount: routes.length, routeKinds, notes })
`, context_id="repo")安全性モデル
Alephは、明示的に引き出さない限り、生のコンテキストをモデルウィンドウに入れないように構築されています:
ツールの応答は制限され、切り詰められます。
get_variable("ctx")はポリシーを認識しており、デフォルトのパスとして使用すべきではありません。exec_pythonの標準出力、標準エラー出力、および戻り値は個別に制限されます。ALEPH_CONTEXT_POLICY=isolatedは、より厳格なセッションのエクスポート/インポートルールと、より防御的なデフォルトを追加します。ALEPH_ACTION_POLICY=read-only(または--action-policy read-only) は、アクションツールを読み取り専用モードに保ちます: 検索とファイルの読み込みは機能しますが、書き込みとサブプロセスの実行はブロックされます。
最も安全なパターンは常に以下の通りです:
大規模なコンテキストをAlephメモリに読み込む。
Aleph内で検索または計算を行う。
必要な小さな結果のみを取得する。
ドキュメントマップ
docs/prompts/aleph.md:
/alephおよび$alephワークフローとツールパターン。docs/CONFIGURATION.md: フラグ、環境変数、制限、および安全設定。
docs/langgraph-rlm-default.md: Alephスタイルのツール使用を伴うLangGraph統合。
examples/langgraph_rlm_repo_improver.py: オプションのLangSmithトレースを伴うリポジトリ改善の例。
CHANGELOG.md: リリース履歴。
DEVELOPMENT.md: 貢献者ガイド。
開発
git clone https://github.com/Hmbown/aleph.git
cd aleph
pip install -e ".[dev,mcp]"
# Optional extras:
# .[docs] -> MarkItDown-backed document conversion
# .[observability] -> OpenTelemetry spans
pytest tests/ -v
ruff check aleph/ tests/参考文献
Zhang, A. L., Kraska, T., Khattab, O. (2025) Recursive Language Models (arXiv:2512.24601)
ライセンス
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.
Persistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.
Shared memory for coding agents. Stop re-explaining your codebase every session.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables working with large documents of any size by intelligently segmenting them and using TF-IDF search to retrieve only relevant fragments, preventing context window saturation. Provides 31 domain-agnostic tools for document ingestion, semantic analysis, epistemological validation, and extraction verification across formats like PDF, EPUB, and HTML.31MIT
- AlicenseNot gradedqualityCmaintenanceAn implementation of the Recursive Language Models architecture that enables AI agents to process massive documents by programmatically decomposing them into sub-queries. It allows for cost-effective and accurate reasoning across millions of tokens by treating long-form data as an external environment for root and worker models.12MIT
- FlicenseNot gradedqualityDmaintenanceProvides recursive language model capabilities to AI assistants, enabling efficient exploration of large contexts through iterative Python code execution.1-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents with long-term memory and retrieval-augmented generation (RAG) capabilities, allowing them to recall past conversations, search local files, and learn user preferences.MIT