2 марта Android-разработчик с 25-летним стажем в IT начал проект, который позже описал на Habr. Задача была не сделать приложение, а разобраться, как ведётся разработка с ИИ-агентом. Приложение стало полигоном. Через полгода оно лежит в Google Play, автор пользуется им каждый день, но рейтинга у него нет.
Приложение решает две задачи. Первая — работа без интернета: в деревне, где живёт автор, сеть есть не везде, а телефон остаётся единственным компьютером. Вторая — обработка данных, которые не хочется отдавать в облако: переписка, заметки о людях, выписки из клиники, договор под NDA. В обоих случаях модель работает на самом телефоне. Движок — LiteRT-LM, надстройка для языковых моделей над LiteRT, наследником TensorFlow Lite. Модель — Gemma 4 E4B, для телефонов послабее есть E2B. Файл весит около 3,4 ГБ и качается один раз, дальше нужно 2+ ГБ свободной памяти. На Galaxy S25 Ultra с GPU разговор устройство не покидает.
| Параметр | Значение |
|---|---|
| Первый коммит | 2 марта |
| Первые шесть недель | 12 фаз, 276 коммитов |
| Смена инструмента | 16 апреля, с Gemini CLI на Claude Code |
| Итог полугодия | 1600 коммитов |
| Движок | LiteRT-LM |
| Модель | Gemma 4 E4B (E2B для слабых устройств) |
| Размер файла модели | около 3,4 ГБ |
| Свободная память | 2+ ГБ |
| Устройство автора | Galaxy S25 Ultra с GPU |
| Публикация | Google Play, рейтинг отсутствует |
Первые шесть недель дали 12 фаз и 276 коммитов: каркас и архитектура, движок на LiteRT-LM и управление моделями, память и контекст, инструменты и интеграция с ОС, экран чата, фоновая работа, оркестрация, стабилизация, мультисессионность, «умные» пайплайны, разбор техдолга, переработка визуального редактора пайплайнов. Для учебного проекта это перебор, но автор и не садился строить приложение — он разбирался, как ведётся разработка с агентом. Полигон разросся сам.
За первые шесть недель — 12 фаз и 276 коммитов; инструмент Gemini CLI часто оставлял заглушки вместо кода, из-за чего его сменили на Claude Code.
Главная проблема первых недель — заглушки. Gemini CLI создавал структуру класса, а внутри методов стояло «а потом когда-нибудь добавим вот это вот». Тест к этому прилагался. Зелёный. Задача закрыта, отчёт бодрый, реализации нет. Разбирать за агентом, что сделано на самом деле, а что только обещано, выходило дороже, чем писать самому. 16 апреля автор сменил инструмент с Gemini CLI на Claude Code. В тот же день он решил не закрывать учебный проект, а растить его дальше — во что-то полезнее учебной работы.
К середине апреля на руках было приложение, которое уже жалко выбрасывать. Дальше были три смены курса: учебный проект стал продуктом, Gemini CLI сменился на Claude Code, маршрутизатор на два выхода стал графом. Была стена, в которую автор въехал на полном ходу, и запуск, который не сработал. К концу полугодия — 1600 коммитов и ноль рейтинга в Google Play.
Контекст, который стоит держать в голове. Локальный запуск моделей на телефоне — не новость сама по себе: Google продвигает LiteRT (бывший TensorFlow Lite) как способ выполнять модели на устройстве, а Gemma — открытое семейство моделей, которое можно скачать и запустить без облака. Но на практике это упирается в память, размер файла и скорость. Приложение автора показывает, что даже на флагманском смартфоне это работает, если модель весит несколько гигабайт и пользователь готов один раз подождать загрузку. Облачные модели, MCP и HTTP-запросы в приложении появляются только после того, как пользователь сам впишет ключ, адрес сервера или список доменов. Пока не вписал — для приложения этого не существует.
Отдельная линия — требования рынка. В требованиях всё чаще стоит не знание Kotlin и Compose, а умение вести разработку с ИИ. Не «пробовал Copilot», а именно вести: ставить задачу, разбирать результат, замечать, где инструмент уверенно врёт. В карточках JIRA на работе автора появилось обязательное поле «уровень использования ИИ» со значениями «полностью выполнено агентом» и «частично выполнено агентом». Варианта «выполнено самостоятельно» там нет. Вместо привычных TDD, BDD, DDD и FDD вокруг всё чаще звучат AIDD и SDD.
Что это значит для читателя, который впервые слышит о теме. ИИ-агент — это не чат-бот, а программа, которая получает задачу, разбивает её на шаги и выполняет их с доступом к инструментам: файлам, терминалу, браузеру. Разработка с агентом — это не «нажал кнопку и получил приложение». Это постановка точной задачи и проверка каждого шага. Автор формулирует вывод коротко: задачу надо ставить точно, а каждый шаг проверять. Звучит банально ровно до первого раза, когда агент закрывает задачу с зелёным тестом, а реализации нет.
История полезна не тем, что кто-то написал приложение с помощью ИИ. Полезно то, что автор честно фиксирует цену: полгода, 1600 коммитов, смена инструмента, стена и запуск без рейтинга. Локальные модели на телефоне уже работают, но продукт из них не собирается сам. ИИ-агент ускоряет рутину, но не отменяет необходимость разбираться в том, что он сделал.

