Один промпт, 8 субагентов, 183 шага и 2 часа 43 минуты автономной работы. Столько потребовалось DeepSeek, чтобы собрать с нуля браузерную аркаду на React, TypeScript и Canvas.
Самое интересное, что всё это происходило на подписке OpenCode Go за $10. А я в это время наблюдал, как агент самостоятельно разбирается с задачами, пишет код и проверяет результат.
В этой статье расскажу, что представляет собой DeepSeek Harness, чем он отличается от обычных coding-агентов, как устроена его работа с кэшем и что в итоге удалось получить. Заодно покажу саму игру и несколько моментов, где без моего вмешательства всё-таки не обошлось.
У меня была довольно простая идея: сделать браузерную игру для тренировки скорости печати. Чтобы с экрана летели слова, игрок набирал их на клавиатуре, стрелял по противникам, набирал очки и пытался не потерять все жизни. Что-то между тренажёром слепой печати и аркадным шутером.
Но экспериментировать хотелось даже не столько с игрой, сколько с агентной разработкой. Я решил проверить, что получится, если взять относительно недорогую модель, дать ей нормальную среду для работы и поставить достаточно большую задачу. Не очередной список дел на React, а игру с графикой, звуком, игровой логикой и статистикой.
Мой процесс выглядел так:
Идея простыми словами → ChatGPT в обычном браузере → большой технический промпт → DeepSeek Harness → готовый проект.
Никакого Codex на этапе составления промптов не было. Я обсуждал задумку с обычным ChatGPT на сайте, просил его продумать архитектуру, найти слабые места требований и собрать всё в внятное ТЗ. А реализовывал уже DeepSeek в Harness.
Первую версию игры агент делал 2 часа 43 минуты 27 секунд. Без малого три часа. Бедолага DeepSeek, конечно, отработал за это время по полной.

И сразу уточню важный момент. «С одного промпта» не означает, что модель один раз ответила куском кода. На скриншоте видно 183 шага внутри одного задания и работу в режиме Agent Team с субагентами. То есть я дал одну большую цель, а внутри неё агент уже самостоятельно занимался реализацией, проверками и исправлениями.
Ниже расскажу, почему выбрал именно эту связку, что в Harness оказалось полезным и какие проблемы появились, когда игру пришлось запускать не в идеальных условиях тестов, а в реальном браузере и на реальном сервере.
Почему DeepSeek Harness, а не просто чат с нейросетью
Когда общаешься с моделью через обычный чат, она может написать компонент, предложить архитектуру или объяснить ошибку. Но за тебя она не обязательно пройдёт весь путь от пустой папки до работающего проекта.
С агентной средой всё интереснее. Модель получает доступ к рабочей директории, может читать и менять файлы, запускать команды, создавать тесты, смотреть на результат и возвращаться к коду, если что-то пошло не так.
DeepSeek Harness - открытая агентная среда от команды DeepSeek. Её главная идея сформулирована довольно буквально: Everything is a Plugin. Архитектура построена на Cordis, а отдельные возможности среды можно расширять через плагины. Сейчас проект находится в стадии активной разработки, поэтому некоторые механизмы и интерфейсы ещё могут меняться.
Репозиторий DeepSeek Harness на GitHub | Официальная страница
Из того, что меня заинтересовало:
Работа с проектом целиком. Можно поставить цель уровня «собери приложение», а не отправлять отдельно десятки файлов с просьбой «допиши вот здесь».
Субагенты и Agent Team. Большую задачу можно разбивать по зонам ответственности. Для игры это особенно удобно: отдельно логика, интерфейс, звук, словари, тестирование.
Инструменты и skills. Среду можно расширять и подключать дополнительные способы работы с документацией, кодом и внешними сервисами.
Плагины. Можно не только пользоваться стандартным набором возможностей, но и подстраивать сам Harness под собственный рабочий процесс.
Длинные задачи. В моём случае агент не ограничился несколькими минутами генерации файлов. Он достаточно долго последовательно работал над одной целью.
Не хочу пересказывать всю документацию. Меня больше интересовало, что из этого действительно пригодится на практике. И тут неожиданно важной оказалась одна вещь - стоимость длинной агентной работы.
35,7 миллиона токенов, 99% кэша и почему это не выглядит страшно
Во время первого большого задания Harness показал довольно забавную статистику: 35 703 377 токенов.
Звучит как число, после которого хочется закрыть вкладку с биллингом. Но если посмотреть внимательнее, картина совсем другая.

