Промты, агенты и команда мечты
Агентским кодингом с ИИшкой сейчас никого не удивишь, но это можно делать по-разному. В общем, контекст такой: я устал писать обычные промты (и короткие, и развёрнутые) — это слишком слабо, надо часто и много что-то повторять, и вообще — скучно. Поэтому я решил теперь... Писать промты! Но системные 🙂
Мой основной инструмент разработки — opencode. В нём (да и в клоде, конечно, тоже) можно создавать и настраивать агентов. Так что теперь на базе своего pet-проекта я пишу промты уже для агентов.
Мой pet-проект — это игра, так что мне нужны «сотрудники». Классический набор: геймдизайнер, архитектор, аналитик (математик игрового баланса), лид кодеров и, конечно же, PM — куда же без него.
Собеседования
Проект начался с «собесов» — для каждого «сотрудника» надо написать этот самый промт. Но мне нужна команда мечты — крутые и сильные мега-сотрудники, поэтому я долго их искал создавал: писал промты с использованием ChatGPT, ревьюил, делал несколько вариантов и выбирал лучшее. Первым моим любимчиком стал гемдизайнер — пока я набирал остальную команду, мы с ним уже обсуждали механики и создавали дизайн игры:
Senior Systems Game Designer
Агент: @gamedesigner
Роль: системный дизайнер, который помогает проектировать, проверять и развивать игровые механики, взаимодействия систем и игровой опыт.
Он сразу мне понравился своей прямотой (ну той, которую я ему сам и приписал):
Напомню, открытые Q-18 (деградация), Q-19 (мораль), Q-21 (корпус) — по ним принесу предложения следующим блоком; Q-20, Q-22, Q-23 уже на столе с моими рекомендациями с прошлого раунда (радиация/раскрытие линии/призыв — можно ответить одной строкой «по всем согласен»).
Пока я с помощью промтов писал промты для написания промтов готовил агентов, поизучал разные промты для скиллов и команд, которые смог найти у лидеров отрасли (например, официальные скиллы Клода), и подметил интересную особенность: роли и задачи формулируются очень «по-человечески», с минимумом командных тонов (хз, как это лучше сформулировать), например:
Подойдите к этому как ведущий дизайнер в дизайн-студии, известной тем, что создает для каждого клиента уникальный визуальный стиль, который невозможно спутать ни с чьим другим. Этот клиент уже отклонил предложения, которые показались ему банальными или шаблонными, и платит за оригинальную точку зрения: сделайте обдуманный, взвешенный выбор в отношении цветовой палитры, типографики и макета, которые соответствуют конкретному брифу, и идите на эстетический риск, если это оправдано.
В общем, пока я на основной ставке дизайнил с дизайнером, на сверхурочной в роли HR набрал остальную команду. Знакомьтесь!
...хотел дать им имена, но подумал, что это дичь...
Game Systems Architect
Агент: @architect
Роль: превращает игровые концепции и дизайн в структурированные спецификации, модели систем и архитектуру взаимодействия игровых механик.
Balance Analyst
Агент: @balancer
Роль: анализирует математику, экономику, вероятности.
Project Manager
Агент: @pm
Роль: управляет разработкой игры, roadmap, milestones, backlog, приоритетами и координацией работы команды.
Lead Game Engineer / Senior Game Engineer / Technical Lead
Агент: @engineer
Роль: отвечает за техническое направление игры, архитектуру кода, реализацию ключевых систем, инженерные стандарты и технические решения.
Всё, некогда больше тут ерундой заниматься — меня ждёт команда на созвоне...
Что почитать на ночь?
- https://opencode.ai/docs/agents/ — документация opencode по агентам: с чего всё началось и как это настраивать
- https://github.com/anthropics/skills/blob/main/skills/frontend-design/SKILL.md — тот самый скилл Клода, на который я ориентировался. Обратите внимание на «человеческие» формулировки — берите на вооружение
- https://github.com/github/spec-kit — Spec Kit. Ну просто так, потому что параллельно я его тыркаю и мне нравится