{/ Эта страница автоматически передается из навыков SKILL.md с помощью сайта/scripts/generate-skill-docs.py. Редактируйте исходный SKILL.md, а не эту страницу. /}

Ллм вики

Вики LLM от Карпати: создание/запрос совместной базы знаний в Markdown.

Метаданные навыки

Источник Встроенный (устанавливается по умолчанию)
Путь навыки/исследования/LLM-вики
Версия 2.1.0
Автор Агент Гермес
Лицензия Массачусетский технологический институт
Платформы Linux, MacOS, Windows
Теги вики, база знаний, исследования, заметки, уценка, тряпичная альтернатива
Связанные навыки obsidian, arxiv

Справочник: полный SKILL.md:::информация

Ниже приведено полное описание навыка, который Hermes загружает при активации этого навыка. Это то, что агент видит в качестве инструкций, когда навыки активны.

Вики LLM от Карпати

Создание и поддержка накопления, накапливающейся базы знаний в виде дополнительных уценочных файлов. Основано на [образце вики LLM Андрея Карпати] (https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f).

В отличие от традиционного RAG (который фактически предоставляет знания с нуля при каждом запросе), вики компилирует знания один раз и поддерживает их в актуальном состоянии. Перекрестные ссылки уже есть. Противоречия уже отмечены. Синтез отображает все полученные данные.

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

Когда этот навык активируется

Используйте этот навык, когда пользователь: - Просить создать, построить или запустить вики или ресурсы знаний - Просить добавить, обработать или включить источник в своей вики - Задает вопрос, и существующая вики находится в настроенном направлении. - Просит провести линтинг, аудит или проверку работоспособности вики. - Упоминает свои вики, базы знаний или «заметки» в исследовательском двадцатилетии.

Расположение вики

Расположение: Задается через переменное окружение WIKI_PATH (например, в ~/.hermes/.env).

Если не указано, по умолчанию используется ~/wiki.

WIKI="${WIKI_PATH:-$HOME/wiki}"

Вики — это просто каталог markdown-файлов — откройте его в Obsidian, VS Code или любом редакторе. Никакой базы данных, никакого специального инструментария не требуется.

Архитектура: три слоя

wiki/
├── SCHEMA.md           # Соглашения, правила структуры, конфигурация домена
├── index.md            # Каталог содержимого с разделами и однострочными описаниями
├── log.md              # Хронологический журнал действий (только добавление, ротация по годам)
├── raw/                # Слой 1: Неизменяемые исходные материалы
│   ├── articles/       # Веб-статьи, вырезки
│   ├── papers/         # PDF, статьи с arXiv
│   ├── transcripts/    # Записи встреч, интервью
│   └── assets/         # Изображения, диаграммы, на которые ссылаются источники
├── entities/           # Слой 2: Страницы сущностей (люди, организации, продукты, модели)
├── concepts/           # Слой 2: Страницы концепций/тем
├── comparisons/        # Слой 2: Сравнительные анализы
└── queries/            # Слой 2: Сохраненные результаты запросов, которые стоит сохранить

Слой 1 — Исходные источники: Неизменяемые. Агент читает, но никогда не определяет их. Слой 2 — Вики: Markdown-файлы, уважение агенту. Создаются, обновляются и связываются перекрестными ссылками агентом. Слой 3 — Схема: SCHEMA.md Определяет структуру, соглашение и таксономию тегов.

Возобновление работы с отдельными вики (КРИТИЧЕСКИ ВАЖНО — делайте это в каждом сеансе)

Если у пользователя есть существующая вики, всегда сначала ознакомьтесь с ней, прежде чем что-либо делать:

Прочитайте SCHEMA.md — поймите домен, соглашение и таксономию тегов. ② Прочитайте index.md — узнайте, какие страницы существуют и их краткие описания. ③ Просмотрите недавние записи в log.md — прочитайте последние 20-30 записей, чтобы понять недавнюю активность.

WIKI="${WIKI_PATH:-$HOME/wiki}"
# Ознакомительное чтение в начале сеанса
read_file "$WIKI/SCHEMA.md"
read_file "$WIKI/index.md"
read_file "$WIKI/log.md" offset=<последние 30 строк>

