Простой цикл работы с агентом перестал меня устраивать
Недавно понял, что обычного процесса работы с агентом, когда я даю ему задачу и жду выполнения, мне уже недостаточно. Паузы слишком длительные.
Дал задачу - ждёшь выполнения. Пока ждёшь - отвлекаешься на что-то, либо думаешь, что нужно переключиться на что-то другое. Следующую задачу можно написать в этот же чатик с ним. Он через какое-то время её возьмёт, но новое сообщение может потерять актуальность. Если отправить несколько таких сообщений в очередь, то как их редактировать, поменять местами, уточнить - такой возможности уже нет.
Хочется, чтобы агент сам брал следующую задачу из списка, а списком управлял я. Пока он делает текущую - я думаю над следующими задачами, меняю их порядок.
Одним словом, последнюю неделю я строил такой процесс. Под себя выбрал утилиту Backlog.md https://github.com/MrLesk/Backlog.md.
Что это
Инструмент, который позволяет развернуть бэклог-трекер задач прямо у тебя в проекте, в любой папке. Не нужно никакого отдельного хранилища, внешнего сервиса. Можно добавить задачи в .gitignore, а можно хранить их прямо в исходном коде. Задачи и их статусы.
У него есть API. И самое главное - есть описанный навык, как агент может сам брать задачи или ставить новые задачи. Сам добавляет нужное описание в AGENTS.md.
Как это выглядит в работе
Самое простое, что мне удалось сделать: добавить несколько задач через интерфейс и дальше просто сказать агенту: а теперь сделай все эти задачи по очереди. И это уже работает. Можно оставить агента на какое-то время - он будет брать одну задачу за другой и делать коммит. В общем, как ты ему скажешь.
1. устанавливаем npm i -g backlog.md
2. инициализируем проект в текущей папке backlog init "My Awesome Project"
3. просим агента добавить задачи или добавляем вручную backlog task create "Render markdown as kanban"
4. пишем агенту "делай задачи из бэклога в порядке очереди пока все не сделаешь"
5. наблюдаешь за выполнением через backlog board, параллельно можешь добавить новые задачи
Кстати, есть еще Web UI: backlog browser
Что не так
Есть недостаток: когда он выполнит одну задачу и переходит к следующей, у него контекст уже заполнен. Сейчас работаю над следующим улучшением, чтобы контекст очищался. Здесь нужен внешний планировщик, который бы агента запускал. Чуть позже расскажу про это.
Почему собрал сам, а не взял готовое
Я знаю, что подобные инструменты есть, подобные задачи они решают. Трекеры для агентов уже существовали. Но мы сейчас живём в такую эру, что разбираться с чужим продуктом, где 95% ненужных фич, смотреть их, разгребать и искать, что конкретно тебе нужно, уже не так хочется. Есть возможность в любой момент попросить агента написать нужный тебе продукт, который будет выполнять эти 5% и делать только это. Продукт под себя, под одного человека.
Сейчас как раз начал делать такого мастер-агента, который об этом позаботится. Об этом расскажу в будущих статьях, когда доделаю.
Post #451
473
- ❤ 7
- 👍 3