Забудьте про Codex и Claude Code: Goal Buddy наконец-то исправляет недостатки обоих

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Это улитка Гэри, и он обнаружил свободную нишу на рынке: создание платформы для знакомств улиток.
00:00:04Но так как он супермедленный, он хочет, чтобы Claude Code автономно выполнял его долгие задачи.
00:00:09К счастью для него, агенты стали очень хороши в выполнении долгих задач. У Claude Code есть
00:00:13команда goal, которая просто заставляет агента работать, пока задача не будет выполнена, но во время нашего
00:00:18тестирования мы обнаружили много проблем с командой goal. Поскольку Гэри недавно пережил
00:00:22развод, и мы хотим, чтобы он был счастлив, мы нашли инструмент с открытым кодом, который действительно решает проблему,
00:00:28и он работает не только с Claude Code, но и с Codex, распространяя любовь, прямо как твоя мама, которая, я
00:00:32уверен, любит тебя так же сильно, как и твой трудоустроенный брат. В Claude Code ранее была выпущена команда
00:00:38goal, которая заставляет агента работать, пока не будет достигнуто определенное условие. Мы не освещали её на нашем
00:00:42канале, но вы, вероятно, уже слышали о ней. До этого существовал плагин под названием Ralph Wiggum,
00:00:47который набрал большую популярность и, по сути, делал то же самое: использовал хуки, чтобы подавать промпт
00:00:52обратно в Claude Code до тех пор, пока условие не будет выполнено. Но дело в том, что эти условия должны быть
00:00:57точным совпадением, потому что цикл Ralph использует bash-скрипт для проверки условия, буквально как
00:01:02охранник в аэропорту, который не пропускает вас, потому что ваш мужской спрей для тела превышает допустимый
00:01:06объем багажа. Команда goal работает иначе: она берет условие и текущий контекст диалога и передает
00:01:11это небольшой модели, Haiku, и эта модель разумно оценивает, выполнена задача или нет.
00:01:17Она возвращает решение «да» или «нет», и ответ «нет» велит Claude продолжать итерации над той же задачей, как когда ваш босс
00:01:22просит вас улучшить пользовательский интерфейс, потому что он просто не может найти кнопку на странице. Так что это делает
00:01:27оценку субъективной, и для вещей, которые мы не можем количественно оценить самостоятельно, это реальное улучшение.
00:01:32Goal работает хорошо для многих задач, но у неё всё ещё много проблем. Первая проблема заключается в том, что
00:01:37она не использует базу знаний или файловую систему, которая отслеживает прогресс выполнения задачи, и, поскольку она
00:01:42этого не делает, единственным источником истины для агента становится контекст чата. Это может задеть
00:01:47вас, ведь именно ваш отец записал состояние в криптовалюте на стикере, который упал с холодильника еще в
00:01:522017 году. Как только сессия заканчивается по любой причине, а задача не была завершена, вы, конечно, можете возобновить её с помощью
00:01:58команды claude resume. Цель не будет потеряна, но единственный способ узнать, на чем она остановилась, — это
00:02:03контекст чата, а так как эта команда предназначена для долгих задач, а не для простых, всё может
00:02:08испортиться в процессе, и, конечно, при работе goal часами раздувание контекста и достижение лимитов компактизации
00:02:13рано или поздно станут реальной проблемой. После компактизации результаты работы агента ухудшаются.
00:02:18Он начнет вести себя как моя бабушка, которая из-за деменции начинает забывать название этого
00:02:22канала; мне нужно, чтобы вы, ребята, показали ей последнее видео. Еще одна проблема в том, что он не
00:02:27разбивает задачи на более мелкие. Вместо этого он просто использует основного агента и выполняет декомпозицию задачи
00:02:32самостоятельно, как обычно делает Claude Code, так что структурированного плана нет, и агент может потерять из виду
00:02:37то, что еще осталось сделать, и даже если это может хорошо работать в некоторых случаях, нечеткое
00:02:42определение того, как выглядит завершенная работа для агентов, — это никогда не бывает правильно. Goal полностью полагается на
00:02:47модель для оценки завершения, поэтому это может быть не так эффективно в некоторых случаях. Это лучше, чем
00:02:52Ralph Wiggum, который был полностью строгим, используя скрипты, но должна быть хоть какая-то метрика,
00:02:56которая говорит агенту, как выглядит завершение, совсем как ваш свадебный фотограф, который продолжал говорить
00:03:01«еще один кадр», пока всё мероприятие не закончилось. Вот где goal не дотягивает, и такие вещи
00:03:05могут казаться незначительными, но в реальных тяжелых рабочих процессах они могут привести к серьезным проблемам.
00:03:10Итак, Goal Buddy — это инструмент, созданный с одной целью: заставить команду goal работать так,
00:03:16как положено. Он решает все проблемы, о которых мы только что говорили, но он не получает столько
00:03:20внимания, сколько заслуживает, учитывая его полезность. Он как горячая няня, только вместо того, чтобы флиртовать
00:03:25с вами, она просто нянчится с вашими долгими задачами. Goal не сохраняет состояние работы
00:03:30локально, поэтому этот инструмент исправляет это и фактически заставляет goal читать и обновлять локальное состояние вместо того, чтобы полагаться на
00:03:36историю чата, и он также заканчивает с доказательствами, так что агент на самом деле знает, как выглядит завершение, прежде чем
00:03:42он начнет работу. Для отслеживания прогресса он также включает целую панель управления, где вы можете наблюдать за
00:03:46работой вашего агента, пока он работает. И чтобы справиться со всем этим, он построен на трех агентах: это
00:03:51разведчик (scout), работник (worker) и судья (judge) — по сути, стартап-команда Y Combinator, где один делает всю работу, один
00:03:56наблюдает, как он это делает, и один судит их обоих в Твиттере. Установка довольно проста: просто
00:04:01скопируйте команду установки и вставьте её в папку проекта. Он будет установлен как плагин,
00:04:06доступный как для Claude Code, так и для Codex. Как только вы начнете новую сессию, вы сможете увидеть команду,
00:04:10доступную для использования. Итак, у этих трех агентов есть строго определенная роль и уровень доступа. Поскольку этот
00:04:16инструмент создан и для Codex, агенты определены в TOML, а не в стандартном Markdown. Первый
00:04:21агент — это судья, который имеет только доступ на чтение. Он скептически анализирует сложные решения, такие как рискованные
00:04:26области, противоречивые источники и другие паттерны, чтобы убедиться, что задача выполнена безопасно. Его
00:04:31инструкции запрещают редактирование, потому что он существует только для вынесения суждений, больше ни для чего. И так как его
00:04:36задача крайне критична, усилия на рассуждение этого агента установлены на максимум, чтобы решения принимались должным образом.
00:04:42Это в точности как когда вы сочиняли ту самую смс-ку своей пассии четыре часа подряд посреди
00:04:47ночи. После завершения работы он возвращает структуру JSON с одобренными и
00:04:52отклоненными решениями вместе с обоснованием. Разведчик — это еще один агент только для чтения, который отображает активную задачу
00:04:57и создает компактную квитанцию с доказательствами для нее. Поскольку его работа — просто проверить состояние задачи,
00:05:02его усилия на рассуждения остаются низкими, прямо как у вышибалы в вашем любимом стриптиз-клубе — ему на самом деле
00:05:07не так уж и важно. И есть еще агент-работник, единственный, у которого есть доступ на редактирование. Он выполняет фактическую работу и
00:05:12ему разрешено выполнять только одну задачу за раз. Также есть роль PM (менеджера проекта), которая является основным потоком, координирующим
00:05:17рабочий процесс. Он ведет себя как настоящий менеджер проекта, выполняя минимум работы,
00:05:22насколько это возможно. Это единственный авторитет, который может действительно пометить задачу как выполненную. Основной рабочий процесс начинается с выражения
00:05:27намерения задачи правильными словами, а не расплывчато, как обычно делаем мы, homo sapiens, а так, чтобы
00:05:33агент мог правильно понять. Затем определяется оракул. Оракул — это, по сути, наблюдаемый
00:05:38сигнал, который определяет результат. Именно по нему система итерируется, чтобы увидеть, можно ли задачу
00:05:43пометить как выполненную или нет. Это может быть что угодно: набор тестов, проверка браузера, любые бенчмарки артефактов или код,
00:05:49который превращает мою микроволновку в машину времени, потому что почему бы и нет? Агенты ИИ сейчас делают всё, что угодно.
00:05:54Затем следующий шаг — surface (обзор). Он разбивает задачу на выполнимые шаги, создает панель управления и отображает
00:06:00задачи в визуальном формате. Последняя часть — PM, он в этом случае менеджер, и он поддерживает выполнение задачи
00:06:06до тех пор, пока финальный аудит не пометит цель как достигнутую. Чтобы использовать Goal Buddy, вы просто запускаете команду goal prep,
00:06:11это та, которая инициализирует рабочий процесс, и вы определяете цель, которой хотите достичь. Он
00:06:16сначала убеждается, что агенты установлены и готовы к использованию. Затем он инициирует рабочий процесс, но в отличие от
00:06:21родной команды goal, он крайне самокритичен и сначала устраняет свои собственные двусмысленности, задавая
00:06:27вам вопросы, чтобы вы могли четко определить реализацию. И точно так же, как ваша подозрительная жена,
00:06:32он будет задавать вопросы до тех пор, пока не поймет. Первый шаг фокусируется на создании файлов целей. Он помещает
00:06:38оригинальный запрос вместе с нашими ответами, а затем сопоставляет его с правильной задачей на языке,
00:06:43понятном агенту. Он содержит сводку всей информации, а затем определяет оракула,
00:06:48что является самой важной частью. Оракул для этой задачи прост: все тесты должны пройти с
00:06:53правильным поведением. Этот вид цели специфичен, потому что его можно программно
00:06:57оценить, в отличие от вашей легенды прошлой ночью, в которую ваша жена совершенно не верит. Goal Buddy разбивает весь рабочий процесс
00:07:03на маленькие выполнимые задачи. Они называются «слайсами» (slices), но, в отличие от реального мира, размер здесь не имеет значения,
00:07:08потому что маленький слайс не означает маленькую задачу; это означает что-то, что безопасно, может быть легко проверено
00:07:14и может быть запущено индивидуально. Он явно определяет безопасный размер слайса в документе. Он создает
00:07:19state.yaml, который отслеживает проект и задачи, и определяет, как будет выглядеть цикл PM. State.yaml состоит из
00:07:26всех целей и правил со всеми задачами, разбитыми по их ID и назначенному агенту. Он содержит
00:07:31поле для отслеживания активной задачи. Он также упоминает связанную панель управления, перечисляет все задачи «to-do»
00:07:36и задачи в прогрессе. В нашем случае агент-разведчик в данный момент работает и составляет карту всех
00:07:42файлов и эндпоинтов. Так что, чтобы запустить цикл, вы просто копируете эту команду и запускаете её. Она инструктирует Claude
00:07:47поставить цель выполнить всё, что указано в файле goal.md. Оттуда он выберет первую активную
00:07:52задачу, как король, а затем вызовет своих подчиненных агентов, чтобы выполнить её. Как только разведчик завершит
00:07:58работу, он обновляет файл прогресса всеми своими находками и документирует их в отдельной директории.
00:08:03Он также обновляет доску со статуса «активно» на «завершено». Затем цикл подхватывает следующую задачу, помечает её как
00:08:08активную и запускает агента-судью. Судья критически оценивает находки и выстраивает отчет
00:08:13в наименьшее количество возможных вертикальных слайсов, что является декомпозицией задачи для работника, чтобы тот мог выполнить её
00:08:18независимо. Затем он обновляет счетчик слайсов и соответственно обновляет файл состояния. Каждая задача
00:08:22явно перечисляет разрешенные файлы, как их проверить и когда остановиться. Так он определяет каждый слайс,
00:08:28чтобы у агентов был четкий ожидаемый результат, проверки и все необходимые детали. Затем один за другим он
00:08:33инициализирует агента-работника и начинает с первого слайса. Прогресс каждого агента можно отслеживать
00:08:39с помощью панели управления. Вы будете знать, что делает каждая задача, какой агент активен, какие задачи в очереди и
00:08:44какие завершены, так что вам не нужно мониторить всё самостоятельно, и вы можете уделить своим детям
00:08:48время, которое им нужно. Как только все задачи выполнены, он выполняет последний аудит в роли PM,
00:08:53убеждаясь, что все тесты были должным образом проведены. Как только аудит завершен, он помечает задачу финального аудита судьи
00:08:58как выполненную, а затем помечает цель как завершенную. После этого вам остается только начать
00:09:03молиться и надеяться, что эти агенты не галлюцинировали. В целом, это сработало довольно хорошо, учитывая
00:09:09сложность и масштаб приложения, которое мы дали, но мы думаем, что можно было добавить более эффективную параллелизацию,
00:09:13потому что он делал всё последовательно. Он обрабатывал одну задачу за раз и не использовал
00:09:18возможности параллелизации Claude Code вообще. Дарио был бы разочарован, увидев это,
00:09:23но учитывая, как хорошо он спланировал рабочий процесс, всё сработало неплохо. Также, если вам нравится наш контент,
00:09:28подумайте о том, чтобы нажать кнопку «hype», потому что это помогает нам создавать больше такого контента и охватывать больше
00:09:33людей. Мы также хотели протестировать Goal Buddy на чем-то более общем, например, на проектировании UI, чтобы увидеть, как он
00:09:38обрабатывается с задачами, которые нельзя оценить программно. Предыдущий тест был на конкретном рабочем процессе с
00:09:44четкими критериями прохождения и неудачи, но точно так же, как и вы, когда идете к парикмахеру за свежей стрижкой, некоторые задачи
00:09:49просто этого не имеют. Поэтому мы сначала дали обычной команде goal расплывчатый промпт. Она инициализировала задачи
00:09:54goal, проконсультировалась с советником и в мгновение ока выдала сайт. Будучи ленивой, она просто создала простую HTML-страницу
00:10:00и не использовала никаких фреймворков, но лендинг выглядел неплохо. Поэтому мы дали тот же самый промпт
00:10:05и Goal Buddy. Как только он запустился, он следовал тому же рабочему процессу и выдал похожую сессию вопросов,
00:10:10чтобы прояснить намерение. Здесь Goal Buddy на самом деле спросил о технологическом стеке. Обычно
00:10:14я бы назвал это «подлизыванием», но так как я серьезно отношусь к своим ИИ-агентам, я назову это тщательностью. Точно так же он
00:10:20создал доску и файл goal.md и перевел наш первоначальный запрос в правильную цель. Он также
00:10:26правильно определил оракула, но оракул в предыдущей задаче был простым: нужно было просто пройти все
00:10:31тесты. У этой задачи были другие цели: она определила задачу как выполненную, когда сервер разработки будет запущен и
00:10:36пошаговое прохождение браузера подтвердит, что все разделы работают, как определено. Вот как он превратил
00:10:41неколичественную задачу в нечто количественное. Он также снова создал state.yaml с оракулом,
00:10:47правилами, агентами и всеми перечисленными задачами, а затем начал работать таким же образом. На это потребовалось больше
00:10:52времени, чем на обычную команду goal, но в итоге он правильно реализовал приложение. Это не будет
00:10:57проблемой для улитки Гэри, но вам стоит поотжиматься тем временем, я вижу, что вы растолстели.
00:11:02В целом весь сайт работал значительно лучше, чем то, что создала простая команда goal.
00:11:07Если вы действительно хотите стать ИИ B2B SaaS-фаундером, который любит строить, а не просто смотреть туториалы,
00:11:12то вам стоит стать ИИ-профи. Внутри вы встретите единомышленников, таких же, как наша команда, с
00:11:17ресурсами из видео и кучей других полезностей. Ссылка будет в описании, и
00:11:22вы можете её проверить. На этом мы заканчиваем видео. Если вы хотите поддержать канал
00:11:27и помочь нам продолжать создавать видео, подобные этому, вы можете сделать это с помощью кнопки «суперспасибо» ниже. Как всегда,
00:11:32спасибо за просмотр, и увидимся в следующем.

