первыйБитБИТ.АГЕНТЫ/туториал

Состояние и память агента

Зачем агенту память?

Агент без памяти — как человек с амнезией: каждый раз он начинает с чистого листа. Память позволяет агенту сохранять контекст, учиться на предыдущих шагах и выстраивать последовательные рассуждения.

Типы памяти

Краткосрочная память
Контекст текущего разговора или задачи. Хранится в массиве сообщений (context window). Ограничена токенами модели.
Долгосрочная память
Векторная БД, файлы, база знаний. Агент извлекает релевантную информацию через поиск (RAG) по мере необходимости.

Без памяти vs с памятью

Без памяти

no-memory.ts
// Агент БЕЗ памяти — каждый запрос обрабатывается с нуля
function noMemoryAgent(userInput: string): string {
  // Нет доступа к истории
  return processInput(userInput)
}

// Каждый вызов независим
noMemoryAgent("Меня зовут Вася")  // "Приятно познакомиться"
noMemoryAgent("Как меня зовут?")  // "Я не знаю" 😞

С памятью

with-memory.ts
// Агент С памятью — хранит историю в массиве
const memory: Message[] = []

function withMemoryAgent(userInput: string): string {
  memory.push({ role: "user", content: userInput })

  // Вся история отправляется LLM
  const response = llm.chat(memory)

  memory.push({ role: "assistant", content: response })
  return response
}

withMemoryAgent("Меня зовут Вася")  // "Привет, Вася!"
withMemoryAgent("Как меня зовут?")  // "Вас зовут Вася" ✅

Попробуйте сами

Чат ниже использует LLM с полной историей сообщений. Агент запоминает контекст. Скажите: "Меня зовут [имя]", а затем спросите "Как меня зовут?".

Агент с памятью