Сценарии использования Obsidian Copilot
В статьях Obsidian и нейросети и Настройка Copilot в Obsidian мы рассмотрели настройку замечательного плагина Obsidian Copilot. В этой статье будут рассмотрены сценарии и приёмы работы с этим плагином в плане его использования в каждодневной практике при работе с заметками Obsidian.
Важное замечание
Все материалы, представленные в этой статье, являются личным мнением автора и не претендуют на абсолютную истину.
Вопросы нейросети и чат в Obsidian Copilot
Самым простым и понятным способом работы с нейросетью является режим чата (см. Obsidian и нейросети): вы задаёте вопрос, нейросеть отвечает. Собственно, так работа и идёт, например, в веб-интерфейсе ChatGPT или OpenRouter. И в чате Copilot можно работать точно так же, например, просить его помочь с разметкой Markdown или LaTeX:
Обратите внимание, в промпте мне пришлось уточнить, что нужен LaTeX именно для Obsidian. Если бы я этого не сделал, нейросеть написала бы просто блок в чистом LaTeX, его пришлось бы чуть-чуть менять из-за особенностей синтаксиса LaTeX в Obsidian.
Решить эту проблему можно с помощью глобального промпта, который рассматривается ниже.
Отличие работы с Copilot от простого чата с нейросетью
Copilot интегрирован с Obsidian, поэтому его чат может делать несколько больше, чем просто вопросы и ответы, а именно:
- Загрузка заметок в контекст запроса.
- Работа с сохранёнными промптами.
Делается это довольно просто: в режиме чата при написании запроса просто поставьте два символа [[
и выберите любую заметку, которую вы хотите отдать нейросети для анализа. Вот пример:
Это очень удобно, особенно если ваши заметки выдержаны в духе Zettelkasten, то есть атомарны и самодостаточны по своей сути. Только важно помнить, что никакие блоки DataView, Tasks, вставки других заметок не выполняются — они рассматриваются просто как текст.
Промпты
Как правильно писать промпты для нейросети
Эффективность взаимодействия с Obsidian Copilot во многом зависит от того, как вы формулируете свои запросы, то есть от качества промпта. Вот несколько основных советов:
- Будьте конкретными: чем более чётким и детализированным будет ваш запрос, тем более точный ответ вы получите.
- Используйте контекст: указывайте, какие заметки или темы вы хотите обсудить (загружайте эти заметки в контекст), чтобы нейросеть могла лучше понять ваш запрос.
- Старайтесь указывать нейросети роль: особенно на нечётких вопросах, например: «Действуй как опытный маркетолог и предложи концепцию развития бизнеса пекарни возле дома» или «Ты специалист по SEO, напиши рекомендации для страницы сайта, текст которой указан в заметке ТЕКСТ СТРАНИЦЫ«.
- Старайтесь показывать нейросети формат ответа, который хотите получить: например: «Ответ напиши в виде текста со следующей структурой (и распишите пример)«.
Вот это всё и является промптами. Понятно, что часто приходится использовать одни и те же промпты (или их части) несколько раз.
У Copilot есть минимум два способа работы с промптами:
- Глобальный промпт, который выполняется при создании каждого нового чата.
- Настраиваемые промпты (Custom Prompts) — промпты, которые заранее сохранены и могут вызываться в любой момент.
Глобальный промпт Obsidian Copilot
Глобальный промпт — это промпт, который выполняется при создании каждого нового чата и позволяет задать общие параметры для всех запросов Copilot к LLM.
Сам промпт указывается в настройках плагина: Advanced Settings → User System Prompt.
Например, у меня он вот такой:
Ты Копилот в Obsidian, могучий и умный AI-помощник, который помогает мне в ведении и анализе моих заметок. Пожалуйста, отвечай мне на русском языке в формате заметок Obsidian.
Обратите внимание, я сразу указал ему предпочтительный язык для общения и формат ответов, например, чтобы те же формулы LaTeX он писал сразу для Obsidian.
Не забудьте после изменения глобального промпта нажать сверху страницы настроек кнопку Save and Reload.
Настраиваемые промпты (Custom Prompts)
Эти промпты сохраняются в виде заметок в выбранной вами папке в настройках плагина:
Они создаются просто как заметки или с помощью команды Copilot: Add Custom Prompt
.
Особенность настраиваемых промптов заключается в том, что в них можно использовать несколько переменных, которые будут при вызове автоматически заменены реальными значениями:
Я особенно часто использую переменную {activeNote}
, которая заменяется содержимым текущей заметки. Ниже будут показаны примеры таких промптов.
Как вызвать настраиваемые промпты
Чтобы вызвать сохранённый вами промпт, есть два способа.
Первый способ — это прямо в чате поставить символ слеша /
, и вам будет предложено выбрать промпт. Сразу после выбора весь текст промпта будет вставлен прямо в окно чата. Правда, переменные в этом случае не подставляются — просто текст вашего промпта.
Второй способ намного более мощный. Он вызывается с помощью команды Copilot: Apply Custom Prompt
. Ещё можно вызвать с помощью панели команд Ctrl + P
или вообще на эту команду добавить свою горячую клавишу. Я так и сделал и нахожу такой способ невероятно удобным.
При выполнении этой команды вам предлагается выбрать сохранённый промпт, и он тут же будет отправлен нейросети, ответ появится в чате.
Вот несколько примеров таких промптов, которые я часто использую.
Примеры промптов
Добавление тегов в заметку
Я практически не использую теги для систематизации заметок. Много раз пробовал, но, что называется, не зашло. Слишком большой список тегов (сущностей) получается, да и много лишних, на мой взгляд, телодвижений с тегами. В основном я использую теги для поиска, то есть теги — это ключевые слова, по которым я хотел бы найти эту заметку в будущем. Все теги я пишу в мета-свойствах (frontmatter), мне так удобнее. Но это мой подход, возможно, вы считаете и делаете иначе.
Так вот, часто бывает нужно сформировать список тегов для заметки в формате, который бы сразу можно было вставить в код свойств заметки.
Вот мой промпт:
Проанализируй заметку {activeNote} и предложи список тегов для неё в формате YAML. Вместо пробела используй
_
.
А вот так он работает: я нажимаю горячую клавишу, которая вызывает Apply Custom Prompt
, выбираю «теги» — и вот результат:
Один клик на копирование готового списка, переход в режим исходного кода заметки и вставка этого кода во frontmatter. Всё! Буквально три движения и пара секунд на выполнение всей операции.
Корректура текста заметки
Я могу писать достаточно длинные и большие заметки (отчёты, статьи и т.п.) и хотел бы, чтобы они были более-менее в приличном виде. После написания такой заметки я, во-первых, проверяю её на орфографию (плагин Language Tools), а далее выполняю корректуру. Для этого использую вот такой промпт:
Ты опытный корректор текста. Проверь и исправь стилистику и текст заметки. Максимально сохрани форматирование и структуру. Вот текст:
{activeNote}
И вот результат:
Осталось только одним кликом его скопировать и заменить текст исходной заметки. Опять же, это фактически два клика: вызов команды применения промпта и копирование/вставка результата.
Постановка задач
Это, пожалуй, мой самый любимый и самый часто используемый промпт. Я получаю большое число входящих сообщений от клиентов. Это может быть и почта, и сообщения в Телеграме, и далеко не всегда запросы и инструкции в сообщениях чёткие и внятные (голосовые сообщения у меня просто запрещены, так как там вообще кошмар!). Запросы или проблемы в таких сообщениях могут быть размытыми или вообще непонятными. Чтобы упростить работу с такими сообщениями, я использую промпт:
Проанализируй заметку {activeNote} и выполни следующие действия:
- Выдели все задачи в этой заметке.
- Напиши список задач.
- Каждую задачу напиши как отдельный пункт списка и начни с символов
- [ ]
.- Вложенными пунктами под формулировкой задачи распиши основной план её решения.
- Под списком задач поставь пустую строку и напиши любую информацию, которую считаешь нужной.
Вот пример списка:
- [ ] Задача 1
- Действие 1
- Действие 2
- [ ] Задача 2
- Действие 1
- Дополнительная информация
Дополнительная информация на своё усмотрение и вопросы к заказчику, если они есть.
И вот как он работает:
Заключение
Конечно же, возможности Copilot не ограничиваются только этими показанными примерами. Obsidian Copilot открывает новые горизонты в повседневной работе, позволяя намного более эффективно работать с сохранённой информацией в картотеке Obsidian. Правильное использование промптов и интеграция с заметками делают этот инструмент мощным помощником в организации мыслей и задач. Надеюсь, что показанные здесь сценарии использования помогут вам максимально эффективно использовать Obsidian Copilot в вашей работе.
Примечание: корректура этой статьи была выполнена моделью openai/o1-preview
, на корректуру ушло около минуты.