Skip to main content
Glama

Aleph

License: MIT Python 3.10+ PyPI version

Aleph는 **재귀적 언어 모델(RLM)**을 위한 MCP 서버이자 기술(skill)입니다. 검색 인덱스, 코드 실행, 증거, 재귀와 같은 작업 상태를 프롬프트 창 외부의 Python 프로세스에서 유지하므로, LLM은 원시 콘텐츠로 컨텍스트를 낭비하지 않고 대규모 코드베이스, 장기 프로젝트, 로그, 문서 및 데이터를 반복적으로 추론할 수 있습니다.

+-----------------+    tool calls     +-----------------------------+
|   LLM client    | ---------------> |  Aleph (Python process)     |
| (context budget)| <--------------- |  search / peek / exec / sub |
+-----------------+   small results  +-----------------------------+

Aleph를 사용하는 이유:

  • 한 번 로드하고 여러 번 추론. 데이터는 프롬프트가 아닌 Aleph 메모리에 상주합니다.

  • 서버 측 컴퓨팅. exec_python은 전체 컨텍스트에 대해 코드를 실행하고 파생된 결과만 반환합니다. JS/TS 저장소의 경우 exec_javascriptexec_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 저장소에서 실행)를 사용하세요. 채팅, Composer 및 Cursor CLI는 해당 MCP 구성을 공유합니다. Cursor 확장은 선택 사항이며 Aleph에 필수는 아닙니다. MCP_SETUP.md를 참조하세요.

진입점

명령

모듈

기능

aleph

aleph.mcp.local_server:main

MCP 서버. MCP 클라이언트가 실행하는 서버입니다. 컨텍스트 관리, 검색, 코드 실행, 추론, 재귀 및 작업 도구를 위한 30개 이상의 도구를 노출합니다.

aleph-rlm

aleph.cli:main

설치 프로그램 및 CLI. MCP 클라이언트 설정을 위한 install, configure, doctor, uninstall을 제공합니다. 또한 run(단일 쿼리), shell(대화형 REPL), serve(MCP 서버 수동 시작)를 지원합니다.

설치 프로필

aleph-rlm install은 사용할 하위 쿼리 프로필을 묻습니다. 프로필은 재귀적 추론을 위해 sub_querysub_query_batch가 생성하는 중첩된 백엔드를 구성합니다.

프로필

고정 대상

portable

중첩된 백엔드 없음 — 나중에 선택하거나 자동 감지에 의존

claude

Claude CLI: --model opus, --effort low, 공유 세션 활성화

codex

Codex MCP: gpt-5.4, 낮은 추론 노력, 공유 세션 활성화

api

OpenAI 호환 API — ALEPH_SUB_QUERY_API_KEYALEPH_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는 하나의 큰 파일을 한 번 로드하고, 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 런타임은 첫 번째 핸드오프 조각보다 더 광범위한 로컬 도우미 세트와 함께 제공됩니다: 검색/엿보기/라인/청크, 추출 도우미(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_reciperun_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 stdout, stderr 및 반환 값은 독립적으로 제한됩니다.

  • 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

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Hmbown/aleph'

If you have feedback or need assistance with the MCP directory API, please join our Discord server