Только после ознакомления следует включить, опросить или провести линтинг. Это собственное: - Создание дублирующих страниц для уже существующих сущностей - Пропуск перекрестных ссылок на существующий контент - Противоречие схемам соглашений - Повторение уже зарегистрированной работы

Для больших вики (более 100 страниц) также можно быстро выполнить search_files по нужной теме, прежде чем создать что-то новое.

Инициализация новой вики

Когда пользователь просит создать или запустить вики:

  1. Определите путь к вики (из переменного окружения $WIKI_PATH или спросите пользователя; по умолчанию ~/wiki)
  2. Создайте макет каталогов, указанную выше.
  3. Спросите пользователя, какой домен соответствует вики — будьте конкретны.
  4. Напишите SCHEMA.md, адаптированный под домен (см. шаблон ниже)
  5. Напишите начальный index.md с заголовком, разделенным на разделы.
  6. Напишите начальный log.md с записью о создании
  7. Подтвердите, что вики готовы, и предложите первые источники для добавления.

Шаблон SCHEMA.md

Адаптируйте под домен пользователя. Схема ограничения поведения агента и обеспечивает согласование:

# Схема вики

## Домен
[Что охватывает эта вики — например, «исследования в области AI/ML», «личное здоровье», «разведка стартапов»]

## Соглашения
- Имена файлов: строчные буквы, дефисы, без пробелов (например, `transformer-architecture.md`)
- Каждая страница вики начинается с YAML frontmatter (см. ниже)
- Используйте `[[вики-ссылки]]` для связи между страницами (минимум 2 исходящие ссылки на страницу)
- При обновлении страницы всегда обновляйте дату `updated`
- Каждая новая страница должна быть добавлена в `index.md` в правильный раздел
- Каждое действие должно быть добавлено в `log.md`
- **Маркеры происхождения:** На страницах, обобщающих 3+ источника, добавляйте `^[raw/articles/source-file.md]`
  в конце абзацев, утверждения которых происходят из конкретного источника. Это позволяет читателю проследить каждое
  утверждение без повторного чтения всего исходного файла. Опционально на страницах с одним источником, где
  frontmatter `sources:` достаточно.

## Frontmatter
  ```yaml
---
  заголовок: Заголовок страницы
  создано: ГГГГ-ММ-ДД
  обновлено: ГГГГ-ММ-ДД
  тип: сущность | концепция | сравнение | запрос | резюме
  теги: [из таксономии ниже]
  источники: [raw/articles/имя-источника.md]
  # Опциональные сигналы качества:
  уверенность: высокая | средний | low # действительно хорошо подтверждены утверждения
  оспаривается: true # устанавливается, когда на странице есть неразрешенные противоречия
  противоречия: [other-page-slug] # страница, с участием которого эта конфликтует
  ---
  ```

`confidence` и `contested` опциональны, но рекомендуются для тем, основанных на мнениях или быстро меняющихся.
Линтинг выявляет страницы с `contested: true` и `confidence: low` для проверки, чтобы слабые утверждения
не закреплялись молча как принятый факт вики.

### Frontmatter для raw/

Исходные источники ТАКЖЕ получают небольшой блок frontmatter, чтобы повторное добавление могло обнаружить расхождения:

