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 по кнопке Просмотреть AI-навыки.

Конфигурационные файлы навыков

Системные навыки не отображаются в файлах пользовательских репозиториев, их конфигурацию и инструкции вы можете посмотреть в репозитории 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.

См. также

Предыдущая
Следующая