Экскурсия по репозиторию · просто

Mr. Meeseeks

Программа, которая управляет AI-агентами: говорит им, что делать, следит за результатом и решает, что дальше.

Репозиторий: meeseeks/mr_meeseeks · про спеку (ТЗ) · разобрать главный файл workflows.py

Сначала два слова

Оркестрация — это как дирижёр в оркестре. Музыканты (наши агенты — SPEC-AGENT и DEV-AGENT) играют сами по себе, а дирижёр решает: кого позвать, когда, и что делать дальше. Здесь дирижёр — код этого репозитория.

Durable (произносится «дью́рэбл») — значит живучий. Программа не боится, что что-то упадёт или зависнет на полчаса: она запоминает, где остановилась, и продолжает с того же места. Как закладка в книге.

Всё вместе: durable-оркестрация — дирижёр, который ничего не забывает, даже если его самого перезапустят.

Что делает этот код

  1. Человек даёт задачу: «сделай спеку (ТЗ) и напиши код».
  2. Код запускает SPEC-AGENT (программу с искусственным интеллектом), чтобы тот подготовил спеку (ТЗ).
  3. Спеку (ТЗ) проверяет человек. Не понравилось — SPEC-AGENT переделывает с учётом замечаний.
  4. Когда спека (ТЗ) одобрена — запускается DEV-AGENT.
  5. Его результат снова проверяется. И так далее, шаг за шагом.

Каждый запуск агента (SPEC-AGENT или DEV-AGENT) — отдельный «подход»: агент стартует, делает одно дело, отчитывается и завершается.

Где лежит самое важное

Почти весь код — в одной папке: temporal/worker/. Внутри три главные вещи:

📋 План

workflows.py — сценарий «что за чем идёт». Самый главный файл.

🙋 Проверки

gates.py — правила: пропустить шаг, переделать или остановиться.

🔌 Шаги

остальные файлы — мелкие действия: запустить SPEC-AGENT/DEV-AGENT, сохранить результат, прочитать статус.

Полное дерево репозитория выглядит так:

mr_meeseeks/
├─ temporal/worker/     ← основной код (вся логика здесь)
├─ nomad/               ← «пусковая установка» агентов (конфиги)
├─ goose/goose-agent/   ← образ самого агента
├─ docs/                ← документация
├─ tests/               ← тесты
└─ остальное            ← инфраструктура (docker, vault, скрипты)
Запомнить легко: логика — в temporal/worker/, остальные папки — про то, где и как это запускается.

Как проходит один шаг

Простыми словами, без внутренних терминов:

  1. Код решает запустить агента (SPEC-AGENT или DEV-AGENT) и запоминает это (вдруг что-то упадёт).
  2. Выбранный агент просыпается, получает задание и работает — минуту или полчаса.
  3. Всё это время код просто ждёт, ничего не делая и ничего не забывая.
  4. Агент закончил и постучался: «готово, вот результат».
  5. Код проверяет результат и решает: дальше, переделать или стоп.

Термины, которые встретятся в коде, если заглянуть глубже:

workflow

весь сценарий целиком («план»).

activity

один конкретный шаг плана («действие»).

signal

тот самый «стук в дверь» — SPEC-AGENT/DEV-AGENT или человек сообщает о результате.

gate

проверка: пропустить, переделать или остановиться.

Совет: как читать этот код

  1. README.md — что это и как запускается.
  2. temporal/worker/workflows.py — главный сценарий (начните с него!).
  3. temporal/worker/gates.py — правила проверок.
  4. Потом — всё остальное, по мере надобности.
Не пугайтесь слов вроде «Temporal» и «Nomad» в коде — это просто инструменты, на которых работает дирижёр. Смысл продукта — в workflows.py и gates.py. Открыть разбор workflows.py по блокам →