```yaml
---
source_url: https://example.com/article # оригинальный URL, если применимо
попало: ГГГГ-ММ-ДД
sha256: &lt;hex-дайджест значения raw ниже frontmatter>
---

sha256: позволяет при будущем повторном добавлении того же URL пропустить обработку, если содержимое не изменилось, и сигнализировать об изменении, если оно изменилось. Вычисляется только для тела (все после закрывающего ---), не для самого frontmatter.

Таксономия тегов

[Определите 10-20 тегов верхнего уровня для домена. Добавляйте новые теги здесь ДО их использования.]

Пример для AI/ML: - Модели: model, architecture, benchmark, training - Люди/Организации: person, company, lab, open-source - Техники: optimization, fine-tuning, inference, alignment, data - Мета: comparison, timeline, controversy, prediction

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

Пороговые значения для страниц

Страницы сущностей

Одна страница на заметную сущность. Включает: - Обзор / что это такое - Ключевые факты и даты - Связи с другими сущностями ([[вики-ссылки]]) - Ссылки на источники

Страницы концепций

Одна страница на концепцию или тему. Включает: - Определение / объяснение - Текущее состояние знаний - Открытые вопросы или дискуссии - Связанные концепции ([[вики-ссылки]])

Страницы сравнений

Сравнительный анализ. Включает: - Что сравнивается и почему - Измерения сравнения (предпочтительно в формате таблицы) - Вердикт или синтез - Источники

Политика обновления

Когда новая информация конфликтует с существующим содержимым: 1. Проверьте даты — более новые источники обычно заменяют старые 2. Если действительно противоречиво, укажите обе позиции с датами и источниками 3. Отметьте противоречие в frontmatter: contradictions: [page-name] 4. Отметьте для проверки пользователем в отчете линтинга

### Шаблон index.md

Индекс делится по типам. каждая запись  одна строка: вики-ссылка + описание.
```markdown
# Индекс вики

> Каталог содержимого. Каждая страница вики перечислена под своим типом с однострочным описанием.
> Читайте это в первую очередь, чтобы найти релевантные страницы для любого запроса.
> Последнее обновление: ГГГГ-ММ-ДД | Всего страниц: N

## Сущности
<!-- В алфавитном порядке в пределах раздела -->

## Концепции

## Сравнения

## Запросы

Правило масштабирования: Если любой раздел содержит 50 записей, разделите его на сегменты. по первой букве или поддомену. Когда индекс включает 200 записей в сумме, создайте _meta/topic-map.md, который группирует страницы по темам для более быстрой навигации.

Шаблон log.md

# Журнал вики

> Хронологическая запись всех действий с вики. Только добавление.
> Формат: `## [ГГГГ-ММ-ДД] действие | тема`
> Действия: ingest, update, query, lint, create, archive, delete
> Когда этот файл превышает 500 записей, выполните ротацию: переименуйте в log-ГГГГ.md, начните новый.

## [ГГГГ-ММ-ДД] create | Вики инициализирована
- Домен: [домен]
- Создана структура с SCHEMA.md, index.md, log.md

Основные операции

1. Добавление (Ingest)

Когда пользователь предоставляет источник (URL, файл, вставку), интегрируйте его в вики:

Захватите исходный источник: - URL → используйте web_extract для получения markdown, сохраните в raw/articles/ - PDF → используйте web_extract (обрабатывает PDF), сохраните в raw/papers/ - Вставленный текст → сохраните в соответствующую поддиректорию raw/ - Назовите файл описательно: raw/articles/karpathy-llm-wiki-2026.md - Добавьте frontmatter raw (source_url, ingested, sha256 тела). При повторном добавлении того же URL: пересчитайте sha256, сравните с сохраненным значением — пропустите, если идентично, отметьте расхождение и обновите, если отличается. Это достаточно дешево, чтобы делать при каждом повторном добавлении, и ловит молчаливые изменения источника.

Обсудите ключевые выводы с пользователем — что интересно, что важно для домена. (Пропустите это в автоматизированных/cron контекстах — переходите непосредственно.)

Проверьте, что уже существует — выполните поиск в index.md и используйте search_files для поиска существующих страниц для упомянутых сущностей/концепций. Это разница между растущей вики и кучей дубликатов.

Напишите или обновите страницы вики: - Новые сущности/концепции: Создавайте страницы только если они соответствуют пороговым значениям страниц в SCHEMA.md (упоминания в 2+ источниках или центральность для одного источника) - Существующие страницы: Добавляйте новую информацию, обновляйте факты, обновляйте дату updated. Когда новая информация противоречит существующему содержимому, следуйте Политике обновления. - Перекрестные ссылки: Каждая новая или обновленная страница должна ссылаться как минимум на 2 другие страницы через [[вики-ссылки]]. Проверьте, что существующие страницы ссылаются обратно. - Теги: Используйте только теги из таксономии в SCHEMA.md - Происхождение: На страницах, обобщающих 3+ источника, добавляйте маркеры ^[raw/articles/source.md] к абзацам, утверждения которых восходят к конкретному источнику. - Уверенность: Для утверждений, основанных на мнениях, быстро меняющихся или с одним источником, устанавливайте confidence: medium или low в frontmatter. Не ставьте high, если только утверждение не подтверждено несколькими источниками.

