Aleph
Aleph
Aleph — это MCP-сервер и навык для рекурсивных языковых моделей (RLM). Он хранит рабочее состояние — индексы поиска, выполнение кода, доказательства, рекурсию — в процессе 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предоставляют постоянную среду выполнения Node.js поверх того жеctx.Рекурсия. Подзапросы и рецепты разбивают сложную работу на несколько этапов рассуждения.
Поддержание рабочих областей в «горячем» состоянии. Привязывайте контексты к файлам или созданным манифестам рабочих областей, обновляйте их и возобновляйте длительные исследования позже.
Быстрый старт
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
Используйте глобальный MCP (aleph-rlm install cursor) для --workspace-mode any или проектный MCP (aleph-rlm install cursor-project из репозитория) для ${workspaceFolder} + --workspace-mode fixed. Chat, Composer и CLI Cursor используют эту конфигурацию MCP; расширение Cursor является опциональным и не требуется для Aleph — см. MCP_SETUP.md.
Related MCP server: MCP-RLM
Точки входа
Команда | Модуль | Что делает |
|
| MCP-сервер. Это то, что запускают MCP-клиенты. Предоставляет 30+ инструментов для управления контекстом, поиска, выполнения кода, рассуждений, рекурсии и инструментов действий. |
|
| Установщик и CLI. |
Профили установки
aleph-rlm install спрашивает, какой профиль подзапроса использовать. Профили настраивают вложенный бэкенд, который sub_query и sub_query_batch порождают для рекурсивных рассуждений.
Профиль | Что закрепляет |
| Нет вложенного бэкенда — вы выберете позже или доверитесь автоопределению |
| Claude CLI: |
| Codex MCP: |
| API, совместимый с OpenAI — установите |
aleph-rlm install claude-code --profile claude
aleph-rlm configure --profile codex # overwrite existing configСм. docs/CONFIGURATION.md для всех переменных окружения, флагов CLI и опций configure(...) во время выполнения.
Рабочий процесс с большими кодовыми базами
Если ваш основной сценарий использования — это репозиторий или проект с несколькими папками, начните с загрузки компактного манифеста рабочей области, вместо того чтобы выбрасывать «сырые» исходные файлы в окно модели. Это дает модели карту проекта, позволяет ей активно искать и делает сессию обновляемой по мере изменения репозитория.
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 также эффективен, когда вы загружаете один большой файл, выполняете тяжелую работу внутри 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 ГБ). Любая модель GGUF работает — более крупные модели дают лучшие результаты в цикле RLM. Модели с поддержкой рассуждений/мышления (Qwen 3.5, QwQ и т.д.) обрабатываются автоматически. См. CONFIGURATION.md для всех переменных ALEPH_LLAMACPP_*.
Типовые рабочие нагрузки
Сценарий | В чем хорош Aleph |
Анализ большой кодовой базы / проекта | Построение карты рабочей области, быстрый поиск, загрузка только важных файлов и возможность обновления сессии |
Анализ больших логов | Загрузка больших файлов, отслеживание паттернов, корреляция событий |
Навигация по кодовой базе | Поиск символов, проверка маршрутов, отслеживание поведения |
Исследование данных | Анализ JSON, CSV и смешанного текста с помощью помощников Python |
Обзор длинных документов | Загрузка PDF, документов Word, HTML и сжатых логов |
Рекурсивные исследования | Разбиение работы на подзапросы вместо одного гигантского промпта |
Долгоживущие сессии | Сохранение и возобновление пакетов памяти между сессиями |
Основные инструменты
Категория | Основные инструменты | Что они делают |
Загрузка контекста |
| Помещают данные в память Aleph, привязывают их к активам рабочей области и проверяют, что загружено |
Навигация |
| Находят нужный фрагмент перед запросом ответа |
Вычисления |
| Выполняют Python или JS/TS по всему контексту и извлекают только производный результат |
Рассуждения |
| Структурируют прогресс и завершают работу с доказательствами |
Оркестрация |
| Переключают бэкенды и автоматизируют повторяющиеся паттерны рассуждений |
Сохранение |
| Хранят длительные исследования вне окна промпта |
Python против JS/TS REPL
Основным уровнем управления Aleph по-прежнему является Python. exec_python остается REPL по умолчанию для анализа общего назначения, рецептов и оркестрации.
Используйте
exec_python, когда вам нужна вся поверхность Aleph: промпты, ориентированные на Python, стек числовых/символьных вычислений Python (cmath,mpmath,decimal,fractions,statistics,numpy,scipy,sympy,networkx) или выполнение рецептов черезrun_recipe_code.Используйте
exec_javascript/exec_typescript, когда целевой репозиторий или анализ естественно имеет форму JS/TS и вам нужно постоянное состояние Node, манипуляции с массивами/объектами, свойственные JS, или асинхронная рекурсия сawait.exec_pythonПолная поверхность помощников Aleph, включая DSL-помощники рецептов, синхронныеsub_query(...)/sub_aleph(...)и широчайшая совместимость с существующими промптами и рабочими процессами.exec_javascript/exec_typescriptПостоянная среда выполнения Node.js для каждого контекста для репозиториев с интенсивным использованием JS/TS. Разделяет тот жеctx, поддерживаетawaitверхнего уровня и может выполнять рекурсию с асинхроннымиawait sub_query(...),await sub_query_batch(...),await sub_query_map(...),await sub_query_strict(...)иawait sub_aleph(...). Также включает DSL рецептов (Recipe,Search,Takeи т.д.) для создания полезной нагрузки рецептов в JS/TS.
Среда выполнения JS/TS также поставляется с более широким набором локальных помощников, чем первый срез: поиск/просмотр/строки/фрагменты, помощники извлечения (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()Инструменты MCP compile_recipe и run_recipe_code принимают параметр language ("python", "javascript", "typescript") для компиляции кода DSL рецепта в соответствующей среде выполнения.
Что все еще отличается от Python:
Python по-прежнему является REPL Aleph по умолчанию и лучше всего поддерживается.
Помощники рекурсии JS/TS являются асинхронными и требуют
await.Выполнение рецептов (
run_recipe) всегда использует среду выполнения Python. Путь JS/TS охватывает только создание и компиляцию рецептов.JS использует
RecipeBuilder.pipe()/ текучие методы вместо оператора|в Python (в JS|— это побитовое ИЛИ, его нельзя перегрузить для этой цели).Экосистема импорта Python остается только для Python. Среда выполнения Node управляется помощниками: нет
require, нетprocess, нетmoduleи нет загрузки пакетов npm внутри песочницы.exec_typescriptудаляет синтаксис типов для выполнения; это не полноценный компилятор TS, средство проверки типов или средаts-node.Поведение флагов регулярных выражений следует за каждой средой выполнения: помощники Python используют флаги
rePython, в то время как помощники 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")учитывает политики и не должен быть вашим путем по умолчанию.stdout,stderrи возвращаемые значения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: интеграция LangGraph с использованием инструментов в стиле Aleph.
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