Solution · Live
Karpathy Memory
Personal knowledge base, скомпилированная из AI-разговоров. Karpathy LLM KB pattern.
- memory
- knowledge-base
Идея
У тебя уже есть огромная knowledge-base — все твои разговоры с ChatGPT, Claude, Cursor за последний год. Просто она недоступна для поиска и компиляции. Karpathy Memory эту проблему решает: один скрипт превращает экспорты в структурированную, читаемую базу знаний.
Что нужно
- Экспорты разговоров:
~/Downloads/chatgpt-export.zipи~/Library/Application Support/Claude/conversations/ - Python 3.11+
- OPENAI или ANTHROPIC API key — для компиляции (Haiku/4o-mini, дёшево)
Установка
git clone https://github.com/sergeyramas/karpathy-memory ~/.km
cd ~/.km && pip install -e .
km init ~/Documents/MyMemory
Команда km init создаст структуру:
raw/— сырые экспортыwiki/— скомпилированная базаindex.md— единая точка входа.km.json— конфиг (модель, batch-size, фильтры)
Загрузка истории
km ingest ~/Downloads/chatgpt-export.zip
km ingest "~/Library/Application Support/Claude/conversations/"
Скрипт:
- парсит JSON-экспорты
- отрезает короткие и мусорные диалоги
- группирует по темам через embeddings
- пишет одну страницу wiki за тему, не за диалог
💬 Ключевой шаг
Не одну страницу за диалог — это получается свалка. Одну страницу за тему: «как устроен Hetzner CX22», «принципы дизайна Web3», «как я отлаживаю Docker сети». Темы дистиллируются из 5–50 диалогов каждая.
Зачем: диалог одноразовый, тема многоразовая. Через год тебе нужны темы, не диалоги.
Запросы
km ask "как я в прошлом году чинил DNS в Docker compose?"
Скрипт ищет по wiki, возвращает релевантные фрагменты с цитатами на исходные диалоги. Если темы нет — пишет, в каких диалогах есть похожее.
Поддержка
km status— что вraw/, что уже вwiki/, что устарелоkm lint— ловит дубликаты и противоречияkm rebuild— полная перекомпиляция при смене модели
В полном гайде — формат конфига, кастомные фильтры, рекомендации по compaction-стратегии и примеры реальных тем.