Обновите навигацию: - Добавьте новые страницы в index.md в правильный раздел, в алфавитном порядке - Обновите счетчик «Всего страниц» и дату «Последнее обновление» в заголовке индекса - Добавьте запись в log.md: ## [ГГГГ-ММ-ДД] ingest | Название источника - Перечислите каждый созданный или обновленный файл в записи журнала

Сообщите, что изменилось — перечислите пользователю каждый созданный или обновленный файл.

Один источник может вызвать обновления на 5-15 страницах вики. Это нормально и желательно — это эффект накопления.

2. Запрос (Query)

Когда пользователь задает вопрос по домену вики:

Прочитайте index.md, чтобы определить релевантные страницы. ② Для вики с 100+ страницами также выполните search_files по всем .md файлам для ключевых терминов — одного индекса может быть недостаточно. ③ Прочитайте релевантные страницы, используя read_file. ④ Синтезируйте ответ из накопленных знаний. Укажите страницы вики, которые вы использовали: «На основе [[page-a]] и [[page-b]]...» ⑤ Сохраните ценные ответы — если ответ представляет собой существенное сравнение, глубокое погружение или новый синтез, создайте страницу в queries/ или comparisons/. Не сохраняйте тривиальные запросы — только те ответы, которые было бы трудно воспроизвести. ⑥ Обновите log.md с информацией о запросе и о том, был ли он сохранен.

3. Линтинг (Lint)

Когда пользователь просит провести линтинг, проверку работоспособности или аудит вики:

Страницы-сироты: Найдите страницы, на которые нет входящих [[вики-ссылок]] с других страниц.

# Используйте execute_code для этого — программное сканирование всех страниц вики
import os, re
from collections import defaultdict
wiki = "<WIKI_PATH>"
# Сканируйте все.md файлы в entities/, concepts/, comparisons/, queries/
# Извлеките все [[вики-ссылки]] — постройте карту входящих ссылок
# Страницы с нулевым количеством входящих ссылок являются сиротами

Битые вики-ссылки: Ищите [[ссылки]], которые указывают на несуществующие страницы.

Полный индекс: каждая страница вики должна быть добавлена ​​в index.md. Сравните файловую систему с записями индекса.

Проверка заголовка: каждая страница вики должна иметь все обязательные поля. (название, создано, обновлено, тип, теги, источники). Теги должны быть в таксономии.

Устаревшие требования: Страницы, дата обновлена более чем на 90 дней старше самого последний источник, упоминающий те же самые вещества.

Противоречия: Страницы на одну тему с конфликтующими утверждениями. Ищите страницы, которые имеют общие теги/сущности, но содержат разные факты. Выявите все страницы с заголовком «оспаривается: правда» или «противоречия:» для проверки пользователем.

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

ПрохождениеРасход источников: Для каждого файла в raw/ с обложкой sha256: пересчитайте хеш и из приведенных несоответствий. Несоответствия указывают на то, что исходный файл был отредактирован. (не обязательно менять — необработанный/постоянный) или был добавлен из URL, который с тех пор изменился. Не критическая ошибка, но стоит сообщить.

Размер страницы: Приблизительная длина страницы — 200 строк — кандидаты на разделение.

Аудит тегов: Перечислите все используемые теги, используя любые, отсутствующие в таксономии SCHEMA.md.

Ротация журнала: Если log.md содержит 500 записей, выполните его ротацию.

Сообщите о защите, указав конкретные пути к файлам и предложениям действий, сгруппированных по Серьёзно (битые ссылки > сироты > перемещение источников > спорные страницы > устаревшие правила > проблемы стиля).

Добавьте запись в log.md: ## [ГГГГ-ММ-ДД] lint | Найдено N проблем

Работа с вики

Поиск

