Skip to main content
Glama

Aleph

License: MIT Python 3.10+ PyPI version

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-only

Cursor

--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

エントリポイント

コマンド

モジュール

機能

aleph

aleph.mcp.local_server:main

MCPサーバー。 MCPクライアントが起動するものです。コンテキスト管理、検索、コード実行、推論、再帰、アクションツール用の30以上のツールを公開します。

aleph-rlm

aleph.cli:main

インストーラーおよびCLI。 MCPクライアントを設定するための installconfiguredoctoruninstall を提供します。また、run (単一クエリ)、shell (対話型REPL)、serve (MCPサーバーの手動起動) も可能です。

インストールプロファイル

aleph-rlm install は、どのサブクエリプロファイルを使用するかを尋ねます。プロファイルは、再帰的推論のために sub_query および sub_query_batch が生成するネストされたバックエンドを設定します。

プロファイル

固定するもの

portable

ネストされたバックエンドなし — 後で選択するか、自動検出に依存

claude

Claude CLI: --model opus, --effort low, 共有セッション有効

codex

Codex MCP: gpt-5.4, 低い推論負荷, 共有セッション有効

api

OpenAI互換API — ALEPH_SUB_QUERY_API_KEY および ALEPH_SUB_QUERY_MODEL を設定

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
aleph

Qwen 3.5 9B (Q8_0, 約9 GB) でテスト済みです。どのGGUFモデルでも動作しますが、モデルが大きいほどRLMループでの結果が向上します。推論/思考をサポートするモデル (Qwen 3.5, QwQなど) は自動的に処理されます。すべての ALEPH_LLAMACPP_* 変数については CONFIGURATION.md を参照してください。

一般的なワークロード

シナリオ

Alephの強み

大規模コードベース / プロジェクト分析

ワークスペースマップの構築、高速検索、必要なファイルのみの読み込み、セッションの更新維持

大規模ログ分析

大きなファイルの読み込み、パターンの追跡、イベントの相関分析

コードベースのナビゲーション

シンボルの検索、ルートの調査、動作の追跡

データ探索

Pythonヘルパーを使用したJSON、CSV、混合テキストの分析

長文ドキュメントレビュー

PDF、Wordドキュメント、HTML、圧縮ログの読み込み

再帰的調査

巨大なプロンプトではなく、サブクエリに作業を分割

長時間実行セッション

セッション間でメモリパックを保存および再開

コアツール

カテゴリ

主要ツール

機能

コンテキスト読み込み

load_context, load_file, load_workspace_manifest, refresh_context, list_contexts, diff_contexts

データをAlephメモリに入れ、ワークスペース資産にバインドし、読み込まれた内容を調査する

ナビゲーション

search_context, semantic_search, peek_context, chunk_context, rg_search

回答を求める前に、関連するスライスを見つける

計算

exec_python, exec_javascript, exec_typescript, get_variable

フルコンテキストに対してPythonまたはJS/TSを実行し、導出された結果のみを取得する

推論

think, evaluate_progress, get_evidence, finalize

進捗を構造化し、証拠を添えて完了する

オーケストレーション

configure, validate_recipe, estimate_recipe, run_recipe, run_recipe_code

バックエンドを切り替え、繰り返される推論パターンを自動化する

永続化

save_session, load_session

長期的な調査をプロンプトウィンドウ外に保持する

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_typescript JS/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ランタイムはヘルパー主導であり、サンドボックス内での requireprocessmodule、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) は、アクションツールを読み取り専用モードに保ちます: 検索とファイルの読み込みは機能しますが、書き込みとサブプロセスの実行はブロックされます。

最も安全なパターンは常に以下の通りです:

  1. 大規模なコンテキストをAlephメモリに読み込む。

  2. Aleph内で検索または計算を行う。

  3. 必要な小さな結果のみを取得する。

ドキュメントマップ

開発

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/

参考文献

ライセンス

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables 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.
    31
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An 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.
    12
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides recursive language model capabilities to AI assistants, enabling efficient exploration of large contexts through iterative Python code execution.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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