Как пересаживаться между Claude Code и Codex без потери контекста

18 авг 2026
1,985
192
23
3 недели

ai-memory

Знакомая ситуация: сидишь в терминале с Claude Code, полтора часа отлаживаешь хитрый баг в распределенной очереди, перебрали пять нерабочих гипотез, наконец нащупали верное решение. Тут сессия разрастается, контекст сжимается, или лимиты упираются в потолок. Переключаешься в Codex или OpenCode в той же папке, и начинается цирк. Новому ассистенту приходится с нуля пересказывать вводные: почему нельзя трогать конфиг NGINX, какие тесты уже упали и какую структуру базы мы выбрали двадцать минут назад.

Проект ai-memory берется решить эту проблему раз и навсегда. Написал его Фабио Акита (известный в сообществе как AkitaOnRails). Идея в том, чтобы дать консольным ИИ-агентам общую долговременную память и автоматическую передачу контекста (handoff) между сессиями и разными моделями.

В чем задумка

Обычно под «памятью для ИИ» понимают векторную базу данных, куда сваливают эмбеддинги сырых логов диалогов. На практике в таких логах тонны мусора: промежуточные вызовы инструментов, повторные запуски тестов, синтаксические ошибки.

Автор ai-memory пошел по другому пути, вдохновившись концепцией Karpathy LLM Wiki. Память здесь устроена как обычная вики из Markdown-файлов в Git-репозитории. Сервер перехватывает события жизненного цикла агентов, очищает их от лишнего шума и при завершении сессии компилирует сжатый итог: что делали, к каким выводам пришли, какие задачи остались открытыми.

Реклама

Когда вы открываете следующий терминал с другим агентом, инструмент автоматически подсовывает ему структурированную выжимку прямо перед первым промптом. Никаких ручных копирований из буфера обмена.

Под капотом и в терминале

Сервер написан на Rust. Он поднимает локальный сервис с поддержкой протокола MCP (Model Context Protocol), хуками жизненного цикла и встроенным веб-интерфейсом.

Поддерживаются практически все актуальные агентские CLI:

  • Claude Code
  • OpenAI Codex
  • Command Code
  • Devin CLI
  • OpenCode, Cursor, Zed
  • Gemini CLI, Grok Build CLI, Kimi Code, Kiro CLI, Pi / OMP

Данные хранятся локально в одной директории:

<data_dir>/
├── wiki/    # Markdown-страницы под версионным контролем Git
├── raw/     # очищенные сегменты сессий
├── db/      # SQLite с индексами FTS5, сущностями и эмбеддингами
└── logs/    # логи работы

Каждый проект изолируется по пути к репозиторию или через маркерный файл .ai-memory.toml. Если вы работаете с монорепозиторием или несколькими Git worktree, они связываются в единый контекст.

Главные фичи на практике

Бесшовное переключение между агентами

В ai-memory есть режим управляемых сессий ai-memory run. Выглядит это просто:

cd /path/to/project
ai-memory run claude

# Закончили работу в Claude Code, продолжаем задачу в Codex:
ai-memory run codex --yolo

# А потом возвращаемся к сессии через Command Code:
ai-memory run command-code

Агент при старте считывает блок «где мы остановились». Там собраны последние архитектурные решения, открытые вопросы и результаты тестов. Если не указывать имя агента, команда ai-memory run сама подхватит самую свежую активную сессию в текущей папке.

Команда ai-memory continue пойдет еще дальше: ее можно вызвать из любой папки, и она вернет вас в проект, над которым вы работали последним.

Вики вместо свалки логов

Вся база знаний хранится обычным текстом. Ее можно открыть в Obsidian, читать через grep или просматривать во встроенном браузере на порту 127.0.0.1:49374/web.

Если вы хотите зафиксировать важное проектное правило, достаточно сказать агенту: «сохрани в постоянную память, что мы используем NATS JetStream для очередей». Агент вызовет MCP-тул memory_write_page, и в репозитории появится версионированный Markdown-файл.

Поиск по базе знаний гибридный. Сначала отрабатывает полнотекстовый поиск SQLite FTS5, затем сопоставление сущностей и графовые связи между страницами. Если подключить модель эмбеддингов, добавится и векторный поиск.

При этом ai-memory умеет отличать постоянные архитектурные правила от временных заметок из конкретной сессии, отдавая приоритет стабильным страницам из папок _rules/ и decisions/.

Работа без внешних LLM

Интересная деталь: ai-memory запускается вообще без API-ключей к нейросетям. В режиме «zero-LLM» поиск работает через FTS5 и сущности, а саммари сессий собираются по детерминированным правилам.

Если же прописать ключи (Anthropic, OpenAI, Gemini или локальный Ollama через совместимый эндпоинт), инструмент подключает умную консолидацию страниц, поиск противоречий в базе знаний и фоновое самообучение проекта.

Быстрый старт через Docker

Самый быстрый способ развернуть сервер на рабочей машине:

# 1. Запускаем локальный сервер
docker run -d --name ai-memory \
    --restart unless-stopped \
    -p 127.0.0.1:49374:49374 \
    -v ai-memory-data:/data \
    -e AI_MEMORY_LLM_PROVIDER=anthropic \
    -e ANTHROPIC_API_KEY=sk-ant-... \
    akitaonrails/ai-memory:latest

# 2. Подключаем MCP и хуки для Claude Code
ai-memory install-mcp   --client claude-code --apply
ai-memory install-hooks --agent  claude-code --apply

Для пользователей Arch Linux в AUR лежат готовые пакеты ai-memory-bin с системными юнитами systemd. Под macOS выпускаются нативные бинарники под Apple Silicon и Intel.

Если сервер выносится на домашний сервер или в локальную сеть, безопасность настраивается через Bearer-токены. Сервер слушает запросы, проверяет авторизацию и разграничивает память между несколькими разработчиками через операторские слоты.

Для чего это пригодится

Инструмент решает три конкретные задачи.

Первая — мультиагентная разработка. Одну задачу быстрее набросать в Claude, отрефакторить в Codex, а код-ревью провести через Gemini. Без общего слоя памяти такой воркфлоу превращается в бесконечную рутину копирования контекста.

Вторая — онбординг агента в старый репозиторий. Команда ai-memory bootstrap вычитывает историю коммитов, README и документацию проекта, генерируя стартовые страницы базы знаний.

Третья — локальный аудит. В любой момент можно открыть веб-интерфейс, проверить сгенерированные заметки, откатить неудачную правку через ai-memory restore-page или вычистить устаревшие данные.

Итоги

ai-memory подкупает прагматичным подходом. Вместо того чтобы городить очередной тяжелый стек с внешними векторными базами, автор взял быстрый Rust, надежный SQLite и простой Git с Markdown.

Если вы активно пользуетесь терминальными ИИ-ассистентами и устали каждый день заново объяснять моделям контекст проекта, на репозиторий определенно стоит взглянуть. Начните с локального запуска в связке с вашим основным CLI-агентом, чтобы оценить удобство передачи контекста между задачами.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.