# Поиск страниц по содержимому
search_files "transformer" path="$WIKI" file_glob="*.md"

# Поиск страниц по имени файла
search_files "*.md" target="files" path="$WIKI"

# Поиск страниц по тегу
search_files "tags:.*alignment" path="$WIKI" file_glob="*.md"

# Недавняя активность
read_file "$WIKI/log.md" offset=<последние 20 строк>

Массовое добавление

При добавлении нескольких источников одновременно группируйте обновления: 1. Сначала прочитайте все источники 2. Определите все сущности и принципы во всех источниках. 3. проверять наличие страниц для всех них (один проход проверки, а не N) 4. Создать/обновить страницы за один проход (избегает резервных обновлений) 5. Обновите index.md один раз в конце. 6. Запишите одну запись в журнал, собирающую всю партию.

Архивирование

Когда крем полностью устарело или изменилась область действия домена: 1. Создать каталог _archive/, если его нет. 2. Переместите страницу в _archive/ с сохранением исходного пути (например, _archive/entities/old-page.md) 3. Удалите из index.md 4. Обновите все страницы, которые ссылались на нее — замените вики-ссылку на обычный текст + «(архивировано)» 5. Зарегистрируйте действие архивирования.

Интеграция с Obsidian

Каталог вики работает как хранилище Obsidian «из коробки»: - [[вики-ссылки]] подробно как кликабельные ссылки - Представление графа визуализирует сетевые знания - YAML-интерфейс поддержки запросов Dataview - Папка raw/assets/ содержит изображения, которые ссылаются через ![[image.png]]

Для наилучших результатов: - Установите расположение вложений Obsidian на raw/assets/ - Включите «Вики-ссылки» в питание Obsidian (обычно включено по умолчанию) - Установите плагин Dataview для запроса типа TABLE tags FROM "entities" WHERE contains(tags, "company")

Если вы используете навыки Obsidian вместе с этим, установите там же OBSIDIAN_VAULT_PATH каталог, что и путь к вики.

Obsidian Headless (серверы и без видеокарты)

На машинах без видеокарт используйте «obsidian-headless» вместо настольного приложения. Он синхронизирует хранилище через Obsidian Sync без графического интерфейса — идеально для агентов, работающих на на серверах, которые пишутся в Вики, в то время как Obsidian Desktop читает ее на другом устройстве.

Настройка:

# Требуется Node.js 22+
npm install -g obsidian-headless

# Вход (требуется учетная запись Obsidian с подпиской Sync)
ob login --email <email> --password '<пароль>'

# Создайте удаленное хранилище для вики
ob sync-create-remote --name "LLM Wiki"

# Подключите каталог вики к хранилищу
cd ~/wiki
ob sync-setup --vault "<id-хранилища>"

# Первоначальная синхронизация
ob sync

# Непрерывная синхронизация (передний план — используйте systemd для фона)
ob sync --continuous

Непрерывная фоновая синхронизация через systemd:

# ~/.config/systemd/user/obsidian-wiki-sync.service
[Unit]
Description=Синхронизация вики LLM Obsidian
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/path/to/ob sync --continuous
WorkingDirectory=/home/user/wiki
Restart=on-failure
RestartSec=10

[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user enable --now obsidian-wiki-sync
# Включите linger, чтобы синхронизация продолжалась после выхода из системы:
sudo loginctl enable-linger $USER

Это позволяет агенту писать в ~/wiki на сервере, пока вы его не просматриваете. хранилище в Obsidian на ноутбуке/телефоне — изменения в машине за секунды.

Подводные камни

Связанные инструменты

llm-wiki-compiler — это CLI на Node.js, который компилирует источники в концептуальную вики с такой же вдохновляющей идеей Карпати. Он совместим с Obsidian, поэтому пользователи, которые хотят иметь запланированный/управляемый CLI-компиляции конвейера, могут направить его в ту же самую хранилище, какая поддержка этих навыков. Компромиссы: на основе генерации страниц (заменяет суждение агента о создании страницы) и настроения на небольшом корпусе. Используйте этот навык, когда необходимо курирование с привлечением агента; llmwiki, когда вам нужны источники пакетной компиляции каталога.