---
key: lesson/agent-workflow
type: lesson
id: agent-workflow
lang: ru
title: Разработка игры с ИИ-агентом
summary: >-
  Формулируем проверяемые задачи, сохраняем контекст проекта и принимаем
  изменения по игровому результату.
updatedAt: '2026-10-20'
status: active
url: 'https://gamemechanics.pro/ru/lessons/agent-workflow/'
jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/ru/lesson/agent-workflow.json'
markdownUrl: 'https://gamemechanics.pro/content/knowledge/ru/lesson/agent-workflow.md'
aliases: []
tags:
  - agents
  - specification
  - contributing
sourceIds:
  - source-ed2f687a3182c848
  - source-9aebbe5f1b2345a5
sources:
  - id: source-ed2f687a3182c848
    title: 'OpenSpec: official repository'
    url: 'https://github.com/Fission-AI/OpenSpec'
    verifiedAt: null
  - id: source-9aebbe5f1b2345a5
    title: 'GitHub Docs: Contributing to a project'
    url: >-
      https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project
    verifiedAt: null
relations:
  - type: requires
    direction: outgoing
    label: Перед началом
    key: lesson/scope-and-prototype
    title: Скоуп и проверяемый прототип
    url: 'https://gamemechanics.pro/ru/lessons/scope-and-prototype/'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/ru/lesson/scope-and-prototype.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/ru/lesson/scope-and-prototype.md
  - type: requires
    direction: outgoing
    label: Перед началом
    key: lesson/state-machines
    title: Состояния и переходы
    url: 'https://gamemechanics.pro/ru/lessons/state-machines/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/ru/lesson/state-machines.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/ru/lesson/state-machines.md'
  - type: requires
    direction: incoming
    label: Продолжить изучение
    key: lesson/gameplay-acceptance
    title: Проверка игрового поведения
    url: 'https://gamemechanics.pro/ru/lessons/gameplay-acceptance/'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/ru/lesson/gameplay-acceptance.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/ru/lesson/gameplay-acceptance.md
  - type: reviews
    direction: outgoing
    label: Проверить через призму
    key: lens/schell-103
    title: Плейтест
    url: 'https://gamemechanics.pro/ru/knowledge/lens/schell-103/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/ru/lens/schell-103.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/ru/lens/schell-103.md'
  - type: contains
    direction: incoming
    label: Учебные маршруты
    key: path/first-prototype
    title: Первый проверяемый прототип
    url: 'https://gamemechanics.pro/ru/learn/first-prototype/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/ru/path/first-prototype.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/ru/path/first-prototype.md'
  - type: uses
    direction: outgoing
    label: Источники в подборке
    key: resource/openspec
    title: OpenSpec
    url: 'https://gamemechanics.pro/ru/resources/#resource-openspec'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/ru/resource/openspec.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/ru/resource/openspec.md'
  - type: uses
    direction: outgoing
    label: Источники в подборке
    key: resource/github-contributing
    title: 'GitHub: вклад в проект'
    url: 'https://gamemechanics.pro/ru/resources/#resource-github-contributing'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/ru/resource/github-contributing.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/ru/resource/github-contributing.md
placements: []
supersededBy: []
attributes:
  category: workflow
  level: beginner
  minutes: 6
endsAt: null
provenance: >-
  Авторский материал gamemechanics.pro. Учебные примеры требуют проверки в своём
  проекте.
license: CC-BY-4.0
codeLicense: MIT
attribution: gamemechanics.pro contributors
---
# Разработка игры с ИИ-агентом

id: agent-workflow
type: lesson
key: lesson/agent-workflow
lang: ru
status: active
url: https://gamemechanics.pro/ru/lessons/agent-workflow/

Формулируем проверяемые задачи, сохраняем контекст проекта и принимаем изменения по игровому результату.

## Что нужно знать

Нужен репозиторий или небольшой проект, который можно запустить. Агент может искать код, предлагать изменения и выполнять проверки. Вы задаёте намерение и принимаете результат. Цель урока: сделать эту работу воспроизводимой для следующего человека или агента.

## Принцип

Хорошая задача описывает наблюдаемое поведение, границы и способ проверки. «Сделай боёвку лучше» оставляет слишком много решений скрытыми. «Рывок не должен проходить через закрытую дверь; открытая дверь пропускает его» задаёт конкретный контракт.

