flower¶
Портативный long-horizon agent-фреймворк на базе Claude Agent SDK.
Не жертвуя возможностями Claude Code, превращает его в специализированного агента, которого можно унести с собой, у которого можно настроить взаимодействие и который способен работать сутками. Агент в главном потоке только принимает решения, вся ручная работа отдаётся subagent; требования сначала выясняются, и только потом начинается работа, а сделано или не сделано — решает другая роль. На другой машине поведение то же самое — он не читает настройки хоста, учётные данные приносит с собой.
Все четыре числа — из HT001: того запуска, в котором агент под flower написал с нуля терминальную IDE.
Одна команда — и готово, Node не нужен¶
Скрипт сам находит uv / pipx / pip и ставит команду flower; нужен только Python ≥ 3.10, Claude Code CLI ставить тоже не надо. После установки сделайте cd в любой каталог проекта и наберите flower: в первый раз он спросит API key или адрес шлюза, настраивается один раз и сохраняется в ~/.config/flower/.env, после чего работает везде; если на машине уже стоит и настроен Claude Code, он просто одолжит тот token и вообще ничего не спросит. Полная процедура и разбор ошибок — в Установке.
Он закрывает четыре класса отказов¶
Предварительное уточнение¶
Боитесь, что сделают не то, что вы хотели — до начала работы есть роль, которая только задаёт вопросы и ничего не делает, и спрашивает, пока всё не станет ясно; требования замораживаются в документ, и каждый следующий шаг начинается с его чтения.
Страж цели¶
Боитесь, что он скажет «готово», а на деле не готово — в конце каждого круга работы другая роль независимо выносит вердикт: достигнуто — идём дальше, не достигнуто — возвращаем на доработку, а если в этой среде проверить невозможно — останавливаемся и спрашиваем человека.
Непрерывность¶
Боитесь, что после нескольких часов всё упадёт и придётся начинать сначала — наберите flower ещё раз в том же каталоге, и он подхватит прошлый прогресс; так же и если процесс убили или машину перезагрузили, никаких id запоминать не нужно.
Почему он «long-horizon»¶
Координатор в главном потоке несёт только решения и не получает Write и Edit — писать код, гонять тесты, искать материалы отдаётся subagent, а перебор вариантов у subagent попадает в другой transcript; главный поток получает только отчёт не длиннее 30 строк. В том 10.4-часовом запуске HT001 94.8% символов основного текста осели в subagent, и из 1,893 рабочих вызовов инструментов в поле зрения координатора попали лишь 32. Поэтому за 70 раундов главный поток дорос всего до 185.9K и ни разу не потребовался compact — как устроен этот слой и что представляют собой остальные три, см. Экономику контекста.
Сырые записи двух настоящих длинных прогонов¶
- HT001 — терминальная IDE с нуля. $171.62 / 10.4 часа / контекст главного потока дорос до 185.9K, на выходе 12,212 строк продуктового кода; сеть один раз оборвалась, и он сам продолжил до конца.
- HT002 — поставить его на macOS и запустить. $38.24 / около 1 часа, первый раз со стражем цели; программа действительно запустилась, но вердикт — недостижимо, вопрос вынесен человеку.
На обеих страницах написано и то, что не выдерживает критики: в HT001 агент неверно вынес одну из собственных приёмочных оценок, а HT002 растянул git clone && make && ./cppide на целый час. Каждое число пересчитывается по runs/manifest.json и sessions.db — это записи, а не реклама.
С чего начать чтение¶
- Хочу сразу запустить — Быстрый старт: три команды до запуска, а дальше объясняется, как читать то, что пролетает по экрану.
- Хочу сначала разобраться в понятиях — Основные понятия: запуск, шаг, сессия, пять ролей, всё за пять минут.
- Хочу встроить в свой код — Python API:
Runtime,Step, пять фабрик ролей, сигнатуры и значения по умолчанию для 62 публичных символов.