Buff Development
Buff CodeСессии разработки

Спросить по сессиям

Вопрос модели по записям сессий разработки: три способа, примеры по ролям, что получает модель, как читать ответ, кто видит вопрос, расход и журнал.

По записям сессий разработки можно задавать вопросы — так же, как «Спросить» отвечает по коду. Модель читает записи, а не пересказывает по памяти, и на каждое утверждение ссылается на сессию и шаг. Ответ приходит во вкладку «Вопросы» раздела, где и хранится.

Три способа задать вопрос

ОткудаЧто попадёт в вопросЗаголовок диалога
Кнопка «Спросить» в открытой сессииэта сессия«Спросить по сессии» и название сессии
Кнопка «Спросить по выборке» над спискомвсе сессии под текущими фильтрами: период, разработчик, проект«Спросить по выборке»: сколько сессий, за какой период, чьи, в каком проекте
«Новый вопрос» во вкладке «Вопросы»сессии, которые вы отметите в окне: поиск по запросу, разработчику, проекту или машине, флажок у каждой, счётчик «Выбрано: N»«Новый вопрос»

В диалоге — поле вопроса и подсказка: спросите своими словами, что делал разработчик, почему выбрано такое решение, где ушло больше всего времени и денег, что осталось незакрытым. Отправить — кнопкой «Спросить» или Ctrl+Enter (⌘+Enter на Mac). Пока в «Новом вопросе» не отмечена ни одна сессия, кнопка недоступна; если под фильтры выборки не попало ни одной сессии, вопрос не создастся: «За выбранный период сессий нет».

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

Какие вопросы задавать

КтоПримеры
Руководитель«Что сделала команда за неделю и во что это обошлось?» · «На какие задачи ушло больше всего токенов?» · «Где модель ходила по кругу?»
Тимлид«Какие препятствия всплывали у новичка в этом проекте?» · «Что осталось незакрытым в сессии про миграцию?» · «Какие тесты падали и как это чинили?»
Продакт, аналитик«Что разработчики выясняли про экспорт отчётов?» · «Какие вопросы про выкладку задавали модели?»
Разработчик«Почему я в итоге выбрал этот вариант?» · «Какие файлы я менял позавчера и зачем?»
Информационная безопасность«Уходили ли к модели файлы из папки secrets?» · «Какие команды запускались с sudo?»

Ответ по нескольким сессиям — это сводка по записям, а не по коду: модель видит, что делалось и что получилось, но не видит текущее состояние репозитория.

Что получает модель

  • Перечень сессий набора — только их. Сессия, которой в наборе нет, для модели недоступна, даже если она угадает её идентификатор.
  • Два инструмента по записям: оглавление сессии (dev_session_toc) — кто, когда, модель, итоги по токенам и списанию и шаги: что сказал разработчик и что было сделано по этому — вызовы модели, инструменты, файлы, ошибки, токены, списание; и чтение диапазона сообщений (dev_session_read) — слова разработчика, ответы и рассуждения модели, вызовы инструментов с аргументами, их результаты, ошибки. Модель сначала читает оглавление, потом только те шаги, которые нужны для ответа.
  • База знаний организации — только чтение, как в «Спросить».
  • Кода нет. Сессии шли на машине разработчика; репозиторий проекта в этом режиме не подключается. Спросить по коду можно в обычном «Спросить».

Ничего не записывается: вопрос читает записи и не меняет ни их, ни базу знаний.

Набор замораживается

Набор сессий фиксируется в момент создания вопроса. Новые сессии, которые появятся позже, в этот вопрос не попадут, даже если подходят под те же фильтры, — ответ всегда можно воспроизвести по тем же записям. Нужны свежие сессии — задайте новый вопрос. Идущая сессия, попавшая в набор, читается такой, какой она будет на момент ответа: набор заморожен по сессиям, а не по ходам.

Как читать ответ

Ответ — в Markdown, простым языком. Каждое утверждение о сессии модель подкрепляет ссылкой вида «сессия id, шаг N (время)». Это текст, а не ссылка: перехода по нему в интерфейсе нет — откройте сессию из списка и найдите шаг по времени на полосе хода.

Шаг в ответе и шаг на полосе хода — разные вещи. В оглавлении, которое читает модель, шаг — это одно сообщение разработчика и всё, что было сделано по нему (служебные вызовы в шаги не входят). На полосе хода шаг — каждая метка: сообщение или одно действие. Поэтому «шаг 3» в ответе — это третий запрос разработчика, а не третья метка. Деньги модель называет по списанию из оглавления. Если в записях ответа нет, модель так и говорит.

Диалог ведётся как в «Спросить»: видно рассуждение, можно приложить файл (Word, Excel, PowerPoint, PDF, текст) и задать встречный вопрос — поле называется «Уточнить вопрос по сессиям». Если модели не хватает вашего выбора, она спросит сама — в списке вопрос помечен «Ждёт вашего ответа».

Список вопросов

Во вкладке «Вопросы» каждый вопрос подписан тем, о чём он: «Сессия: …» — по одной сессии; «N сессий: …» с названиями — по отмеченным вручную; «N сессий · с … · логин · проект» — по выборке. Рядом — день и автор; спиннер — «Buff думает». На телефоне список и открытый вопрос занимают экран по очереди, назад ведёт кнопка «Все вопросы».

Кто видит вопрос

Вопрос виден владельцу организации и тому, кому доступны все сессии набора — то есть разработчику, если в наборе только его сессии. Тред с чужими сессиями участнику не откроется.

Для вопроса нужны право задавать вопросы (как для «Спросить») и положительный баланс.

Расход и журнал

Ответ списывается по тарифу организации, как «Спросить»; в истории биллинга строка ведёт во вкладку «Вопросы». Создание вопроса по сессиям попадает в журнал аудита событием ask.create с перечнем сессий набора.

On this page