НЕ ТРАТЬТЕ СТОЛЬКО ТОКЕНОВ! PI CODING AGENT против OPENCODE на одной локальной LLM

LLuigi Tech
컴퓨터/소프트웨어게임/e스포츠AI/미래기술

Transcript

00:00:00Всем привет! Это демо сравнения Pi Agent и Open Code, и мы протестируем эти
00:00:09две среды на этом примере. Это игра, которую я написал в потоке в моем предыдущем
00:00:20видео, вот в этом. И да, в этом ролике я хочу проверить, как исправить эту игру,
00:00:29потому что в ней есть баги. Например, как вы видите, маркер «X» выиграл
00:00:38матч, но ячейки не подсвечиваются. Мы попробуем сделать такое же исправление
00:00:51с помощью локальной LLM — Qwen 2.5 32B (или 3B), которая, на мой взгляд, является лучшей моделью,
00:01:04которую можно запустить на компьютере прямо сейчас. Давайте сначала попробуем с Pi.
00:01:16Это Pi, и я запущу его внутри этой директории, где находятся исходники в
00:01:30отдельных файлах: у меня есть index.html, game.js и style.css. И мы попробуем
00:01:42один и тот же промпт в обеих средах, сравним результаты, а также я
00:01:55буду использовать таймер, чтобы увидеть, сколько времени займет задача. Вот промпт:
00:02:11«Сделай кубы ячеек более заметными и добавь расстояние между ними»,
00:02:19потому что, как вы видите здесь, кубы стоят очень близко друг к другу. И затем
00:02:28вторая задача: «Улучши логику победы, победные маркеры должны»
00:02:37«стать зелеными». Это еще одна проблема, так как вы не видите, где именно
00:02:46игрок победил по маркерам. И да, он начал выполнять мой промпт — это
00:02:59Pi. Он начинает анализировать текущую директорию, и здесь вы видите
00:03:09используемый контекст. Но, возможно, интереснее будет увидеть время, затраченное на
00:03:20исправление игры. Да, процесс идет, а затем мы выполним ту же задачу с
00:03:30Open Code, и я сброшу репозиторий для чистоты теста. Сейчас я
00:03:41ненадолго поставлю видео на паузу и увидимся, когда он закончит чинить игру.
00:04:00Окей, готово. Он все еще пишет отчет об изменениях, а затем мы протестируем
00:04:20результаты. Готово. Прошло 7 минут и 44 секунды с Qwen 2.5. Давайте
00:04:38посмотрим результаты. Вот отчет, это то, что технически произошло
00:04:47в коде. И, как вы видите, он несколько раз частично читал game.js
00:04:58в разных местах. Вот также diff: видно, что пришлось много чего отредактировать
00:05:09в файле. В сумме отправлено и получено 9,4 тыс. токенов, из них 2,8 тыс. получено.
00:05:23Это итоги использования контекста. Проверим результат: перезагружаем, и как
00:05:35видите, теперь кубы ячеек расположены дальше, более отделены друг от друга.
00:05:44Давайте сыграем. Начну с центральной ячейки, окей... и позволю компьютеру
00:06:00выиграть. Окей, отлично. Компьютер победил, и, как видите, кубы
00:06:11разнесены, а победные маркеры подсвечены. Все работает. И это был
00:06:20Pi Coding Agent. Теперь проведем тот же тест с Open Code, той же
00:06:30моделью и тем же кодом. Я сброшу код. Окей, теперь изменения вернулись
00:06:50к исходной забагованной версии. Теперь попробуем тот же промпт с
00:07:00Open Code для ячеек и логики победы. Я буду использовать ту же модель
00:07:11с Basico. Basico — это кастомный агент, который я сделал, и запускаем его.
00:07:27Я создал агента Basico, потому что он намного проще, чем стандартный кодинг-агент,
00:07:36и агент Basico выглядит вот так.
00:07:56Это просто обычный markdown-файл: «Ты Basico, минималистичный агент». И да,
00:08:07я не указывал здесь много лишнего, просто разрешил веб-поиск,
00:08:15который нам в данном случае не понадобится. Это очень простой агент, чтобы
00:08:24воссоздать условия, похожие на Open Code. Мы уже используем
00:08:3412 тыс. токенов контекста. Он начал с index, game.js и так далее.
00:08:47Мы проверим финальный результат после паузы. Он все еще работает
00:08:58почти без обратной связи. Также хотел сказать, что я пробовал этот тест
00:09:07с Gemma 2 27B, но она не справилась с вызовом инструментов в этом
00:09:20проекте. Gemma смогла воссоздать 3D-игру крестики-нолики, но затем
00:09:30не смогла вызвать функции для редактирования файлов. Поэтому я провожу тест
00:09:38только с Qwen 2.5, так как считаю её лучшей для таких локальных сценариев.
00:09:48Интересно, он составляет список to-do. Тут две задачи: сделать
00:09:58ячейки заметнее и исправить логику. Так что будет немного больше накладных расходов
00:10:07по сравнению с Pi Agent, но Pi смог выполнить
00:10:17эту задачу и без промежуточного списка дел. Возможно, в более сложных
00:10:26ситуациях to-do список полезен. Но в конечном счете именно LLM
00:10:35играет решающую роль, а не оболочка, но мы еще
00:10:44посмотрим.
00:10:56...
00:11:27Почти готово, оба пункта to-do выполнены, но ему еще нужно дочитать
00:11:40и затем записать данные в файл.
00:11:52Пишется отчет. Надеюсь, на этом всё закончится. Прошло уже 12
00:12:05минут, это дольше. Но окей, завершено. Пауза. И как видите,
00:12:15использованный контекст — около 23 тыс. токенов в Open Code. Вероятно, они
00:12:26считают токены по-разному, но кажется, Pi потратил вдвое меньше,
00:12:36чтобы исправить проблемы. Вот технический отчет: он много раз открывал
00:12:46game.js для правок. Давайте проверим игру, чтобы увидеть, работают ли
00:12:57исправления на самом деле. Перезагрузка. Выглядит похоже на версию Pi. Центральная ячейка...
00:13:19Попробуем выиграть. Окей, я выиграл. Как видите, результат тот же,
00:13:32что и в Pi, но затрачено больше токенов и времени на
00:13:43решение. В этом случае Open Code, который обычно имеет много фишек вроде
00:13:55защитных барьеров и настроек промптов, выдал то же решение, что и
00:14:06Pi, но Pi сделал это быстрее и с меньшим числом токенов. В итоге,
00:14:18как я уже говорил, используемая LLM — это самая важная часть.
00:14:28Оболочка полезна, но важнее качество данных,
00:14:36которые попадают в контекст. И в данной ситуации с Pi Coding Agent
00:14:47у нас меньше лишних затрат, и мы получили хороший результат без гигантского промпта.
00:14:58Напишите в комментариях, какой опенсорсный кодинг-агент предпочитаете вы.
00:15:06Увидимся в следующем видео, пока!

