Skip to content

Управление ответами AI

Поведение модели задаётся не одним системным промптом, а слоями: что выбрано в композере на этот ход, какой режим и пайплайн, какие скиллы/агент и какой system_prompt у RAG-скоупа. Ниже — как менять тон, инструменты и форму итогового документа.

Поверхности чата — AI-чат. Каталог режимов — Режимы AI-чата. Бэкенд — AI Router.


Слои управления

СлойКто меняетГдеНа что влияет
Композер ходалюбой пользовательнижняя панель AI-чатапровайдер, режим, агент, scopes, tools, форма запроса
Структурированный запрослюбой пользователькнопка формы в композереполя «контекст / задача / цель / формат результата» уходят в сообщение
Режим (mode)пользовательселектор режимапайплайн, набор tools, шаблон артефакта
Агентпользователь / админкомпозер / Settings → Agentstools, skills, scopes, MCP, свой system_prompt
СкилладминSettings → AI Router → Skillsинструкция + tools, подмешивается в system хода
ПайплайнадминНастройки → AI Router → Процессскиллы режима, MaxSteps, промпт цикла (шаблон spec/plan)
RAG-скоупадминSettings → AI Router → Scopessystem_prompt базы знаний (anti-hallucination, тон ответов по документам)
Guardплатформаавтоматическимаскирование PII/секретов до LLM

Порядок на ходе: Guard → сборка system (режим + скиллы + агент + scope) → planner/loop → ответ.


На ходе (композер)

В нижней панели чата:

  • Провайдер / модель — какая LLM отвечает (OpenAI, Anthropic, Google, Ollama, OpenAI-compatible).
  • Режим — в UI: Агент / Планирование / Постановка (spec) / Наблюдаемость (obs, только при space-scope). Значение agent на бэкенде — оркестратор multi-agent.
  • Агент — готовый пресет. Если выбран, tools/scopes/skills хода берутся с агента, ручной набор tools не мержится.
  • Scopes — какие RAG-базы видит search_knowledge_base. Чат пространства фиксирует space-{id}.
  • Tools — ручной набор, если агент не выбран и режим не фиксирует runtime сам (plan / obs / spec — tools только с бэкенда).

Режимы plan / obs / spec сбрасывают выбранного агента: поведение задаёт пайплайн режима, а не карточка агента.

Структурированный запрос

Иконка формы в композере собирает сообщение из четырёх полей (пустые пропускаются):

  1. Контекст — исходные данные, ссылки, ограничения.
  2. Задача — что сделать.
  3. Цель — какой результат считать успехом.
  4. Формат результата — как ответить. Пресеты: кратко, маркированный список, шаги, код, таблица, чеклист, черновик.

Это самый прямой способ задать вид ответа на один ход, без правки пайплайна. Поля склеиваются в текст сообщения и уходят в LLM как обычный user-prompt.

Текстовые вложения (.txt, .md, .json, .csv) дополняют запрос, но не меняют RAG-индекс.


Шаблоны артефактов (plan / spec)

Форма «каким документом вернуть план или постановку» не выбирается в композере. Она задаётся промптом цикла в Настройки → AI Router → Процесс. Отдельного файла в каталоге Templates (PPTX/draw.io) для spec/plan нет.

Постановка (mode=spec)

Канон шаблона — DefaultSpecChatPrompt. Скилл(ы) подмешиваются из skill_slugs пайплайна spec (сид system-analyst). Итог — markdown с frontmatter:

markdown
---
kind: unishift-spec
status: draft
---

# <Название>

## Контекст и цель
## Функциональные требования
FR-1. Система должна ...

## Нефункциональные требования
NFR-1. ...

## Архитектурные возможности
## Границы
## Критерии приёмки
- [ ] ...

## Источники (обязательно)
## Предположения (явно)
## Открытые вопросы

Сохранение: в space — create_note / update_note; вне space — create_file (.md). Полный текст дублируется в чат. create_task в spec выключен: задачу в трекере создаёт человек после ревью.

Как поменять шаблон постановки

  1. Настройки → AI Router → Процесс → режим ПостановкаСкиллы режима (сид system-analyst) и Шаблон постановки (system prompt цикла). Пустое поле промпта возвращает эталон.
  2. Body скилла правится в Settings → AI Router → Skills. Slug должен совпадать с тем, что выбран в пайплайне.

План (mode=plan)

Аналогично, шаблон в prompt Chat Loop режима plan:

markdown
---
kind: unishift-plan
status: draft
---

# Title
## Goal
## Context
## Constraints
## Steps
### 1. Title
- goal: ...
- tools: ...
- acceptance: ...
## Out of scope

Файл пишется через create_file. Правки — тот же шаблон целиком, не патч. Слайды: в плане появляются блоки <!-- SLIDE: --> / ## Слайд N, затем create_pptx.


Скиллы и агенты

Skills (Settings → AI Router → Skills) — пакеты инструкций (markdown). На ход в system попадает каталог кандидатов; полный body — только у выбранных (embed/keyword, picker = always-keep).

  • invocation: auto — скилл может подхватиться сам.
  • invocation: explicit — только picker или tool read_skill.
  • Поле tools у скилла расширяет набор инструментов хода.

Import/export: SKILL.md или zip. Origin-чат в редакторе скилла — draft-only.

Agents (Settings → Agents) — именованный runtime: system_prompt + tools + skill_slugs + scopes + mcp_slugs. Пользователь выбирает агента в композере. Для спейса можно показать space-агента.

Spec-режим игнорирует выбранного агента. Скиллы хода берутся из графа пайплайна (skill_slugs), не из композера.


Пайплайны (админ)

Настройки → AI Router → Процесс (/settings/ai-router/pipeline; при узкой панели — Ещё). Карточка на режим (chat, multi-agent/agent, plan, obs, spec).

Скиллы режима (graph.skill_slugs): явная привязка instruction packs. Сид spec — system-analyst. Пустой список отвязывает скиллы. Frozen-режимы (plan / obs / spec) не берут скиллы из композера.

Промпт цикла — инструкция модели на шаге chat loop (шаблон unishift-spec / unishift-plan). Пустое поле → дефолт из кода. У Agent/Chat дополнительно промпт планировщика; у Agent/Plan/Spec — промпт уточнений. MaxSteps — лимит итераций tool-loop.

После правки сохраните. Прогон на той же странице гоняет режим без UI-чата.

Техническое описание режимов и дефолтных промптов: AI Router — режимы.


Скоуп базы знаний

Settings → AI Router → Scopessystem_prompt скоупа. Текст добавляется, когда чат ищет по этой базе (search_knowledge_base). Типичное: «отвечай только по документам», «цитируй Source», корпоративный тон.

Скоуп space-{uuid} привязан к workspace и ACL. Общие базы шарятся через shared_user_ids.


Безопасность ответа

  • Guard маскирует PII/секреты до вызова LLM, в чате — баннер DLP.
  • confirm_tools в настройках пользователя: опасные tools (команды, мутации) ждут подтверждения в UI.
  • В Monitoring — чаты, токены и prompt traces (если включён сбор трейса).

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