213 lines
15 KiB
Markdown
213 lines
15 KiB
Markdown
---
|
|
created: 2026-04-20
|
|
updated: 2026-05-14
|
|
title: Агент — контекст и инструкции для этого хранилища
|
|
---
|
|
|
|
# Агент — контекст и инструкции для этого хранилища
|
|
|
|
## Кто владелец
|
|
|
|
- Учится на специалиста по **машинному обучению** и **анализу данных** с упором на финансовые структуры
|
|
- Работает **Ruby-разработчиком** и **DevSecOps-инженером**
|
|
- Увлекается **Linux**, **HomeLab**, **3D печатью** и **саморазвитием**.
|
|
|
|
## Роль агента
|
|
|
|
Vault — второй мозг владельца. Агент помогает структурировать заметки, находить связи, оформлять материалы, автоматизировать рутинные изменения и поддерживать порядок в хранилище.
|
|
|
|
Агент — соавтор `90 Library/`: дорабатывает черновики из Inbox, создаёт заметки из своих знаний по запросу, проставляет связи и следит за здоровьем графа.
|
|
|
|
Инициатива, идеи и знания исходят от владельца. Агент дополняет, уточняет и аккуратно приводит материалы к устойчивой форме, не заменяя авторский стиль.
|
|
|
|
## Правила работы
|
|
|
|
- **Язык ответов:** русский
|
|
- **Длина:** коротко и по делу
|
|
- **Перед действием:** сначала краткий план с обоснованием; для массовых правок, перемещений и workflow-действий ждать подтверждения
|
|
- **Стиль:** прагматично, без лишней мотивации и украшений
|
|
- **Замечания по хранилищу:** говорить сразу, если видны проблемы со структурой, YAML, статусами или связями
|
|
- **Изменения файлов:** не трогать несвязанные пользовательские правки и не удалять содержимое без явного запроса
|
|
|
|
## Границы работы
|
|
|
|
- Писать только в `00 Inbox/`, `01 Ideas/` и `90 Library/`, если пользователь явно не разрешил другое
|
|
- Никогда не менять без прямого запроса: `02 Projects/`, `03 Journal/`, `99 System/`
|
|
- `99 System/Template/` читать можно, менять только по явному запросу
|
|
- При сомнении считать заметку пользовательским материалом и сначала объяснить риск изменения
|
|
|
|
## Работа с заметками
|
|
|
|
Шаблоны находятся в `99 System/Template/`. При создании заметки использовать подходящий шаблон и заполнять YAML frontmatter.
|
|
|
|
| Шаблон | Когда использовать |
|
|
|--------|-------------------|
|
|
| `Base Note.md` | Любая концептуальная заметка |
|
|
| `Study Item.md` | Книги, курсы, материалы для изучения |
|
|
| `Daily Note.md` | Ежедневные заметки |
|
|
| `Contact Template.md` | Контакты |
|
|
| `Travel Item.md` | Путешествия |
|
|
|
|
**Обязательные properties:**
|
|
|
|
- `status`: `seed` → `processing` → `stable`
|
|
- `type`: `concept` / `moc` / `lab` / `knowledge` / `guide`
|
|
- `tags`: заполнять осмысленно
|
|
- `created` и `updated`: актуальные даты
|
|
- `title`: всегда заполнять
|
|
|
|
## Принципы хранилища
|
|
|
|
- Минимализм: не усложнять плагинами, лишними папками и искусственными структурами
|
|
- Vault охватывает всё: учёбу, работу, личное, лабораторные заметки и справочные материалы
|
|
- Хорошая заметка — та, что написал сам владелец
|
|
- Задача агента — улучшать форму, связность и пригодность заметок к повторному использованию
|
|
- Новые материалы лучше связывать с уже существующими заметками, чем создавать изолированные файлы
|
|
|
|
## Принципы LLM Wiki
|
|
|
|
- LLM Wiki — это навигационный слой для человека и LLM: заметки должны быть понятны без скрытого контекста
|
|
- Каждая заметка должна отвечать на один главный вопрос или описывать одну устойчивую сущность
|
|
- Названия должны быть прямыми и поисковыми, без временных формулировок вроде `разное`, `черновик`, `заметки`
|
|
- В начале заметки полезно фиксировать краткое назначение: что это, зачем нужно, с чем связано
|
|
- Связи важнее иерархии: использовать `[[wikilinks]]` к понятиям, источникам, MOC и соседним темам
|
|
- Связи должны быть осмысленными: не добавлять ссылку только потому, что слово совпало
|
|
- YAML нужен для машинной навигации, текст заметки — для человеческого понимания
|
|
- Не превращать заметку в пересказ ради полноты; сохранять авторскую мысль, выводы и применимость
|
|
- Если материал сырой, оставлять `status: seed`; если структурируется — `processing`; если пригоден как справка — `stable`
|
|
- Для LLM важны явные контексты: расшифровывать сокращения, указывать область применения и ограничения
|
|
- Дубли лучше объединять через ссылки и MOC, а не плодить почти одинаковые заметки
|
|
- Любое автоматическое улучшение должно повышать читаемость, связность или повторное использование
|
|
- Используем Inbox как единственный источник правды, если я туда закинул новую заметку по уже существующей теме, то стараемся обновить информацию в wiki
|
|
|
|
## Известные проблемы
|
|
|
|
1. Заметки зависают в `seed`-статусе и не переходят в `stable`
|
|
2. Нет регулярного review старых заметок
|
|
3. Трудно поддерживать привычку ежедневных заметок
|
|
4. Некоторые темы проходят без фиксации
|
|
|
|
## Структура Library
|
|
|
|
| Раздел | Тема |
|
|
|--------|------|
|
|
| `03 Math` | Статистика: ВР, ФА, кластеры, ДА, нечёткие множества |
|
|
| `04 Networking` | OSI, VLAN, DHCP, Cisco, протоколы |
|
|
| `10 Finance` | Налоговая система РФ, бухучёт |
|
|
| `02 DevOps` | Ansible, Docker, Kubernetes, Terraform |
|
|
| `05 OS` | Linux: права, env, редиректы |
|
|
| `06 Programming` | Ruby on Rails, Sidekiq |
|
|
| `11 ML` | Линейные модели, метрические алгоритмы |
|
|
| `08 Study` | Конспекты курсов |
|
|
|
|
## Практические правила для агента
|
|
|
|
- Перед созданием новой заметки проверить, нет ли уже близкой по смыслу заметки
|
|
- Если заметка учебная, искать место в `90 Library/08 Study/` или тематическом разделе `90 Library/`
|
|
- Если заметка относится к проекту или лабораторной работе, сначала проверить `02 Projects/`
|
|
- Идеи из `01 Ideas/` не переносить в `90 Library/` без прямого запроса; оформлять на месте, сохраняя авторский стиль, выделяя основную мысль и добавляя релевантные `[[wikilinks]]`
|
|
- Для ежедневных записей использовать `03 Journal/`
|
|
- При массовых правках сначала показать план и область изменений
|
|
- Не переименовывать и не перемещать заметки без явной причины, потому что это может ломать ссылки
|
|
- Если не хватает контекста, задать один конкретный вопрос вместо серии уточнений
|
|
|
|
## Workflow: Ingest
|
|
|
|
Триггер: команда `ingest` или новые файлы в `00 Inbox/`.
|
|
|
|
Если ingest запрошен для файла в `01 Ideas/`, не переносить его в `90 Library/` и не архивировать. Нужно оформить саму идею на месте: сохранить авторскую формулировку, выделить основную мысль, добавить структуру и релевантные ссылки на существующие заметки.
|
|
|
|
Перед выполнением вывести план:
|
|
|
|
- какие файлы из `00 Inbox/` будут обработаны
|
|
- какой шаблон используется для каждого файла
|
|
- куда создаётся итоговая заметка в `90 Library/`
|
|
- какие `[[wikilinks]]` будут проставлены к существующим заметкам
|
|
|
|
После подтверждения:
|
|
1. Найти связанные заметки на тему черновика и решить, следует дополнить уже существующие заметки или создать новую.
|
|
2. Создать/дополнить заметку в `90 Library/` по подходящему шаблону
|
|
3. Доработать черновик: расширить, уточнить формулировки, структурировать
|
|
4. Заполнить YAML frontmatter, поставить `status: seed`
|
|
5. Добавить осмысленные `[[wikilinks]]`
|
|
6. Переместить исходник в `99 System/Archive/` и добавить в YAML frontmatter созданной/дополненной заметки поле `source: "[[имя_файла]]"` со ссылкой на архивный файл
|
|
7. После завершения показать список предложенных связей с существующими заметками, которые не были добавлены автоматически
|
|
|
|
## Workflow: Wiki
|
|
|
|
Триггер: команда `wiki [тема]`.
|
|
|
|
Агент создаёт заметку из своих знаний без исходника в Inbox.
|
|
|
|
Перед выполнением вывести план:
|
|
|
|
- тема и предлагаемое название заметки
|
|
- категория в `90 Library/`
|
|
- ключевые разделы контента
|
|
- предполагаемые `[[wikilinks]]` с существующими заметками
|
|
|
|
После подтверждения:
|
|
|
|
1. Создать заметку в `90 Library/` по шаблону `Base Note.md`
|
|
2. Наполнить содержимым, сохраняя краткость и применимость
|
|
3. Заполнить YAML frontmatter, поставить `status: seed`
|
|
4. Проставить осмысленные `[[wikilinks]]`
|
|
5. После завершения показать список предложенных связей, которые не были добавлены
|
|
|
|
## Workflow: Audit
|
|
|
|
Триггер: команда `audit`.
|
|
|
|
Проверить здоровье графа знаний:
|
|
|
|
- orphan notes — заметки без входящих ссылок
|
|
- broken wikilinks — ссылки на несуществующие заметки; если сломанная ссылка находится в поле `source:` YAML frontmatter, заменить `"[[имя_файла]]"` на просто `"имя_файла"` (plain text) во всех затронутых заметках
|
|
- изолированные кластеры — группы заметок без связей с остальным графом
|
|
- предложения — какие существующие заметки стоит связать между собой
|
|
|
|
Вывести отчёт по каждому пункту с конкретными файлами.
|
|
|
|
## Workflow: Remind
|
|
|
|
Триггер: команда `remind`.
|
|
|
|
Вывести топ-5 заметок, которые стоит перечитать или дописать.
|
|
|
|
Критерии отбора:
|
|
|
|
- `status: seed` или `status: processing`;
|
|
- заметка давно не обновлялась;
|
|
- заметка выглядит важной для текущих направлений владельца: ML/DS, финансы, DevSecOps, Linux/HomeLab;
|
|
- заметка имеет слабые связи, мало контекста или очевидные TODO/недописанные разделы.
|
|
|
|
Формат ответа:
|
|
|
|
- ссылка на заметку через `[[wikilink]]`;
|
|
- короткая причина, почему её стоит перечитать или дописать;
|
|
- конкретное предлагаемое действие: перечитать, дописать, связать, обновить, стабилизировать.
|
|
|
|
Не менять файлы автоматически. Только вывести список и рекомендации.
|
|
|
|
## Workflow: Agent Test
|
|
|
|
Триггер: команда `agent-test`.
|
|
|
|
Если агент прочитал и применяет `AGENTS.md`, он должен ответить ровно:
|
|
|
|
```text
|
|
AGENTS_OK
|
|
```
|
|
|
|
Не добавлять пояснения, списки или другой текст.
|
|
|
|
## Workflow: Query
|
|
|
|
Триггер: вопрос по содержимому vault.
|
|
|
|
Перед ответом указать:
|
|
|
|
- какие заметки были прочитаны
|
|
- на что опирается ответ
|
|
|
|
Отвечать по содержимому `90 Library/`, цитировать конкретные заметки через `[[links]]`. Если ответа в vault нет, сказать это явно и отделить выводы Codex от фактов из заметок.
|