Skip to content

Сценарии задач ​

Сценарий (workflow) — граф шагов, по которому идёт задача. Встроенных сценариев хватает для обычной работы. Свой нужен, когда команде нужен другой порядок шагов: убрать лишний, добавить проверку, поменять число возвратов.

Встроенные ​

СценарийКак запуститьЧто делает
sddjarvis work, Implementation в «Новой задаче»весь путь, от исследования до кода и заметок к релизу
specjarvis spec, Specificationдо утверждённой спецификации, потом можно продолжить в sdd
fixjarvis fix, Bugfixисследование, спецификация, правка, проверки, ревью
researchjarvis researchтолько исследование. В «Новой задаче» его нет: спецификация начинается с того же исследования
askjarvis ask, База знаний → Спроситьответ на вопрос по базе знаний
review-diffjarvis prepushревью диапазона коммитов перед push

Полный путь по шагам — на странице как проходит задача.

Свой сценарий ​

Сценарий — YAML в .jarvis/workflows/<имя>.yaml. Файл с именем встроенного, например sdd.yaml, заменяет его целиком. Свой сценарий запускается так: jarvis work <задача> --workflow <имя>.

yaml
name: hotfix
version: 1
kind: fix                    # тип задачи по умолчанию — от него зависят скиллы и стандарты
entry: discover
steps:
  - id: discover
    kind: deterministic
    tool: project.discover
    outputs: [project-capabilities]
    transitions: { onSuccess: implementation }
  - id: implementation
    kind: agentic
    agent: implementation
    skills: [hotfix-checklist]   # агент получит этот скилл целиком
    outputs: [implementation]
    transitions: { onSuccess: tests }
  - id: tests
    kind: deterministic
    tool: project.tests
    transitions: { onSuccess: approve-impl }
  - id: approve-impl
    kind: approval
    artifactType: implementation
    transitions:
      onSuccess: DONE
      onOutcome:
        request_changes: { to: implementation, maxIterations: 2 }

Виды шагов ​

ВидЧто делаетПримеры
deterministicинструмент без моделиproject.discover, project.tests, project.checks, standards.check
agenticагентresearch, requirements, specification, impact, plan, implementation, test, review
approvalвы утверждаете документartifactType: spec, artifactType: implementation
compositeнесколько шагов параллельно с общим бюджетомverify: проверки, стандарты, тесты, документация

Список агентов и что каждый умеет — на странице какие агенты есть.

Переходы и возвраты ​

  • onSuccess: <шаг> — куда идти дальше; DONE — конец задачи.
  • onOutcome: { <исход>: { to: <шаг>, maxIterations: N } } — куда вернуться при определённом исходе. Например, ревью вернуло fix_required — снова реализация, но не больше трёх раз.
  • На следующем круге агент получает причины возврата: замечания ревью, нарушенные стандарты, упавшие тесты.
  • Если круги кончились, задача не падает молча: она останавливается и спрашивает вас.

Поля шага ​

ПолеЗачем
agent, tool, artifactTypeчто исполняет шаг
outputsкакие документы он пишет
skills: [id, …]скиллы, которые агент получит целиком, без подбора и без лимита (скиллы)
quick: <инструмент>сначала пробуется путь без модели, агент работает, только если тот не справился

Поля сценария ​

ПолеЗачем
name, version, entryимя, версия и первый шаг
kindтип задачи по умолчанию
nextво что продолжается завершённая задача, например next: sdd — кнопка «Продолжить в sdd»
deliver: prв конце задача сама пушит ветку и открывает PR. По умолчанию выключено

Что рядом, в project.yaml ​

Поведение шагов настраивается без правки сценария:

yaml
human:
  gates:
    spec: { required: true }
    implementation: { required: false }   # утверждение кода пройдёт молча, в истории это останется
  checks:
    ask: same-failure          # когда упавшие проверки останавливают задачу:
                               # same-failure — упали так же, как в прошлом круге (по умолчанию)
                               # every-failure — при любом падении
                               # when-rounds-end — только когда кончились круги
agents:
  research:       { limits: { maxToolCalls: 80, maxModelCalls: 100 }, onLimit: ask }
  implementation: { reasoningEffort: low }
budget:
  perRun:  { outputTokens: 200000 }
  perStep: { outputTokens: 40000 }
delivery:
  pr: approve                  # allow — без подтверждения (по умолчанию), approve — сначала вы, deny — нельзя
  • agents.<id>.limits — сколько раз за шаг агент может вызвать инструменты и модель.
  • onLimit: ask — на лимите задача спрашивает, добавить ли ещё вызовов, а не отдаёт полусделанное. Во встроенных сценариях так у реализации и у спецификации в fix. Спецификация в spec и sdd на лимите дописывает документ из того, что есть, с пометкой «неполный»: код к этому моменту уже прочитали исследование и анализ требований.
  • reasoningEffort — сколько модель думает: low, medium, high.
  • human.autonomous: true — все задачи проекта автономные (experimental); подробно на странице где решает человек.
  • Свои инструкции агенту — .jarvis/agents/<id>.md, подробно на странице как промпт настраивает агента.

Чего агенты не делают ​

Ни один агент не пишет во внешние системы: не оставляет комментарии, не пушит, не открывает PR. Это делают шаги без модели через журнал действий. Если процесс упал посреди такого действия, Jarvis не повторит его вслепую, а спросит вас, произошло ли оно.

Apache-2.0