Перейти к содержимому

Memory-шаг

MemoryStepDescription выполняет операцию над хранилищем памяти с пространствами имён — полезно для сохранения промежуточных результатов, которые читают последующие шаги.

ПолеТипПо умолчаниюНазначение
operationMemoryOperation— (обязательное)read / write / append / delete / list.
memory_keystr— (обязательное)Ключ в хранилище памяти.
value_sourcestr | NoneNoneОткуда берётся значение при write/append (например, "$history[-1]").
default_valueAnyNoneВозвращается при read, если ключ отсутствует.
namespacestr"default"Пространство имён для изоляции.

Память организована по схеме пространство_имён → ключ. Читать её в других местах можно через ссылку $memory.namespace.key.

from mmar_carl import MemoryStepDescription, MemoryStepConfig, MemoryOperation
# Step 3 stores step 2's output under results/analysis
MemoryStepDescription(
number=3,
title="Store result",
dependencies=[2],
config=MemoryStepConfig(
operation=MemoryOperation.WRITE,
memory_key="analysis",
value_source="$history[-1]",
namespace="results",
),
)
# A later step reads it back
MemoryStepDescription(
number=5,
title="Retrieve result",
config=MemoryStepConfig(
operation=MemoryOperation.READ,
memory_key="analysis",
namespace="results",
default_value="(missing)",
),
)