Вот что было в интерфейсе:
Показатель | Значение |
|---|---|
Всего обработано токенов | 35 703 377 |
Кэшированный ввод | 35 210 496 |
Некэшированный ввод | 334 283 |
Вывод модели | 158 598 |
Cache hit | 99% |
Шагов в задании | 183 |
Время выполнения | 2 ч 43 мин 27 с |
Главная деталь здесь - 35,2 миллиона токенов пришлись на кэшированный ввод. В длинных задачах агент снова и снова обращается к контексту проекта, инструкциям и предыдущим результатам работы. Если провайдер умеет эффективно переиспользовать этот контекст, такие обращения обходятся заметно дешевле, чем постоянная обработка всего текста как нового.
Именно поэтому я бы не интерпретировал цифру 35,7 млн как «DeepSeek сгенерировал 35 миллионов новых токенов». Реального вывода было около 159 тысяч токенов. Остальное - вход, в основном из кэша.
Это, конечно, не доказывает, что Harness всегда будет показывать 99% cache hit. Я говорю о конкретной сессии, которую можно увидеть на скриншоте. Но для длинной агентной разработки показатель очень интересный.
Эта задача обошлась мне в примерно в 15% от 5-ти часового лимита на 10$-ой подписке OpenCode.
OpenCode Go за $10: откуда вообще берутся такие лимиты
Отдельно поясню момент, который легко перепутать: DeepSeek Harness и OpenCode Go - не одно и то же.
Harness был моей средой разработки. В качестве модели использовал DeepSeek V4.1 Flash, в моём случае вариант 1017 (в интерфейсе Harness он отображался как V4.1 Flash Max). А доступ к модели оплачивал через OpenCode Go.

Здесь важно не ошибиться с формулировкой. За $10 вам не начисляют на обычный API-баланс сто долларов, которые можно куда угодно перевести или потратить. Речь о доступном объёме использования конкретной модели, рассчитываемом по тарифам сервиса. При этом действуют ограничения на пятичасовое окно, неделю и месяц.
У OpenCode есть отдельная документация по Go. Лучше проверять актуальные условия перед покупкой: набор моделей, цены и лимиты могут меняться. Я описываю то, что было доступно на момент моего эксперимента.
Peak, Off-Peak и зачем я написал свой плагин
В тарифной таблице у DeepSeek V4.1 Flash есть два режима: Peak и Off-Peak. У них разные расчётные цены на токены. На моём скриншоте Off-Peak обходится дешевле: например, $0,15 против $0,30 за миллион входных токенов, а вывод - $0,60 против $1,20.
Разница ощутимая, особенно если агент долго работает над проектом.
И вот тут пригодилась кастомизируемость Harness. Я сделал себе небольшой плагин, который прямо в интерфейсе показывает, какой режим сейчас действует: Peak или Off-Peak. На первом скриншоте можно заметить зелёную метку Off-peak в нижней панели.
Ничего революционного, просто мне так удобнее: открыл Harness, увидел статус и понимаю, стоит ли сейчас запускать большой эксперимент или лучше отложить его до дешёвого окна.

В этом и вижу одну из приятных сторон Harness. Не нужно каждый раз ждать, пока разработчики добавят нужную мелочь. Некоторые вещи можно собрать под себя через плагины.
А потом разработчик OpenCode написал про $300 за $10
4 ноября Dax, один из людей, работающих над OpenCode, опубликовал пост о том, что команда по инференсу, похоже, нашла способ предоставлять объём использования DeepSeek, эквивалентный $300, за подписку $10.

Звучит очень щедро. Но я бы пока не воспринимал это как действующее обещание всем подписчикам. Это публичное сообщение о потенциальной возможности, а не новый гарантированный пункт тарифных условий. Неизвестно, когда и в каком виде это появится, на какие модели распространится и какие будут ограничения.
Тем не менее тенденция интересная. Если подобные тарифы станут устойчивыми, долгие агентные задачи на открытых моделях будут доступны гораздо большему количеству людей.
Вернёмся к игре. Что получилось за первое задание
Изначально проект назывался Type Strike. Я хотел, чтобы он ощущался как настоящая маленькая аркада, а не просто поле ввода с таймером.
В первой версии DeepSeek реализовал:
игровой цикл со словами, которые спускаются к кораблю;
стрельбу при правильном наборе букв и блокировку цели;
волны противников, очки, комбо и жизни корабля;
способность очистить экран от целей;
собственную графику на Canvas 2D с лазерами, частицами и взрывами;
звук и музыку через Web Audio API;
русский и английский наборы слов;
историю забегов и настройки в
localStorage;интерфейс на React, TypeScript и Vite.
И всё это в рамках одного большого пользовательского задания. Если смотреть на сессию в Harness, там не магия: агент много раз обращался к файлам, запускал инструменты, вносил изменения, проверял и переделывал. Но мне не пришлось вручную собирать каждую часть в отдельном диалоге.
При этом именно первый результат был полноценной локальной игрой без backend. Все результаты хранились на устройстве, а Netlify просто отдавал браузеру HTML, CSS и JavaScript. Игра рендерилась на компьютере или телефоне игрока, никакого серверного GPU там не было.


