Начало работы

Быстрый старт за 5 минут

Сохрани подтверждённый результат в Сессии A, запусти полностью новый процесс и докажи, что Сессия B продолжает работу с этого evidence.

Что ты сейчас построишь

Сессия A сохранит проверенный результат о клиенте Acme. Затем ты запустишь новый процесс Python без истории первой сессии. Сессия B восстановит тот же результат из MAGLA Memory.

Время: около 5 минут · Нужно: Python 3.10+, терминал, бесплатный проект · Не нужно: Docker, база данных, локальный сервер или карта.

1. Создай проект и сохрани ключ

Открой страницу создания проекта. Ключ показывается один раз.

export MAGLA_MEMORY_API_KEY='mmc1.…'
export MAGLA_MEMORY_BASE_URL='https://magla-memory.5-180-47-236.sslip.io'

2. Проверь соединение

curl -sS "$MAGLA_MEMORY_BASE_URL/v1/status" \
  -H "Authorization: Bearer $MAGLA_MEMORY_API_KEY" \
  | python3 -m json.tool

Ищи "ready": true, "product": "MAGLA Memory" и свой project_id.

3. Скачай Python-клиент

curl -fsS "$MAGLA_MEMORY_BASE_URL/sdk/python" -o magla_memory.py

4. Сессия A — сохрани результат

import os
from magla_memory import Memory

BASE_URL = os.environ.get(
    "MAGLA_MEMORY_BASE_URL",
    "https://magla-memory.5-180-47-236.sslip.io",
)
API_KEY = os.environ["MAGLA_MEMORY_API_KEY"]
SCOPE = "quickstart-acme"
TASK = "Prepare a proposal for Acme"

memory = Memory(API_KEY, base_url=BASE_URL)
work = memory.preflight(TASK, current_context="", limit=5, scope_lock=SCOPE)

if work["resume_from"] is None:
    print("SESSION_A_START=fresh")
else:
    print("SESSION_A_START=resume")

# Demo fact. In your agent, replace this with a result you just verified.
verified_result = "Acme prefers annual billing and requires SSO."
assert "annual billing" in verified_result and "SSO" in verified_result

saved = memory.record_outcome(
    work_receipt=work["work_receipt"],
    operation="research Acme requirements",
    expected_result="A verified customer requirement is available for the proposal",    observed_result=verified_result,
    success_state="SUCCEEDED",
    bounded_condition="Quickstart demo: only the Acme requirement above is asserted",
    evidence_refs=["quickstart://acme/verified-requirement"],
    verification_basis="TEST_PASS",
    next_action="Draft a proposal with annual billing and SSO",
    scope_lock=SCOPE,
)

print("SESSION_A_SAVED=1")
print(f"PERSISTED={str(saved['persisted']).lower()}")
print(f"READBACK_VERIFIED={str(saved['readback_verified']).lower()}")
print(f"OUTCOME_ID={saved['outcome_id']}")

Запусти PYTHONPATH=. python3 session_a.py. Ожидай PERSISTED=true и READBACK_VERIFIED=true.

5. Сессия B — новый процесс

import os
from magla_memory import Memory

BASE_URL = os.environ.get(
    "MAGLA_MEMORY_BASE_URL",
    "https://magla-memory.5-180-47-236.sslip.io",
)
API_KEY = os.environ["MAGLA_MEMORY_API_KEY"]
SCOPE = "quickstart-acme"

memory = Memory(API_KEY, base_url=BASE_URL)
work = memory.preflight(
    "Continue the Acme proposal in a new process",
    current_context="No chat history from Session A is available.",
    limit=5,
    scope_lock=SCOPE,
)
checkpoint = work["resume_from"]

if checkpoint is None:
    raise SystemExit("No checkpoint found. Run session_a.py first.")

print("SESSION_B_RECOVERED=1")
print("REMEMBERED=" + checkpoint["observed_result"])
print("NEXT=" + checkpoint["next_action"])

Запусти PYTHONPATH=. python3 session_b.py.

Получилось. Сессия B должна напечатать: REMEMBERED=Acme prefers annual billing and requires SSO. Это и есть доказательство проверенной непрерывности работы между процессами.

Если не получилось

  • AUTH_REQUIRED — нет Bearer-заголовка.
  • AUTH_INVALID — ключ неверен или отозван.
  • MONTHLY_QUOTA_EXCEEDED — достигнут лимит за 30 дней.
  • No checkpoint found — сначала успешно выполни Session A.