BC trigger-authoring-chat-agent
Создание и запуск надежного чат-агента ИИ с помощью chat.agent из @trigger.dev/sdk/ai: цикл выполнения пошагово, почему вы ДОЛЖНЫ использовать streamText из аргумента запуска, а не импортировать его из ai, возврат StreamTextResult вместо вызова chat.pipe(), два серверных действия (chat.createStartSessionAction + auth.createPublicToken) и подключение useChat к useTriggerChatTransport. Используйте это при создании, изменении или отладке backend чата (задачи агента или ее хуков жизненного цикла) или ее транспорта React, при объявлении типизированных инструментов или пользовательских частей данных, или при миграции обычного маршрута AI SDK streamText на chat.agent.
машинный переводПоказать оригиналСкрыть оригинал«Author and run a durable AI chat agent with chat.agent from @trigger.d…»
Author and run a durable AI chat agent with chat.agent from @trigger.dev/sdk/ai: the per-turn run loop, why you MUST take streamText from the run argument rather than importing it from ai, returning a StreamTextResult vs calling chat.pipe(), the two server actions (chat.createStartSessionAction + auth.createPublicToken), and wiring useChat to useTriggerChatTransport. Load this when building, modifying, or debugging a chat backend (the agent task or its lifecycle hooks) or its React transport, when declaring typed tools or custom data parts, or when migrating a plain AI SDK streamText route to chat.agent.
Создание и запуск надежного чат-агента ИИ с помощью chat.agent из @trigger.dev/sdk/ai: цикл выполнения пошагово, почему вы ДОЛЖНЫ использовать streamText из…
Как процесс C 53/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- заметка
frontmatter-keyнеизвестное поле фронтматтера "type" - заметка
frontmatter-keyнеизвестное поле фронтматтера "library" - заметка
frontmatter-keyнеизвестное поле фронтматтера "sources" - заметка
edit-residueв тексте есть пометки об устаревшем (строки 201): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия
Процессный рейтинг: все десять параметров 53/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 6, без проверки текущего состояния
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 85Шаги. Шагов: 14, расплывчатых формулировок: 1
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 3174 токенов
- high Скилл велит модели самой совершать необратимое действие, без подтверждения человеком
- low Ответ описан самодельной разметкой (3 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 611 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 15 заголовков
- +3Пошаговые инструкции: 14 пунктов
- +4Есть примеры (10 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 81.