Честно, меня больше всего удивила не сама возможность сгенерировать компоненты React. Сейчас этим мало кого поразишь. Интереснее, что агент смог достаточно долго удерживать общую задачу: игра должна работать как единое целое, с вводом, графикой, звуком и логикой, а не как набор независимых красивых экранов.
Второе большое задание: теперь всё это должно работать с друзьями
Потом возникла логичная мысль: играть одному хорошо, но было бы интереснее сравнивать результаты с друзьями. А для этого localStorage уже не подходит - он привязан к конкретному браузеру и устройству.
Во втором большом задании, также с DeepSeek, я попросил добавить серверную часть и социальные функции. В результате игра постепенно превратилась в Typer Cool.
Появились Telegram-авторизация, синхронизация статистики между устройствами, профили, список друзей, приглашения по ссылке, рейтинг друзей и бот с поддержкой пользователей. Данные стали храниться в PostgreSQL, API работает на VPS, а сама игра по-прежнему размещается на Netlify.
Схема получилась примерно такой:
Браузер игрока (typer.cool)
|
| HTTPS
v
API на VPS <----> Telegram-бот
|
v
PostgreSQL
При этом играть без регистрации по-прежнему можно. Telegram нужен тому, кто хочет облачную историю и сравнение результатов.
Не буду превращать этот раздел в подробное описание всех кнопок игры. Всё-таки статья не о ней. Если интересно посмотреть, насколько получился живым результат такой разработки, можно открыть typer.cool и попробовать. Регистрация для самой игры не требуется.

Где всё-таки пришлось вмешаться человеку
Здесь была бы красивая точка истории, если бы после генерации всё работало идеально. Но нет.
Например, мобильная версия, которая вполне прилично выглядела в Chrome DevTools, на настоящем iPhone Safari местами разваливалась: элементы накладывались друг на друга, часть интерфейса не прокручивалась, длинные русские надписи не помещались на экран. Пришлось отдельно ставить агенту задачу на адаптацию под физические устройства, а не только эмуляторы.
Серверная часть тоже подарила несколько развлечений. На моём Ubuntu уже работал Caddy для других проектов, а сгенерированная инфраструктура предполагала ещё один Caddy в Docker, который пытался занять те же порты 80 и 443. Решилось корректировкой Docker Compose и использованием существующего reverse proxy, но в автоматическом деплое без проверки такую историю запускать не хочется.
Была и забавная ошибка с Telegram-аватарками. Профиль авторизовывался, API отвечал, тесты проходили, но настоящая фотография никак не появлялась. В логах обнаружился bad_type: сервер слишком строго проверял формат скачанного изображения. На реальном Telegram Bot API выяснилось то, чего не показали тестовые заглушки.
Ещё одна мелочь, которая оказалась не такой уж мелочью: приглашения друзей в приложении работали, но если открыть ссылку напрямую в новой вкладке, Netlify отвечал 404. Понадобилось исправить правила SPA-маршрутизации.
Все эти случаи, на мой взгляд, хорошо показывают границу возможностей агента. Он может сделать огромный объём работы, но проверить результат в реальной инфраструктуре всё равно должен человек. Особенно если речь о пользователях, данных и безопасности.

Что я в итоге вынес из эксперимента
Первый вывод - хорошо сформулированная задача важнее, чем кажется. Я не пытался писать огромный технический промпт с нуля. Сначала объяснял ChatGPT обычным языком, какую игру хочу видеть. Затем мы раскладывали идею на механику, экраны, технические требования, ограничения и проверки. Уже этот документ я отдавал DeepSeek Harness.
Второй - агентная среда имеет значение. Модель сама по себе важна, но возможность работать с файлами, использовать субагентов, запускать тесты, долго вести один проект и переиспользовать контекст сильно меняет результат.
Третий - кэш и тарифы стоит изучать не меньше, чем качество модели. На моей трёхчасовой сессии 99% cache hit оказался не менее интересной цифрой, чем 183 шага. А маленький плагин с Peak / Off-Peak помог сделать рабочий процесс удобнее.
Ну и четвёртый - один промпт не равен готовому продакшену навсегда. Основная игра действительно появилась после одной большой задачи. Социальные функции - после следующей крупной итерации. Затем были тестирование, исправления, публикация, новые баги и очередные доработки. Нормальный процесс разработки никуда не делся, просто большая часть написания кода переехала к агенту.
Я не утверждаю, что DeepSeek Harness с DeepSeek V4.1 Flash лучше Codex, Claude Code или других инструментов. Для такого вывода нужен полноценный сравнительный эксперимент с одинаковыми задачами, условиями и проверкой качества. Здесь я просто поделился одним своим опытом, со скриншотами и вполне проверяемым результатом.
Если вы уже используете Harness, интересно, какие плагины сделали под себя и какие модели пробовали на длинных задачах? А если нет, было бы интересно услышать, насколько похожий результат дают другие агентные среды за сопоставимые деньги.
Ссылки
P.S. Все цифры по тарифам и лимитам приведены по состоянию на конец октября - начало ноября 2026 года. Условия подписок могут измениться. Хостинг, домен и VPS, понадобившиеся для поздней серверной версии игры, не входят в стоимость подписки OpenCode Go.

Комментарии 0