Key Takeaway

Goal Buddy автоматизирует сложные итеративные задачи в Claude Code и Codex, заменяя ненадежный контекст чата на локальную базу состояний и систему из трех специализированных агентов для обеспечения точности выполнения.

Highlights

  • Команда goal в Claude Code ограничена контекстным окном чата и не сохраняет состояние задачи локально, что ведет к ошибкам при длинных процессах.

  • Goal Buddy исправляет недостатки Claude Code, внедряя локальное отслеживание состояния через файл state.yaml и четкую декомпозицию задач на слайсы.

  • Инструмент использует трех специализированных агентов: судью для критического анализа, разведчика для отслеживания прогресса и работника для выполнения задач.

  • Система Goal Buddy переводит качественные задачи в количественные, определяя оракула (тесты или проверки браузера) для автоматической оценки результата.

  • В отличие от последовательного выполнения стандартной команды goal, Goal Buddy создает интерактивную панель управления для мониторинга статуса всех задач в реальном времени.

Timeline

Ограничения встроенной команды goal

  • Стандартная команда goal полагается исключительно на контекст чата, что приводит к раздуванию контекста и потере прогресса при лимитах компактизации.
  • Оценка завершения задачи командой goal субъективна и склонна к ошибкам из-за отсутствия структурированного плана или локального отслеживания состояния.