Key Takeaway

Pi Coding Agent превосходит Open Code по скорости и экономии ресурсов, исправляя программные ошибки в два раза быстрее и с затратой вдвое меньшего объема токенов при использовании одной и той же локальной модели Qwen 2.5.

Highlights

  • Среда Pi Coding Agent исправляет баги в 3D-игре за 7 минут и 44 секунды, затрачивая 9,4 тыс. токенов.

  • Open Code выполняет аналогичную задачу за 12 минут, расходуя около 23 тыс. токенов контекста.

  • Локальная языковая модель Qwen 2.5 32B успешно справляется с редактированием кода через вызовы инструментов, в то время как Gemma 2 27B не может активировать функции записи в файлы.

  • Pi Coding Agent достигает корректного результата без использования промежуточных списков задач (to-do lists), сокращая накладные расходы на обработку.

  • Использование Pi Coding Agent в связке с Qwen 2.5 позволяет в два раза эффективнее расходовать лимиты токенов по сравнению с более сложными оболочками агентов.

Timeline

Сравнение инструментов на базе локальной LLM

  • Тестирование проводится на 3D-игре «крестики-нолики» с ошибками в логике победы и визуализации.
  • Модель Qwen 2.5 32B выбрана как наиболее эффективное решение для запуска на локальном компьютере.
  • Основные цели правки включают визуальное разделение игровых ячеек и добавление зеленой подсветки для победных маркеров.

Эксперимент направлен на выявление разницы в производительности между Pi Coding Agent и Open Code. Исходный код игры состоит из файлов index.html, game.js и style.css. В текущем состоянии игра не подсвечивает победную комбинацию, а игровые кубы расположены слишком плотно друг к другу.

Эффективность Pi Coding Agent

  • Pi Coding Agent завершает задачу за 7 минут 44 секунды.
  • Общий объем входящих и исходящих данных составляет 9,4 тыс. токенов.
  • Агент вносит изменения через частичное чтение и точечное редактирование файлов без лишних промежуточных шагов.

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

Тестирование Open Code и агента Basico

  • Агент Basico создан как упрощенная версия Open Code для чистоты эксперимента.
  • Модель Gemma 2 27B признана непригодной для данной задачи из-за неспособности вызывать функции редактирования файлов.
  • Open Code генерирует список промежуточных задач (to-do list), что увеличивает нагрузку на контекст.

Для теста Open Code используется сброшенный до исходного состояния код. Автор отмечает, что многие модели успешно воссоздают код с нуля, но сталкиваются с трудностями при попытке отредактировать существующие файлы. Наличие дополнительных защитных барьеров и настроек в Open Code создает больше накладных расходов по сравнению с Pi.

Итоги производительности и расхода токенов

  • Open Code затрачивает около 23 тыс. токенов для получения идентичного результата.
  • Время выполнения в Open Code составляет 12 минут, что значительно превышает показатели Pi.
  • Качество данных в контексте и эффективность оболочки агента определяют итоговую стоимость и скорость разработки.

Несмотря на одинаковый результат в виде работающей игры, Open Code демонстрирует избыточность в потреблении ресурсов. Решающую роль играет не сложность оболочки, а то, насколько эффективно LLM взаимодействует с кодом. Pi Coding Agent предоставляет качественный результат без необходимости в гигантских промптах или сложной структуре планирования.

Community Posts

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

Write about this video