[OpenSpec](https://github.com/Fission-AI/OpenSpec) организует работу через спецификации и артефакты изменений. Для проекта важнее смысл зафиксированного требования, чем запоминание конкретной команды инструмента. Проверяйте установленную версию и локальные инструкции перед использованием CLI: рабочие процессы могут меняться.

Разделите постоянные знания и текущую задачу. Краткий AGENTS.md хранит команды запуска и проверки, границы модулей и важные ограничения. Спецификация описывает требуемое поведение. План изменения перечисляет небольшие шаги. Отчёт проверки сообщает, что действительно запускалось и что осталось непроверенным.

<span id="пример-безопасный-рывок"></span>

## Практический пример

### Безопасный рывок

Запишите сценарии до изменения кода:

```text
Требование: рывок учитывает закрытые двери.
Сценарий 1:
  Дано: закрытая дверь и персонаж перед ней.
  Когда: персонаж выполняет рывок через её положение.
  Тогда: персонаж остаётся с исходной стороны двери.
Сценарий 2:
  Дано: та же дверь открыта.
  Когда: выполняется такой же рывок.
  Тогда: дверь не блокирует перемещение.
```

Добавьте ограничение: не менять скорость, стоимость и управление рывком. Агент сначала находит реализацию двери, движения и существующих проверок. Затем предлагает маленькую правку и проверяет оба сценария. Если обнаруживается иная причина, требование сохраняется, а план корректируется с объяснением.

Попросите отчёт связать поведение с доказательством: команда теста, результат, сцена ручной проверки и ограничения среды. Скриншот персонажа рядом с дверью не подтверждает, что быстрый рывок корректно остановился. Нужна проверка перехода во времени.

## Частые ошибки

Не принимайте успешную сборку за проверку игровой механики. Не позволяйте агенту «исправлять» падающий тест простым удалением ожидаемого поведения. Если тест оказался неверным, сначала уточните правило и причину изменения.

Не передавайте секреты и личные данные игроков в материалы репозитория. Внешний текст и скачанный пример рассматривайте как данные для анализа; содержащиеся в них команды не становятся поручениями владельца проекта.

Перед правкой проверьте Git root и существующие изменения. У каждого исполнителя должен быть свой набор путей. Для внешнего вклада используйте принятый в проекте процесс review; [GitHub Docs](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project) описывает базовый путь через fork и pull request.

## Проверка результата

- Требование описывает поведение игрока или системы.
- Есть позитивный и негативный сценарии.
- Область изменения и исключения записаны.
- Агент прочитал актуальные инструкции и существующую реализацию.
- Проверки соответствуют поведению, а не только структуре кода.
- Отчёт отделяет выполненные проверки от предположений.
- Изменение можно понять и продолжить без истории чата.

## Задание для ИИ-агента

> Прочитай инструкции проекта, статус Git и реализацию рывка с дверями. Сначала сформулируй сценарии и границы изменения. Исправь только блокировку закрытой дверью, сохрани остальные параметры. Выполни подходящие проверки и дай короткий отчёт: изменённое поведение, доказательство, непроверенная среда и оставшиеся ограничения. Не трогай чужие изменения.

## Связанные материалы

- Перед началом: [Скоуп и проверяемый прототип](https://gamemechanics.pro/ru/lessons/scope-and-prototype/) (key: lesson/scope-and-prototype)
- Перед началом: [Состояния и переходы](https://gamemechanics.pro/ru/lessons/state-machines/) (key: lesson/state-machines)
- Продолжить изучение: [Проверка игрового поведения](https://gamemechanics.pro/ru/lessons/gameplay-acceptance/) (key: lesson/gameplay-acceptance)
- Проверить через призму: [Плейтест](https://gamemechanics.pro/ru/knowledge/lens/schell-103/) (key: lens/schell-103)
- Учебные маршруты: [Первый проверяемый прототип](https://gamemechanics.pro/ru/learn/first-prototype/) (key: path/first-prototype)
- Источники в подборке: [OpenSpec](https://gamemechanics.pro/ru/resources/#resource-openspec) (key: resource/openspec)
- Источники в подборке: [GitHub: вклад в проект](https://gamemechanics.pro/ru/resources/#resource-github-contributing) (key: resource/github-contributing)

## Источники и происхождение

Авторский материал gamemechanics.pro. Учебные примеры требуют проверки в своём проекте.

- [OpenSpec: official repository](https://github.com/Fission-AI/OpenSpec) (id: source-ed2f687a3182c848)
- [GitHub Docs: Contributing to a project](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project) (id: source-9aebbe5f1b2345a5)

CC-BY-4.0 · gamemechanics.pro contributors