Встроенная функциональность Claude Code не разбивает задачи на этапы и не имеет внешнего источника истины. Это делает работу агента зависимой от короткого контекста сессии, что особенно критично для многочасовых задач. Предыдущие решения, такие как плагин Ralph Wiggum, были слишком жесткими из-за зависимости от bash-скриптов, в то время как команда goal чрезмерно полагается на субъективную оценку модели Haiku.

Архитектура и логика работы Goal Buddy

  • Goal Buddy использует архитектуру из трех агентов: судья (только чтение), разведчик (только чтение) и работник (редактирование).
  • Инструмент переносит управление задачами в локальные файлы, включая state.yaml, что позволяет восстанавливать прогресс после завершения сессии.

Инструмент внедряет роль менеджера проекта, который координирует выполнение и помечает задачи как выполненные. Судья анализирует рискованные решения без права редактирования, разведчик составляет квитанции доказательств, а работник выполняет операции по одной задаче за раз. Эта структура обеспечивает безопасную декомпозицию и прозрачность через панель управления.

Практическая реализация и тестирование

  • Рабочий процесс инициализируется командой goal prep, которая запрашивает детали у пользователя для устранения двусмысленностей.
  • Для каждой задачи определяется оракул, позволяющий программно подтвердить успех через тесты или проверку работоспособности функций.

В отличие от базовой команды, Goal Buddy требует точного определения критериев успеха перед началом работы. В тестах с проектированием UI инструмент проявил большую тщательность, уточнив технологический стек и превратив расплывчатый промпт в набор проверяемых задач. Несмотря на последовательное выполнение, такой подход обеспечил более качественную реализацию по сравнению со стандартными методами.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video