AI-навыки в SourceCraft
Вы можете автоматизировать повторяющиеся задачи и расширить функциональность чата с Code Assistant в интерфейсе SourceCraft с помощью AI-навыков.
AI-навык запускается в чате с Code Assistant и передает AI-агенту инструкции и контекст, специфичные для конкретной задачи и репозитория, в котором открыт чат.
Вместо того, чтобы каждый раз описывать AI-агенту многошаговые инструкции, опишите их один раз и вызывайте в виде AI-навыка. Более того, AI-навыки позволяют стандартизировать подход к выполнению задач внутри команды, а также переиспользовать этот подход в разных репозиториях.
Например, с помощью AI-навыков вы можете:
- Пройти интерактивное обучение работе с SourceCraft.
- Запросить помощь с конфигурацией репозитория.
- Декомпозировать задачу.
- Сделать саммари по информации из задачи.
- Собрать контекст ваших действий в репозитории за последние несколько часов.
В SourceCraft доступны следующие типы AI-навыков:
-
Системные навыки — сразу доступны для запуска в любом репозитории без предварительной настройки. Их параметры и инструкции размещены в репозитории sourcecraft/ai.
Изменить конфигурацию и инструкции системных навыков нельзя, но можно дописать дополнительные инструкции для агента и выбрать значения параметров по умолчанию.
В пользовательских репозиториях дополнительные инструкции для агента и значения параметров по умолчанию для системных навыков содержатся в файле .sourcecraft/ai.yaml.
-
Навыки из каталога — публичные AI-навыки, собранные командой SourceCraft, и доступные для запуска после импорта в конкретный репозиторий. Их параметры и инструкции размещены в репозитории examples/skills.
Изменить конфигурацию и инструкции навыков из каталога нельзя, но можно дописать дополнительные инструкции для агента и выбрать значения параметров по умолчанию.
В пользовательских репозиториях конфигурация импорта содержится в файле .sourcecraft/ai.yaml.
-
Публичные навыки — размещенные в любых публичных репозиториях. Доступны после импорта в конкретный репозиторий.
Изменить конфигурацию и инструкции импортированных навыков нельзя, но можно дописать дополнительные инструкции для агента и выбрать значения параметров по умолчанию.
В пользовательских репозиториях конфигурация импорта содержится в файле .sourcecraft/ai.yaml.
-
Пользовательские навыки — созданные непосредственно пользователем. Доступны в том репозитории, в котором были созданы. Если репозиторий публичный, то навыки также могут быть импортированы в другой репозиторий.
Вы можете изменить конфигурацию и инструкции в пользовательских навыках.
Параметры и инструкции размещаются в директории .sourcecraft/skills/.
Примечание
Системные навыки и навыки из каталога доступны на главной странице SourceCraft по кнопке
Конфигурационные файлы навыков
Системные навыки не отображаются в файлах пользовательских репозиториев, их конфигурацию и инструкции вы можете посмотреть в репозитории sourcecraft/ai.
Импортированные навыки из каталога или других публичных репозиториев, а также дополнительные инструкции для агента и значения параметров по умолчанию отображаются в файле .sourcecraft/ai.yaml.
Пользовательские навыки размещаются в директории .sourcecraft/skills/.
Конфигурация импортированных навыков
Общий вид файла .sourcecraft/ai.yaml:
skills:
- source:
name: <команда_для_запуска_системного_навыка>
settings:
instructions: |-
<дополнительные_инструкции>
inputs:
<параметр>: <значение_по_умолчанию>
- source:
repo: examples/skills
path: .sourcecraft/skills/issue-summary
- source:
repo: <слаг_организации>/<слаг_репозитория>
path: .sourcecraft/skills/<команда_для_запуска>
settings:
instructions: |-
<дополнительные_инструкции>
inputs:
<параметр>: <значение_по_умолчанию>
Где:
source.name— команда для запуска системного навыка, напримерconfigs-helper. Используется, только если надо задать дополнительные инструкции для агента или параметры по умолчанию;
source.repo— путь к публичному репозиторию, из которого импортируется навык, напримерexamples/skills;source.path— путь к директории с навыком, например.sourcecraft/skills/issue-summary;settings.instructions— дополнительные инструкции для агента, напримерРезультат твоей работы должен быть только на английском языке;settings.inputs— параметры навыка по умолчанию, напримерconfig_type: Правила для веток.
Конфигурация пользовательских навыков
AI-навык размещается в репозитории по пути .sourcecraft/skills/<команда_для_запуска>/SKILL.md.
Общий вид файла SKILL.md:
---
name: <команда_для_запуска>
description: "<описание>"
metadata:
inputs:
<параметр_навыка>:
type: <тип_параметра>
description: "<описание_параметра>"
required: <true_или_false>
options:
- "<возможное_значение_1>"
- "<возможное_значение_2>"
title: <название_навыка>
---
<Текстовые_инструкции_для_агента_в_разметке_Markdown>
Где:
name— команда для запуска навыка, напримерissue-summary.description— описание навыка, напримерСоздает краткое саммари по задаче. Можно использовать, чтобы быстро разобраться в том, что происходит в больших задачах или задачах с объемной дискуссией в комментариях.metadata.inputs— (опционально) параметры навыка, напримерissue_link:-
type— тип параметра, возможные значения:string— строка.bool— логическое значениеtrueилиfalse.choice— выбор из предустановленных значений.
Примечание
Если в конфигурации указан параметр
options, необязательно задавать параметрtype: choice.Если тип не указан и нет параметра
options, то тип параметра по умолчанию —string.В текстовых инструкциях для агента параметры указываются в формате
{{ <параметр_навыка> }}. -
description— произвольное описание параметра, которое будет отображаться в интерфейсе SourceCraft. -
required— обязательность параметра. Возможные значения:trueилиfalse. -
options— возможные значения для типа параметраchoice.
-
title— название навыка, которое будет отображаться в интерфейсе SourceCraft, напримерСаммари по задаче.
Совет
Примеры готовых навыков см. в репозиториях sourcecraft/ai и examples/skills.