Продакшен RetailCRM в цифрах 🔵
RetailCRM в IT-сфере не так на слуху, как в ecom/retail, всё-таки нишевое решение. В декабре традиционно подводили итоги года, и я посмотрел актуальные цифры по нашему продакшену. Подумал: почему бы не поделиться?
✨Ключевые цифры:
→ ~6000 заказов/час проходит через систему
→ 45 000+ внешних систем интегрировано и регулярно обменивается данными
→ 100+ млн HTTP-запросов/день прилетает в приложения
→ ~100 000 tps — нагрузка на базы PostgreSQL (транзакций в секунду)
→ 250+ серверов — размер продакшена
→ 550 ГБ логов или 0,5 млрд записей в сутки
Для многих клиентов RetailCRM — core-система их IT-инфраструктуры, и это ответственность. Уделяем большое внимание стабильности и надежности.
И могу без преувеличения сказать, что мы №1 решение для e-commerce и ритейла.
🔗 Инженерия и AI | Ilyas Salikhov
RetailCRM в IT-сфере не так на слуху, как в ecom/retail, всё-таки нишевое решение. В декабре традиционно подводили итоги года, и я посмотрел актуальные цифры по нашему продакшену. Подумал: почему бы не поделиться?
✨Ключевые цифры:
→ ~6000 заказов/час проходит через систему
→ 45 000+ внешних систем интегрировано и регулярно обменивается данными
→ 100+ млн HTTP-запросов/день прилетает в приложения
→ ~100 000 tps — нагрузка на базы PostgreSQL (транзакций в секунду)
→ 250+ серверов — размер продакшена
→ 550 ГБ логов или 0,5 млрд записей в сутки
Для многих клиентов RetailCRM — core-система их IT-инфраструктуры, и это ответственность. Уделяем большое внимание стабильности и надежности.
И могу без преувеличения сказать, что мы №1 решение для e-commerce и ритейла.
🔗 Инженерия и AI | Ilyas Salikhov
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥15👍4❤2
Конструктор сценариев в RetailCRM и при чем тут Temporal [Часть 1]
В последнем релизе RetailCRM мы запустили раздел Сценарии. Если объяснять просто, можно накидывать на холсте сложную логику процессов, в первую очередь коммуникации с клиентами через email, чаты, sms, но не только. А чтобы не составлять руками, научили AI-помощника собирать сценарии по вводным от пользователя. Но обо всём по порядку.
Модуль сложный и интересный, кажется, тянет на серию постов.
Расскажу сначала, в чем были технические сложности задачи. Вводные были таковы:
1. Создание и запуск динамических workflow
Пользователь должен сам настроить логику сценария, а мы её выполнить
2. Асинхронное выполнение сценариев
Сценарий должен запуститься по событию и пройти свой путь, не блокируя точку запуска сценария. События могут вызываться часто).
3. Распределенность выполнения сценария
Разные функции RetailCRM физически локализованы в разных сервисах. Созданное решение должно обеспечивать распределенное прохождение разных частей сценария в разных сервисах.
4. Протяженное время выполнения сценария
Должны быть блоки ожидания от нескольких минут до месяцев. Сценарии могут выполняться долго и не должны «ломаться» при деплоях новых версий.
Примеры:
• отправили письмо → ждем час → проверяем, что письмо не открыто → отправляем чат-сообщение
• заказ перешел в статус Выполнен → ждем 3 месяца → проверяем, что за 3 месяца у клиента не было заказов → отправляем каскад имейл/чат/смс с предложением повторить заказ
5. Отказоустойчивость выполнения сценариев
Должна быть заложена обработка неудачного выполнения шагов. Это может быть временная недоступность внешних сервисов (например, email-транспорт), внутренних сервисов, временные ошибки. Возможность задать логику ретраев и времени ожидания выполнения шага.
6. Версионность сценариев
Например, пользователь создал первую версию сценария и запустил её. После этого изменил флоу сценария и запустил обновленную версию. Все срабатывания первой версии, что уже на этапе выполнения, должны не сломаться и довести свою работу до конца.
7. Контекст выполнения сценария
Контекст сценария должен быть наполнен стартовыми данными (объект клиента, данные события) и обогащаться данными выполненных шагов сценария (отправленное ранее письмо и его статус, поставленная задача, созданный/измененный заказ и тд)
⚙️ Почему Temporal?
Под подобные задачи есть класс решений (Cadence, Restate, DBOS). Изучая их, мы пришли к Temporal. За него кстати также активно топят ребята из @php_fart.
Temporal выступает таким мастер-менеджером, который не знает, по какой логике нужно выполнить workflow, не знает, какие элементы workflow надо выполнить, но знает, куда сходить за этими знаниями, и обеспечит выполнение всего, что ему сказали выполнить, в тех местах, где ему указали выполнить.
Что дает Temporal:
• Workflow-as-code — элементы воркфлоу реализуются в коде, что позволяет нам реализовать логику предоставляемых «кубиков» Сценария
• Обширный набор SDK под разные языки. В том числе под наши: PHP и Go
• Отказоустойчивость, настраиваемая политика ретраев и таймаутов
• Масштабируемость — Temporal состоит из нескольких компонентов и каждый из них можно масштабировать
• Observability: API и GUI для просмотра, что происходит в рантайме с детализацией до отдельных шагов workflow
• История выполнений workflow
• Протокол общения gRPC, это быстро
• Self-hosted, open source (MIT) — можно использовать в своем продукте на своих серверах
Temporal — важная, но лишь одна из составляющих решения. Как выглядит архитектура в целом, расскажу в следующих постах.
Кстати, отличный рассказ про Temporal и Сценарии в RetailCRM был от Ивана Чернявцева на нашем митапе.
🔗 Инженерия и AI | Ilyas Salikhov
В последнем релизе RetailCRM мы запустили раздел Сценарии. Если объяснять просто, можно накидывать на холсте сложную логику процессов, в первую очередь коммуникации с клиентами через email, чаты, sms, но не только. А чтобы не составлять руками, научили AI-помощника собирать сценарии по вводным от пользователя. Но обо всём по порядку.
Модуль сложный и интересный, кажется, тянет на серию постов.
Расскажу сначала, в чем были технические сложности задачи. Вводные были таковы:
1. Создание и запуск динамических workflow
Пользователь должен сам настроить логику сценария, а мы её выполнить
2. Асинхронное выполнение сценариев
Сценарий должен запуститься по событию и пройти свой путь, не блокируя точку запуска сценария. События могут вызываться часто).
3. Распределенность выполнения сценария
Разные функции RetailCRM физически локализованы в разных сервисах. Созданное решение должно обеспечивать распределенное прохождение разных частей сценария в разных сервисах.
4. Протяженное время выполнения сценария
Должны быть блоки ожидания от нескольких минут до месяцев. Сценарии могут выполняться долго и не должны «ломаться» при деплоях новых версий.
Примеры:
• отправили письмо → ждем час → проверяем, что письмо не открыто → отправляем чат-сообщение
• заказ перешел в статус Выполнен → ждем 3 месяца → проверяем, что за 3 месяца у клиента не было заказов → отправляем каскад имейл/чат/смс с предложением повторить заказ
5. Отказоустойчивость выполнения сценариев
Должна быть заложена обработка неудачного выполнения шагов. Это может быть временная недоступность внешних сервисов (например, email-транспорт), внутренних сервисов, временные ошибки. Возможность задать логику ретраев и времени ожидания выполнения шага.
6. Версионность сценариев
Например, пользователь создал первую версию сценария и запустил её. После этого изменил флоу сценария и запустил обновленную версию. Все срабатывания первой версии, что уже на этапе выполнения, должны не сломаться и довести свою работу до конца.
7. Контекст выполнения сценария
Контекст сценария должен быть наполнен стартовыми данными (объект клиента, данные события) и обогащаться данными выполненных шагов сценария (отправленное ранее письмо и его статус, поставленная задача, созданный/измененный заказ и тд)
⚙️ Почему Temporal?
Под подобные задачи есть класс решений (Cadence, Restate, DBOS). Изучая их, мы пришли к Temporal. За него кстати также активно топят ребята из @php_fart.
Temporal выступает таким мастер-менеджером, который не знает, по какой логике нужно выполнить workflow, не знает, какие элементы workflow надо выполнить, но знает, куда сходить за этими знаниями, и обеспечит выполнение всего, что ему сказали выполнить, в тех местах, где ему указали выполнить.
Что дает Temporal:
• Workflow-as-code — элементы воркфлоу реализуются в коде, что позволяет нам реализовать логику предоставляемых «кубиков» Сценария
• Обширный набор SDK под разные языки. В том числе под наши: PHP и Go
• Отказоустойчивость, настраиваемая политика ретраев и таймаутов
• Масштабируемость — Temporal состоит из нескольких компонентов и каждый из них можно масштабировать
• Observability: API и GUI для просмотра, что происходит в рантайме с детализацией до отдельных шагов workflow
• История выполнений workflow
• Протокол общения gRPC, это быстро
• Self-hosted, open source (MIT) — можно использовать в своем продукте на своих серверах
Temporal — важная, но лишь одна из составляющих решения. Как выглядит архитектура в целом, расскажу в следующих постах.
Кстати, отличный рассказ про Temporal и Сценарии в RetailCRM был от Ивана Чернявцева на нашем митапе.
🔗 Инженерия и AI | Ilyas Salikhov
🔥8👍5
Ближайшие два года в разработке: что нас ждет с точки зрения AI 🤖
Addy Osmani (Google Cloud AI director, 14 лет в Chrome/DevTools) разбирает в своем недавнем посте пять ключевых вопросов, которые определят нашу профессию в 2026-2027. Поделюсь главными тезисами + своими мыслями.
1. Проблема junior-разработчиков 👨💻
Исследование Harvard на 62 млн работников показало: компании, внедрившие генеративный AI, сокращают наем junior на 9-10% в течение 6 кварталов. При этом наем senior почти не меняется.
Big Tech за последние 3 года наняли на 50% меньше выпускников. Логика проста: зачем платить junior $90K, если AI-агент справляется дешевле?
Но есть и оптимистичный сценарий: AI может разблокировать спрос на разработчиков в новых индустриях — healthcare, manufacturing, агро. Не заменить, а распределить разработку туда, где её раньше не было.
Мои мысли: Долгосрочный риск очевиден — если обрубить pipeline junior-ов сегодня, через 5-10 лет получим дефицит senior/tech lead. Индустрия будет рубить сук, на котором сидит.
2. Атрофия навыков или их усиление? 🧠
84% разработчиков используют AI регулярно. Многие новички вообще не пишут код "с нуля" — только compose промпты и склеивают AI-generated куски.
Риск: поколение, которое не умеет дебажить или писать алгоритмы самостоятельно. AI вносит subtle баги и уязвимости, которые junior могут не заметить.
Контр-сценарий: раз AI берет рутинные 80%, человек фокусируется на сложных 20% — архитектура, интеграции, edge cases. Глубокие знания становятся критичнее, а не наоборот.
Цитата из статьи: "Лучшие инженеры — не те, кто быстрее кодит, а те, кто знает, когда не доверять AI."
Мои мысли: Мы в RetailCRM видим это на практике. AI помогает быстро генерить код, но review требует большего внимания. Архитектурные решения и security всё еще полностью на людях.
3. Роль разработчика: аудитор или оркестратор? 🎭
Пессимистичный вариант: разработчик превращается в "code janitor" — проверяет AI-generated PR, исправляет баги, следит за compliance. Творчество убито.
Оптимистичный: разработчик становится оркестратором — проектирует системы, распределяет задачи между AI-агентами и сервисами, склеивает решения из множества компонентов. Роль становится междисциплинарной: инженер + архитектор + продуктовый стратег.
Мои мысли: Со своей стороны вижу скорее второй вариант. Ключ в том, как компания интегрирует AI. Если видит его как замену труда, то получит аудиторов. Если как усилитель команды — получит оркестраторов.
4. T-shaped инженеры vs узкие специалисты 🔧
Узкая специализация становится рискованной. AI может автоматизировать нишу, и специалист останется не у дел (вспомните Flash, COBOL).
Тренд: T-shaped разработчики — глубокая экспертиза в 1-2 областях + широкий кругозор в других. 45% вакансий уже требуют знаний в нескольких доменах. AI как раз помогает: backend-разработчик с AI может нарисовать UI, frontend — сгенерить серверную часть.
Мои мысли: Полностью согласен. У нас в команде наиболее эффективны именно T-shaped специалисты. Исторически мы стараемся брать фулл-стеков. Понятно, что сейчас невозможно найти одинаково сильного человека и в бекенде, и во фронте, но более широкий кругозор позволяет снимать ботлнеки и работать более компактными командами. А с приходом AI в одного человека запилить очень приличный не то, что MVP, а вполне себе небольшой продукт.
↓ продолжение
🔗 Инженерия и AI | Ilyas Salikhov
Addy Osmani (Google Cloud AI director, 14 лет в Chrome/DevTools) разбирает в своем недавнем посте пять ключевых вопросов, которые определят нашу профессию в 2026-2027. Поделюсь главными тезисами + своими мыслями.
1. Проблема junior-разработчиков 👨💻
Исследование Harvard на 62 млн работников показало: компании, внедрившие генеративный AI, сокращают наем junior на 9-10% в течение 6 кварталов. При этом наем senior почти не меняется.
Big Tech за последние 3 года наняли на 50% меньше выпускников. Логика проста: зачем платить junior $90K, если AI-агент справляется дешевле?
Но есть и оптимистичный сценарий: AI может разблокировать спрос на разработчиков в новых индустриях — healthcare, manufacturing, агро. Не заменить, а распределить разработку туда, где её раньше не было.
Мои мысли: Долгосрочный риск очевиден — если обрубить pipeline junior-ов сегодня, через 5-10 лет получим дефицит senior/tech lead. Индустрия будет рубить сук, на котором сидит.
2. Атрофия навыков или их усиление? 🧠
84% разработчиков используют AI регулярно. Многие новички вообще не пишут код "с нуля" — только compose промпты и склеивают AI-generated куски.
Риск: поколение, которое не умеет дебажить или писать алгоритмы самостоятельно. AI вносит subtle баги и уязвимости, которые junior могут не заметить.
Контр-сценарий: раз AI берет рутинные 80%, человек фокусируется на сложных 20% — архитектура, интеграции, edge cases. Глубокие знания становятся критичнее, а не наоборот.
Цитата из статьи: "Лучшие инженеры — не те, кто быстрее кодит, а те, кто знает, когда не доверять AI."
Мои мысли: Мы в RetailCRM видим это на практике. AI помогает быстро генерить код, но review требует большего внимания. Архитектурные решения и security всё еще полностью на людях.
3. Роль разработчика: аудитор или оркестратор? 🎭
Пессимистичный вариант: разработчик превращается в "code janitor" — проверяет AI-generated PR, исправляет баги, следит за compliance. Творчество убито.
Оптимистичный: разработчик становится оркестратором — проектирует системы, распределяет задачи между AI-агентами и сервисами, склеивает решения из множества компонентов. Роль становится междисциплинарной: инженер + архитектор + продуктовый стратег.
Мои мысли: Со своей стороны вижу скорее второй вариант. Ключ в том, как компания интегрирует AI. Если видит его как замену труда, то получит аудиторов. Если как усилитель команды — получит оркестраторов.
4. T-shaped инженеры vs узкие специалисты 🔧
Узкая специализация становится рискованной. AI может автоматизировать нишу, и специалист останется не у дел (вспомните Flash, COBOL).
Тренд: T-shaped разработчики — глубокая экспертиза в 1-2 областях + широкий кругозор в других. 45% вакансий уже требуют знаний в нескольких доменах. AI как раз помогает: backend-разработчик с AI может нарисовать UI, frontend — сгенерить серверную часть.
Мои мысли: Полностью согласен. У нас в команде наиболее эффективны именно T-shaped специалисты. Исторически мы стараемся брать фулл-стеков. Понятно, что сейчас невозможно найти одинаково сильного человека и в бекенде, и во фронте, но более широкий кругозор позволяет снимать ботлнеки и работать более компактными командами. А с приходом AI в одного человека запилить очень приличный не то, что MVP, а вполне себе небольшой продукт.
↓ продолжение
🔗 Инженерия и AI | Ilyas Salikhov
👍8🔥3❤1🤔1
↑ начало
5. Судьба традиционного образования 🎓
4-летний CS degree остается стандартом, но под вопросом. Университеты не успевают за индустрией — студенты не изучают cloud, DevOps, современные AI-инструменты.
Альтернатива: bootcamp'ы, онлайн-курсы, сертификации, работодательские программы. 45% компаний в 2024 планировали убрать требование о наличии степени для части позиций.
Мои мысли: фундаментальные знания из CS программ всё ещё важны. Высшая математика, алгоритмы, архитектура, теория баз данных, низкоуровневые языки — это фундамент, на котором выкладываются кирпичики дальнейших знаний и опыта. И ChatGPT нужно использовать не для решения домашек, а как очень крутого ментора и учителя, с которым можно на повышенной скорости поглощать новые темы.
Общий вывод 💡
Индустрия на перепутье. AI не убьет разработку, но сильно её изменит. Ключ к выживанию:
→ Непрерывное обучение
→ T-shaped навыки
→ Фокус на то, что AI не может: критическое мышление, архитектура, коммуникация
→ Умение работать С AI, а не ВМЕСТО него
Лучший способ предсказать будущее — активно его создавать.
Оригинал: https://addyosmani.com/blog/next-two-years/
🔗 Инженерия и AI | Ilyas Salikhov
5. Судьба традиционного образования 🎓
4-летний CS degree остается стандартом, но под вопросом. Университеты не успевают за индустрией — студенты не изучают cloud, DevOps, современные AI-инструменты.
Альтернатива: bootcamp'ы, онлайн-курсы, сертификации, работодательские программы. 45% компаний в 2024 планировали убрать требование о наличии степени для части позиций.
Мои мысли: фундаментальные знания из CS программ всё ещё важны. Высшая математика, алгоритмы, архитектура, теория баз данных, низкоуровневые языки — это фундамент, на котором выкладываются кирпичики дальнейших знаний и опыта. И ChatGPT нужно использовать не для решения домашек, а как очень крутого ментора и учителя, с которым можно на повышенной скорости поглощать новые темы.
Общий вывод 💡
Индустрия на перепутье. AI не убьет разработку, но сильно её изменит. Ключ к выживанию:
→ Непрерывное обучение
→ T-shaped навыки
→ Фокус на то, что AI не может: критическое мышление, архитектура, коммуникация
→ Умение работать С AI, а не ВМЕСТО него
Лучший способ предсказать будущее — активно его создавать.
Оригинал: https://addyosmani.com/blog/next-two-years/
🔗 Инженерия и AI | Ilyas Salikhov
👍10🔥2❤1🙏1
Современная разработка с помощью AI
Последние поколения Claude Code (Opus 4.5) и ChatGPT Codex (5.2-codex) преодолели некий критический порог. Если раньше ты следил и держал под контролем LLM, то сейчас даешь задачу, и агент ее реализует на 80-90% при внятных вводных.
Последние 2 месяца я уже плотно сижу с агентами в паре и точно могу сказать, что 80-90% моего кода пишет агент, а со своей стороны делаю 10-20% шлифовочных правок. И то только потому, что я не дал вводные в этих местах, и агент сделал не совсем правильные допущения.
Про это пишет и Andrej Karpathy, ко-фаундер OpenAI, Director of AI в Tesla, в своем последнем развернутом твите.
Сначала я работал с Claude Opus 4.5 и он правда крут. Но в последнее время слышал всё больше хороших отзывов о Codex (например тут). Последнюю неделю работаю только с ним, и вот какие выводы могу сделать про Codex.
1. Сначала анализирует, потом делает
В отличие от клода, Codex довольно долго делает предварительный анализ существующей кодовой базы. Зато потом почти всегда в one-shot выдает правильную реализацию. Нередко, за счет этого Codex самостоятельно учитывает важные нюансы, которые Claude пропускает.
2. Скорость
Codex в среднем завершает работу в 2-3 раза позже, чем Claude. Но если результат тот, что тебе нужен, то это не проблема.
3. Эмоциональность
Это сложно описать, но от Claude Code получаешь больше эмоций. Это выражается и визуальном оформлении работы агента и в ответах. Codex в этом плане более нейтральный.
4. Стоимость
Работа Claude Code на Sonnet 4.5 меня не устраивала, а на Opus у меня за 2 недели улетело 500 баксов (потрачено 600 млрд токенов)! Эта штука ОЧЕНЬ прожорлива на токены и деньги.
Codex входит в Plus подписку за 20$ в месяц. Правда, лимиты 5 часов работы в день, в которые я уперся и перешел на Pro-тариф за 200$. Но все равно это несоизмеримо с расходами на Claude.
5. Контекстное окно
Claude Code при окончании окна контекста вызывает отдельным вызовом саммаризацию прошлой переписки и продолжает работу с чистого листа, имя только саммари на входе. Не раз замечал, что после этого Claude начинает терять важные детали, которые выпадают из summary.
Codex использует новых механизм compaction, которые эффективно сжимает прошлую переписку, но не заменяет ее. Непонятно до конца, как это работает, но заметил, что перестал очищать переписки перед следующей задачей. Codex продолжает помнить о всех деталях. Это очень круто.
6. Результат
Это самое главное. У Codex очень крутой код. К нему правда почти никогда не придраться. Всё четко и по делу. Такой хладнокровный, четко следующий инструкциям и экспертный реализатор задуманного.
——
Что могу сказать по итогу. Разработка уже никогда не будет прежней. Попробуйте и Claude Code, и Codex, возможно, ваши выводы будут другими. Главная моя мысль — нужно использовать. Иначе вы безнадежно отстанете. Пора.
🔗 Инженерия и AI | Ilyas Salikhov
Последние поколения Claude Code (Opus 4.5) и ChatGPT Codex (5.2-codex) преодолели некий критический порог. Если раньше ты следил и держал под контролем LLM, то сейчас даешь задачу, и агент ее реализует на 80-90% при внятных вводных.
Последние 2 месяца я уже плотно сижу с агентами в паре и точно могу сказать, что 80-90% моего кода пишет агент, а со своей стороны делаю 10-20% шлифовочных правок. И то только потому, что я не дал вводные в этих местах, и агент сделал не совсем правильные допущения.
Про это пишет и Andrej Karpathy, ко-фаундер OpenAI, Director of AI в Tesla, в своем последнем развернутом твите.
Сначала я работал с Claude Opus 4.5 и он правда крут. Но в последнее время слышал всё больше хороших отзывов о Codex (например тут). Последнюю неделю работаю только с ним, и вот какие выводы могу сделать про Codex.
1. Сначала анализирует, потом делает
В отличие от клода, Codex довольно долго делает предварительный анализ существующей кодовой базы. Зато потом почти всегда в one-shot выдает правильную реализацию. Нередко, за счет этого Codex самостоятельно учитывает важные нюансы, которые Claude пропускает.
2. Скорость
Codex в среднем завершает работу в 2-3 раза позже, чем Claude. Но если результат тот, что тебе нужен, то это не проблема.
3. Эмоциональность
Это сложно описать, но от Claude Code получаешь больше эмоций. Это выражается и визуальном оформлении работы агента и в ответах. Codex в этом плане более нейтральный.
4. Стоимость
Работа Claude Code на Sonnet 4.5 меня не устраивала, а на Opus у меня за 2 недели улетело 500 баксов (потрачено 600 млрд токенов)! Эта штука ОЧЕНЬ прожорлива на токены и деньги.
Codex входит в Plus подписку за 20$ в месяц. Правда, лимиты 5 часов работы в день, в которые я уперся и перешел на Pro-тариф за 200$. Но все равно это несоизмеримо с расходами на Claude.
5. Контекстное окно
Claude Code при окончании окна контекста вызывает отдельным вызовом саммаризацию прошлой переписки и продолжает работу с чистого листа, имя только саммари на входе. Не раз замечал, что после этого Claude начинает терять важные детали, которые выпадают из summary.
Codex использует новых механизм compaction, которые эффективно сжимает прошлую переписку, но не заменяет ее. Непонятно до конца, как это работает, но заметил, что перестал очищать переписки перед следующей задачей. Codex продолжает помнить о всех деталях. Это очень круто.
6. Результат
Это самое главное. У Codex очень крутой код. К нему правда почти никогда не придраться. Всё четко и по делу. Такой хладнокровный, четко следующий инструкциям и экспертный реализатор задуманного.
——
Что могу сказать по итогу. Разработка уже никогда не будет прежней. Попробуйте и Claude Code, и Codex, возможно, ваши выводы будут другими. Главная моя мысль — нужно использовать. Иначе вы безнадежно отстанете. Пора.
🔗 Инженерия и AI | Ilyas Salikhov
X (formerly Twitter)
Andrej Karpathy (@karpathy) on X
A few random notes from claude coding quite a bit last few weeks.
Coding workflow. Given the latest lift in LLM coding capability, like many others I rapidly went from about 80% manual+autocomplete coding and 20% agents in November to 80% agent coding and…
Coding workflow. Given the latest lift in LLM coding capability, like many others I rapidly went from about 80% manual+autocomplete coding and 20% agents in November to 80% agent coding and…
6👍15💯6✍3❤1
Статанализ — must-have для проектов с AI-агентами
Сегодня у Кирилла Мокевнина вышел пост про то, как он разлюбил динамическую типизацию. Мысль понятная: на больших кодовых базах отсутствие типов начинает дорого стоить.
Хочу дополнить аргументом, который в 2026 году уже стал прям must-have: статанализ и типы — это лучший self-check для AI-агента.
Современные агенты (Claude Code на Opus 4.5 и ChatGPT Codex 5.2 High) очень хорошо пишут код. Ошибок уровня «переменная не объявлена», «импорт забыл», «опечатка в имени метода» по сути уже почти нет.
Основные промахи чаще про другое:
• недостаточный контекст
• неверные предположения про интерфейсы/контракты
• расхождения в понимании с тем, как устроен проект
И вот тут типы + статанализ дают хорошую первую обратную связь.
1. Быстрый фидбэк = быстрые итерации агента
Если у вас в правилах агента прописано «после любого изменения прогоняй линтер и статанализ», агент тут же видит, что нарушил контракт, и чинит это сразу, не таща ошибку дальше по треду.
В Go вообще идеально: проект просто не соберётся, и это мгновенный сигнал, что «что-то не так».
2. Типы — это огромный слой метаинформации для агента
Даже в Python, где аннотации типов не влияют на рантайм, они всё равно работают как контракт и карта проекта:
• что за объект мы передаём
• какие поля/методы у него есть
• что возвращает функция
• как объекты, методы и классы взаимодействуют между собой
Для агента это важно: по типам он быстрее «распаковывает» связи между слоями и точнее встраивает изменения в существующую архитектуру.
3. Это быстро и «дёшево»
Статанализ не отменяет написание тестов: тесты всё равно нужны, потому что они проверяют бизнес-логику, сценарии, граничные случаи, интеграции и поведение системы целиком, в общем то, что статикой не покрыть.
Но статанализ прогоняется быстро, стоит «дёшево» с точки зрения ресурсов и отлично подходит для постоянного применения, буквально после каждого небольшого изменения в рамках одной большой итерации. Агент может регулярно получать быстрый сигнал «всё ли окей по контрактам», а под конец уже прогонять тесты и закрывать задачу более уверенно.
Что я рекомендую, если вы разрабатываете в связке с AI-агентами
Если проект на динамическом языке, сразу настраивайте:
• линтер / форматтер
• статанализ / проверку типов
И самое важное, описывайте workflow одной итерации в файлах для агентов (
• внёс изменения
• прогнал линтер
• прогнал статанализ
• починил всё до «зелёного»
• а в конце работы уже прогнал профильные тесты
Также обязательно указывайте агенту писать на максимально поддерживаемой вашим проектом версии языка и максимально типизировано. Работы агенту от этого не прибавляется, зато современный синтаксис, свежие возможности языка и явные типы резко снижают вероятность кейсов «не так понял контракт» и повышают качество результата.
У нас в RetailCRM это базовая гигиена:
• PHP:
• Python:
• Go: строго типизированный «из коробки»
Если AI-агент умеет проверять себя, качество конечного результата ожидаемо выше. И это сейчас, кажется, одна из самых «дешёвых», но полезных инвестиций в инфраструктуру разработки.
🔗 Инженерия и AI | Ilyas Salikhov
Сегодня у Кирилла Мокевнина вышел пост про то, как он разлюбил динамическую типизацию. Мысль понятная: на больших кодовых базах отсутствие типов начинает дорого стоить.
Хочу дополнить аргументом, который в 2026 году уже стал прям must-have: статанализ и типы — это лучший self-check для AI-агента.
Современные агенты (Claude Code на Opus 4.5 и ChatGPT Codex 5.2 High) очень хорошо пишут код. Ошибок уровня «переменная не объявлена», «импорт забыл», «опечатка в имени метода» по сути уже почти нет.
Основные промахи чаще про другое:
• недостаточный контекст
• неверные предположения про интерфейсы/контракты
• расхождения в понимании с тем, как устроен проект
И вот тут типы + статанализ дают хорошую первую обратную связь.
1. Быстрый фидбэк = быстрые итерации агента
Если у вас в правилах агента прописано «после любого изменения прогоняй линтер и статанализ», агент тут же видит, что нарушил контракт, и чинит это сразу, не таща ошибку дальше по треду.
В Go вообще идеально: проект просто не соберётся, и это мгновенный сигнал, что «что-то не так».
2. Типы — это огромный слой метаинформации для агента
Даже в Python, где аннотации типов не влияют на рантайм, они всё равно работают как контракт и карта проекта:
• что за объект мы передаём
• какие поля/методы у него есть
• что возвращает функция
• как объекты, методы и классы взаимодействуют между собой
Для агента это важно: по типам он быстрее «распаковывает» связи между слоями и точнее встраивает изменения в существующую архитектуру.
3. Это быстро и «дёшево»
Статанализ не отменяет написание тестов: тесты всё равно нужны, потому что они проверяют бизнес-логику, сценарии, граничные случаи, интеграции и поведение системы целиком, в общем то, что статикой не покрыть.
Но статанализ прогоняется быстро, стоит «дёшево» с точки зрения ресурсов и отлично подходит для постоянного применения, буквально после каждого небольшого изменения в рамках одной большой итерации. Агент может регулярно получать быстрый сигнал «всё ли окей по контрактам», а под конец уже прогонять тесты и закрывать задачу более уверенно.
Что я рекомендую, если вы разрабатываете в связке с AI-агентами
Если проект на динамическом языке, сразу настраивайте:
• линтер / форматтер
• статанализ / проверку типов
И самое важное, описывайте workflow одной итерации в файлах для агентов (
AGENTS.md, CLAUDE.md) в виде:• внёс изменения
• прогнал линтер
• прогнал статанализ
• починил всё до «зелёного»
• а в конце работы уже прогнал профильные тесты
Также обязательно указывайте агенту писать на максимально поддерживаемой вашим проектом версии языка и максимально типизировано. Работы агенту от этого не прибавляется, зато современный синтаксис, свежие возможности языка и явные типы резко снижают вероятность кейсов «не так понял контракт» и повышают качество результата.
У нас в RetailCRM это базовая гигиена:
• PHP:
PHP-CS-Fixer + PHPStan (стараемся на максимальных level'ах)• Python:
ruff + ty• Go: строго типизированный «из коробки»
Если AI-агент умеет проверять себя, качество конечного результата ожидаемо выше. И это сейчас, кажется, одна из самых «дешёвых», но полезных инвестиций в инфраструктуру разработки.
🔗 Инженерия и AI | Ilyas Salikhov
Telegram
Организованное программирование | Кирилл Мокевнин
Как я разлюбил динамическую типизацию. В профессиональную разработку я вкатился через PHP 4 версии, который не просто был динамическим языком программирования, он даже языком то мог назвать себя с натяжкой, формально да, но это был такой продвинутый шаблонизатор.…
👍18💯6❤3✍1
Вчера в один день релизнулись Claude Opus 4.6 и GPT-5.3-Codex. Оба прокачали свои условно слабые стороны.
Claude Opus 4.6
• 1M контекст — первый Opus-класс с таким окном. Но пока в бете и тарифицируется дорого сверх стандартного окна. Поэтому пока скорее возможность потестить и включать на сложных задачах
• 128k output tokens — больший объем результата за один ответ. Не помню, чтобы я в это упирался
• Agent teams в Claude Code: несколько агентов параллельно, лучше всего для read-heavy задач (обзоры кодовой базы и т.п.)
GPT-5.3-Codex
• Объединили «frontier coding» от 5.2-Codex и reasoning/knowledge от 5.2 в одну модель
• Потребляет меньше токенов для того же результата, на 25% быстрее. Вчера посреди своей задачи попробовал переключиться, и скорость правда заметна. Пишут, что буст в том числе дала работа на GB200-NVL72 с чипами Blackwell
• Сильные результаты в SWE-Bench Pro и Terminal-Bench. Opus 4.6 в Terminal Bench побыл в лидерстве буквально несколько часов
• Усилили аспект security в работе модели
• При разработке и тренировке модели использовали GPT-5.2-Codex
• При этом тарификация та же
Прогресс сильный, а времени с прошлых релизов прошло всего ничего. Делитесь своими впечатлениями в комментариях.
🔗 Инженерия и AI | Ilyas Salikhov
Claude Opus 4.6
• 1M контекст — первый Opus-класс с таким окном. Но пока в бете и тарифицируется дорого сверх стандартного окна. Поэтому пока скорее возможность потестить и включать на сложных задачах
• 128k output tokens — больший объем результата за один ответ. Не помню, чтобы я в это упирался
• Agent teams в Claude Code: несколько агентов параллельно, лучше всего для read-heavy задач (обзоры кодовой базы и т.п.)
GPT-5.3-Codex
• Объединили «frontier coding» от 5.2-Codex и reasoning/knowledge от 5.2 в одну модель
• Потребляет меньше токенов для того же результата, на 25% быстрее. Вчера посреди своей задачи попробовал переключиться, и скорость правда заметна. Пишут, что буст в том числе дала работа на GB200-NVL72 с чипами Blackwell
• Сильные результаты в SWE-Bench Pro и Terminal-Bench. Opus 4.6 в Terminal Bench побыл в лидерстве буквально несколько часов
• Усилили аспект security в работе модели
• При разработке и тренировке модели использовали GPT-5.2-Codex
• При этом тарификация та же
Прогресс сильный, а времени с прошлых релизов прошло всего ничего. Делитесь своими впечатлениями в комментариях.
🔗 Инженерия и AI | Ilyas Salikhov
👍7🔥6⚡3
Очень прикладные и очень жизненные советы по работе с агентами, подписываюсь 🖊️
👍3🔥3
Forwarded from ElKornacio
решил пошерить пачку небольших лайфхаков в работе с агентами, в основном про скрипты. думаю, опытным чувакам 90% из этого покажется прописными истинами, но, возможно, кто-то почерпнёт что-то полезное для себя.
сохраняйте, шерьте, кайфуйте🙂
1. не юзайте TUI в VSCode/Cursor для Claude Code / Codex / etc. мерцания интерфейса и проблемы со вставкой текста (в том числе из голосового ввода) - это не баги самих приложений, а баги tty-среды в VSCode. юзайте нативный терминал.
2. если вы хотите, чтобы агент выполнял одну и ту же цепочку действий - вместо описания цепочки в глобальных правилах лучше просто упакуйте её в bash-скрипт. чем писать "ты всегда должен сделать тайп-чек, билд, прогнать тесты, и потом деплойнуть скрипт", просто попросите агента создать
3. если вы хотите, чтобы агент после какой-то операции анализировал её результат - прокиньте логи/данные сразу в stdout этой операции. это рифмуется и дополняет предыдущий пункт, если вы юзаете конструкции типа "выполни этот скрипт, после чего прочитай логи в ./abc.log", то поставьте
4. правило "агент должен иметь возможность самостоятельно проверить результаты своей работы" известно, наверное, уже всем, но как же часто я вижу нарушения этого принципа с отмазками "ну, у нас такая среда, что не автоматизируешь". классические примеры:
- tauri/electron-приложение: "мы не можем запустить фронт в playwright/встроенном-браузере, надо руками"
- react-native / flutter: "ну, оно в эмуляторе / на телефоне гоняется, надо руками"
- любительский embedded, etc
давайте честно: вам просто влом. за 20 минут работы агента (https://t.me/elkornacio/505) собирается элементарный runtime-eval-debug сервер, который для веб-приложений позволяет агенту кидать команды напрямую в любую среду (и можно ещё и ключевые части приложения прям в window прокинуть, для удобства). логи из фронта в tauri / electron / react-native / flutter тоже прокидываются минут за 5 (можно связкой "фронт шлёт логи на бек, бек пишет в файл"), без особых проблем. embedded прекрасно умеет слать данные датчиков и дебаг-инфу в serial, а оттуда агент умеет читать.
в общем, не убеждайте себя, чтобы ваша среда уникальная: если действие происходит на вашем компе, и не связано с физическим миром, то автоматизировать можно всё.
5. "ой, я же сказал агенту, что после билда надо перезагрузить страницу, а он забыл, и тестировал старую версию, вот дурашка" - дурашка не он. если надо рестартить что-то после билда - (снова пункт 2) - добавьте это прям в скрипт билда. убирайте все места, где агент может выстрелить себе в ногу: если что-то не может работать без какого-нибудь сервера - вновь же, добавьте проверку на "запущенность сервера" прямо в скрипт. это 1 строчка, и сэкономленные часы.
6. пишите советы агенту прямо в stdout ваших скриптов. скрипт обнаружил, что отсутствует важный файл, необходимый для работы? выведите в stdout не только ошибку, но и информацию о том, что нужно сделать, чтобы этот файл появился. исключайте ситуации, когда агент не понимает, что делать дальше, и должен рисерчить кодовую базу в поисках ответа.
—
кидайте ваши лайфаки в комментах, буду рад что-то для себя почерпнуть🙂
сохраняйте, шерьте, кайфуйте
1. не юзайте TUI в VSCode/Cursor для Claude Code / Codex / etc. мерцания интерфейса и проблемы со вставкой текста (в том числе из голосового ввода) - это не баги самих приложений, а баги tty-среды в VSCode. юзайте нативный терминал.
2. если вы хотите, чтобы агент выполнял одну и ту же цепочку действий - вместо описания цепочки в глобальных правилах лучше просто упакуйте её в bash-скрипт. чем писать "ты всегда должен сделать тайп-чек, билд, прогнать тесты, и потом деплойнуть скрипт", просто попросите агента создать
./check-build-test-deploy.sh, и пропишите этот скрипт в правилах. да, современные агенты неплохо следуют инструкциям, но рандома оч много. иногда агент воспринимает "прогони тесты" как pnpm run test, а иногда он по хардкору начинает писать конструкции типа npx ./node_modules/.bin/jest ... --runInBand ..., и спотыкается. скрипты - гарантия повторяемости (это супер-очевидная штука для вещей, которые приходится делать руками самому, но при этом я часто вижу, что люди не заботятся о том, чтобы обеспечить удобство работы агентам).3. если вы хотите, чтобы агент после какой-то операции анализировал её результат - прокиньте логи/данные сразу в stdout этой операции. это рифмуется и дополняет предыдущий пункт, если вы юзаете конструкции типа "выполни этот скрипт, после чего прочитай логи в ./abc.log", то поставьте
tail -n 50 ... прям в конец скрипта. когда я дебажил ESP-плату, у меня билд-деплой кода были на одном скрипте, а чтение serial monitor - на другом. объединение этого в один скрипт аля "залей новый код, сними логи в течение 15 секунд и верни в stdout" улучшило мою жизнь кратно.4. правило "агент должен иметь возможность самостоятельно проверить результаты своей работы" известно, наверное, уже всем, но как же часто я вижу нарушения этого принципа с отмазками "ну, у нас такая среда, что не автоматизируешь". классические примеры:
- tauri/electron-приложение: "мы не можем запустить фронт в playwright/встроенном-браузере, надо руками"
- react-native / flutter: "ну, оно в эмуляторе / на телефоне гоняется, надо руками"
- любительский embedded, etc
давайте честно: вам просто влом. за 20 минут работы агента (https://t.me/elkornacio/505) собирается элементарный runtime-eval-debug сервер, который для веб-приложений позволяет агенту кидать команды напрямую в любую среду (и можно ещё и ключевые части приложения прям в window прокинуть, для удобства). логи из фронта в tauri / electron / react-native / flutter тоже прокидываются минут за 5 (можно связкой "фронт шлёт логи на бек, бек пишет в файл"), без особых проблем. embedded прекрасно умеет слать данные датчиков и дебаг-инфу в serial, а оттуда агент умеет читать.
в общем, не убеждайте себя, чтобы ваша среда уникальная: если действие происходит на вашем компе, и не связано с физическим миром, то автоматизировать можно всё.
5. "ой, я же сказал агенту, что после билда надо перезагрузить страницу, а он забыл, и тестировал старую версию, вот дурашка" - дурашка не он. если надо рестартить что-то после билда - (снова пункт 2) - добавьте это прям в скрипт билда. убирайте все места, где агент может выстрелить себе в ногу: если что-то не может работать без какого-нибудь сервера - вновь же, добавьте проверку на "запущенность сервера" прямо в скрипт. это 1 строчка, и сэкономленные часы.
6. пишите советы агенту прямо в stdout ваших скриптов. скрипт обнаружил, что отсутствует важный файл, необходимый для работы? выведите в stdout не только ошибку, но и информацию о том, что нужно сделать, чтобы этот файл появился. исключайте ситуации, когда агент не понимает, что делать дальше, и должен рисерчить кодовую базу в поисках ответа.
—
кидайте ваши лайфаки в комментах, буду рад что-то для себя почерпнуть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6💯4✍3
Harness Engineering — как OpenAI пишут весь код агентами
OpenAI выкатили большую статью о том, как их команда из 3 (потом 7) инженеров за 5 месяцев написала продукт на ~1 млн строк кода. Они ставили себе задачу выстроить работу, когда разработчики ничего не пишут руками. Весь код только через Codex-агентов. По их оценке, это в ~10 раз быстрее, чем писать вручную.
Ключевые мысли:
⚙️ Вы больше не пишете код, вы строите среду
Инженер ставит задачу, агент открывает PR. Когда что-то не получается, вопрос не «как написать лучше», а «какой capability не хватает агенту и как сделать это понятным для него». По сути, работа смещается в проектирование окружения, формулирование intent'а и построение feedback loop'ов.
Вся работа инженеров помимо выстраивания архитектуры сосредоточена на формирования туллинга для эффективной работы агента над полным выполнением задачи.
При этом первым шагом что-то можно фиксировать в AGENTS, но постепенно стоит всё, что можно уносить в автоматизированные проверки, которые агент может запустить и получить feedback.
📜 Репозиторий как единственный источник правды
Всё, что живёт в Slack, Google Docs или головах для агента не существует. Знания нужно перетаскивать в репо: доки, решения, архитектурные схемы, гайдлайны.
При этом они поняли, что один гигантский AGENTS.md не работает — контекст вытесняет саму задачу. Лучше короткая «карта» на ~100 строк + структурированная docs/ директория с небольшими файлами (в статье приведен пример структуры)
🔍 Observability как суперсила агента
По мере ускорения разработки узким местом стал QA. OpenAI дали агенту доступ к логам, метрикам и трейсам через локальный observability-стек, который поднимается под конкретный worktree. Агент ходит в логи через LogQL, в метрики через PromQL. Также они подключили Chrome DevTools, чтобы агент сам мог воспроизводить и чинить UI-баги.
🧹 Entropy и garbage collection
Качество неизбежно «плывёт»: агент копирует из кодовой базы паттерны, включая плохие. Ручная чистка не масштабируется. Они нашли решение в том, чтобы делать garbage collection техдолга руками тех же агентов: поиск техдолга, фиксы мелочей, рефакторинги, апдейты доков. В их репозитории это специализированные агенты, которые регулярно шерстят репозиторий и фиксят подобные вещи.
В RetailCRM мы активно внедряем harness-режим работы и по себе вижу, что в проектах, где делаешь первые изменения в этом подходе, большая часть времени уходит на обогащение проекта описанным выше туллингом: дополнение AGENS.md и его структурирование, а также настройку среды для работы агента
🔗 Инженерия и AI | Ilyas Salikhov
OpenAI выкатили большую статью о том, как их команда из 3 (потом 7) инженеров за 5 месяцев написала продукт на ~1 млн строк кода. Они ставили себе задачу выстроить работу, когда разработчики ничего не пишут руками. Весь код только через Codex-агентов. По их оценке, это в ~10 раз быстрее, чем писать вручную.
Ключевые мысли:
⚙️ Вы больше не пишете код, вы строите среду
Инженер ставит задачу, агент открывает PR. Когда что-то не получается, вопрос не «как написать лучше», а «какой capability не хватает агенту и как сделать это понятным для него». По сути, работа смещается в проектирование окружения, формулирование intent'а и построение feedback loop'ов.
Вся работа инженеров помимо выстраивания архитектуры сосредоточена на формирования туллинга для эффективной работы агента над полным выполнением задачи.
При этом первым шагом что-то можно фиксировать в AGENTS, но постепенно стоит всё, что можно уносить в автоматизированные проверки, которые агент может запустить и получить feedback.
📜 Репозиторий как единственный источник правды
Всё, что живёт в Slack, Google Docs или головах для агента не существует. Знания нужно перетаскивать в репо: доки, решения, архитектурные схемы, гайдлайны.
При этом они поняли, что один гигантский AGENTS.md не работает — контекст вытесняет саму задачу. Лучше короткая «карта» на ~100 строк + структурированная docs/ директория с небольшими файлами (в статье приведен пример структуры)
🔍 Observability как суперсила агента
По мере ускорения разработки узким местом стал QA. OpenAI дали агенту доступ к логам, метрикам и трейсам через локальный observability-стек, который поднимается под конкретный worktree. Агент ходит в логи через LogQL, в метрики через PromQL. Также они подключили Chrome DevTools, чтобы агент сам мог воспроизводить и чинить UI-баги.
🧹 Entropy и garbage collection
Качество неизбежно «плывёт»: агент копирует из кодовой базы паттерны, включая плохие. Ручная чистка не масштабируется. Они нашли решение в том, чтобы делать garbage collection техдолга руками тех же агентов: поиск техдолга, фиксы мелочей, рефакторинги, апдейты доков. В их репозитории это специализированные агенты, которые регулярно шерстят репозиторий и фиксят подобные вещи.
В RetailCRM мы активно внедряем harness-режим работы и по себе вижу, что в проектах, где делаешь первые изменения в этом подходе, большая часть времени уходит на обогащение проекта описанным выше туллингом: дополнение AGENS.md и его структурирование, а также настройку среды для работы агента
🔗 Инженерия и AI | Ilyas Salikhov
OpenAI
Harness engineering: leveraging Codex in an agent-first world
By Ryan Lopopolo, Member of the Technical Staff
👍8🔥7❤2💯2👀2🤔1
✈️ Один в 9 лет в другую страну
У Тимура (сын, 9 лет) есть друг Никита, друг с детского сада. После сада Никита вместе с родителями переехал в Абу-Даби.
Дети скучают. Когда получается, видятся. Вот и сейчас, Тимур уже несколько раз говорил: «Хочу увидеться с Никитой», а у нас не было возможности полететь.
Я подумал, а почему бы Тимуру не полететь одному. Спрашиваю у него, не хочет ли он в таком формате, и он соглашается: «Да, я хочу!».
Вчерашний день. Я приезжаю в аэропорт встречать нашего парнишку из Абу-Даби. В Москве атака беспилотников, аэропорты работают с перебоями. Вижу на табло «Рейс приземлился в Самаре».
Несколько часов нервных переживаний, дозаправка в Самаре. Рейс возвращается в Москву. Уже под утро, в 4:30, я доставляю путешественника домой.
Было ли волнительно? Очень.
Переживали ли мы за сына? Да, безусловно.
Отправили бы снова его так? Думаю, да.
И, казалось бы, придумали себе на голову авантюру, но несколько причин, почему мы так делаем.
Самостоятельность
Без напоминаний делать домашку, 2 раза в день чистить зубы, провести матч, как учили на тренировках, затащить сложный проект, заранее выявить риски и предупредить о них.
Самостоятельность — одно из базовых и важных качеств в любом деле. Нужно прививать его с самого детства.
Одно дело – делать домашку с чьей-то помощью. Другое дело – выяснять у учителя непонятные моменты, но в итоге делать самостоятельно. Одно дело – лететь в другую страну с родителями. Совсем другое – одному.
Внутренняя готовность
Тимур во втором классе как-то сказал: «хочу сам один дойти до школы». До школы идти минут двадцать. Мы договорились, что он позвонит, как дойдет, еще раз проговорили маршрут и отпустили в путь. С тех пор он регулярно ходит сам.
Важно, что он был готов к этой самостоятельности. И в случае полета в Абу-Даби, хоть он в явном виде не озвучивал, я чувствовал, что он готов к такому путешествию в одиночку.
Правда, нередко родители сталкиваются с собственной неготовностью давать ребенку больше самостоятельности. Родительская опека становится обузой.
Важно и обратное — не пытаться взвалить на ребенка или любого другого человека больше, чем он может вытянуть. Трезво оценивать силы. Это применимо и по отношению к себе.
Ответственность
Рука об руку с самостоятельностью идет ответственность. Прокачивая одно, прокачиваешь и другое. Ответственность за свои поступки. За свои действия и решения. За себя. И наконец, ответственность за других.
Жизненный опыт
Чем раньше вы даете ребенку возможность быть самостоятельным, тем раньше он начинает получать свой личный жизненный опыт. Свой опыт, свои решения, свои ошибки.
Необходимость проходить все предполетные процедуры без родителей – часть этого опыта. Необходимость общаться хоть как-то на английском — часть этого опыта. Обратный рейс из Абу-Даби, который пошел не по плану, — тоже часть этого опыта.
Лоуренс Питер говорил: «Что может быть мучительнее, чем учиться на собственном опыте? Только одно: не учиться на собственном опыте.»
Сепарация и обретение себя
Видно, как сын растет, меняется. Как формируется его понимание себя, понимание своих обязательств, желаний и возможностей. Как формируется и крепнет его личность. Он становится более устойчивым и менее зависимым от нас. Он проживает свою наполненную, порой непростую, но чертовски интересную жизнь.
Почему я пишу об этом здесь? С годами понимаю, что все больше ценю в коллегах не знание конкретных языков программирования, фреймворков и жонглирование паттернами проектирования, а базовые человеческие качества: самостоятельность, ответственность, внимательность, умение не сдаваться перед трудностями. Поэтому стараюсь привить эти качества своим детям.
🔗 Инженерия и AI | Ilyas Salikhov
У Тимура (сын, 9 лет) есть друг Никита, друг с детского сада. После сада Никита вместе с родителями переехал в Абу-Даби.
Дети скучают. Когда получается, видятся. Вот и сейчас, Тимур уже несколько раз говорил: «Хочу увидеться с Никитой», а у нас не было возможности полететь.
Я подумал, а почему бы Тимуру не полететь одному. Спрашиваю у него, не хочет ли он в таком формате, и он соглашается: «Да, я хочу!».
Вчерашний день. Я приезжаю в аэропорт встречать нашего парнишку из Абу-Даби. В Москве атака беспилотников, аэропорты работают с перебоями. Вижу на табло «Рейс приземлился в Самаре».
Несколько часов нервных переживаний, дозаправка в Самаре. Рейс возвращается в Москву. Уже под утро, в 4:30, я доставляю путешественника домой.
Было ли волнительно? Очень.
Переживали ли мы за сына? Да, безусловно.
Отправили бы снова его так? Думаю, да.
И, казалось бы, придумали себе на голову авантюру, но несколько причин, почему мы так делаем.
Самостоятельность
Без напоминаний делать домашку, 2 раза в день чистить зубы, провести матч, как учили на тренировках, затащить сложный проект, заранее выявить риски и предупредить о них.
Самостоятельность — одно из базовых и важных качеств в любом деле. Нужно прививать его с самого детства.
Одно дело – делать домашку с чьей-то помощью. Другое дело – выяснять у учителя непонятные моменты, но в итоге делать самостоятельно. Одно дело – лететь в другую страну с родителями. Совсем другое – одному.
Внутренняя готовность
Тимур во втором классе как-то сказал: «хочу сам один дойти до школы». До школы идти минут двадцать. Мы договорились, что он позвонит, как дойдет, еще раз проговорили маршрут и отпустили в путь. С тех пор он регулярно ходит сам.
Важно, что он был готов к этой самостоятельности. И в случае полета в Абу-Даби, хоть он в явном виде не озвучивал, я чувствовал, что он готов к такому путешествию в одиночку.
Правда, нередко родители сталкиваются с собственной неготовностью давать ребенку больше самостоятельности. Родительская опека становится обузой.
Важно и обратное — не пытаться взвалить на ребенка или любого другого человека больше, чем он может вытянуть. Трезво оценивать силы. Это применимо и по отношению к себе.
Ответственность
Рука об руку с самостоятельностью идет ответственность. Прокачивая одно, прокачиваешь и другое. Ответственность за свои поступки. За свои действия и решения. За себя. И наконец, ответственность за других.
Жизненный опыт
Чем раньше вы даете ребенку возможность быть самостоятельным, тем раньше он начинает получать свой личный жизненный опыт. Свой опыт, свои решения, свои ошибки.
Необходимость проходить все предполетные процедуры без родителей – часть этого опыта. Необходимость общаться хоть как-то на английском — часть этого опыта. Обратный рейс из Абу-Даби, который пошел не по плану, — тоже часть этого опыта.
Лоуренс Питер говорил: «Что может быть мучительнее, чем учиться на собственном опыте? Только одно: не учиться на собственном опыте.»
Сепарация и обретение себя
Видно, как сын растет, меняется. Как формируется его понимание себя, понимание своих обязательств, желаний и возможностей. Как формируется и крепнет его личность. Он становится более устойчивым и менее зависимым от нас. Он проживает свою наполненную, порой непростую, но чертовски интересную жизнь.
Почему я пишу об этом здесь? С годами понимаю, что все больше ценю в коллегах не знание конкретных языков программирования, фреймворков и жонглирование паттернами проектирования, а базовые человеческие качества: самостоятельность, ответственность, внимательность, умение не сдаваться перед трудностями. Поэтому стараюсь привить эти качества своим детям.
🔗 Инженерия и AI | Ilyas Salikhov
🔥23👍12❤6💯3
Где проходит граница внедрения AI в разработку. Кейс Amazon 🔴
Business Insider пишет об экстренном собрании в Amazon после уже не первого инцидента 5 марта, связанного с AI. Amazon.com лежал порядка 6 часов и потерял 6 млн заказов. Перед этим, 2 марта, в чекауте отображалось неверное время доставки, потери 120 000 заказов. В декабре 2025-го был 13-часовой даунтайм AWS из-за ошибок кодинг-асистента Kiro AI.
По моему каналу, я думаю, видно, что я активно топлю за внедрение AI в процессы разработки, но кейс Amazon является важным маркером.
1. Проблема не только в качестве кода, но и в скорости
AI генерирует код в разы быстрее. Пайплайны ревью и деплоя проектировались под человеческую скорость. Когда объём и скорость изменений резко растут, процессы контроля не успевают.
Либо жертвуешь контролем (и как следствие качеством), не глядя отправляя в продакшен. Либо жертвуешь скоростью, становясь бутылочным горлышком.
Конечно, нужно заниматься harness engineering, выстраивать окружение, которое подсвечивает агентам ошибки, но это не дает полной защиты.
2. Не жертвовать чем-то одним, а разделять на уровни критичности
Какие действия предпринимает Amazon:
• Они не убрали AI-агентов, а разделили сервисы на уровни критичности
• Выделили 335 сервисов уровня Tier-1, у которых высокий «радиус поражения» при выходе из строя
• Для этих сервисов ввели регламент обязательного ревью и одобрения минимум 2х других разработчиков
И это грамотные шаги. Пайплайн критичных сервисов осознанно «замедляем» человеческим ревью. Некритичные сервисы едут со скоростью AI-агентов. Да, может падать и лежать, но может и быстро починиться. Главное, чтобы агенты быстро получали обратную связь, что упало и чинили.
Оптимально, я думаю, иметь три уровня критичности сервисов с соответствующим регламентом:
1. с полным ревью (агент-ревью + ревью всего кода людьми)
2. с быстрым ревью (агент-ревью + по диагонали код)
3. без ревью (только агент-ревью)
3. Сокращения + AI = иногда ложная экономия
Amazon сократил 16 000 человек. AI-инструменты создали иллюзию, что можно компенсировать headcount автоматизацией. Но senior-ы на ревью — это не «накладные расходы», это safety net. Убираешь сетку — и акробат рано или поздно падает. Джеймс Гослинг (создатель Java, ранее distinguished engineer в AWS) прямо говорил, что компания демонтировала команды, которые не генерили выручку напрямую, но были критичны для стабильности.
Я не думаю, что сам процесс сокращений и оптимизации был ошибкой. Это часто оздоравливает и ускоряет команды. Но, похоже, щепок полетело больше, чем надо было.
—
Что по итогу. AI в разработке уже присутствует, и это неизбежно. Но сейчас индустрия проходит фазу адаптации. Появляется понимание, что скорость без контроля — это не только преимущество, но и риск. Это может быть вполне допустимый риск. Главное, это понимать.
🔗 Инженерия и AI | Ilyas Salikhov
Business Insider пишет об экстренном собрании в Amazon после уже не первого инцидента 5 марта, связанного с AI. Amazon.com лежал порядка 6 часов и потерял 6 млн заказов. Перед этим, 2 марта, в чекауте отображалось неверное время доставки, потери 120 000 заказов. В декабре 2025-го был 13-часовой даунтайм AWS из-за ошибок кодинг-асистента Kiro AI.
По моему каналу, я думаю, видно, что я активно топлю за внедрение AI в процессы разработки, но кейс Amazon является важным маркером.
1. Проблема не только в качестве кода, но и в скорости
AI генерирует код в разы быстрее. Пайплайны ревью и деплоя проектировались под человеческую скорость. Когда объём и скорость изменений резко растут, процессы контроля не успевают.
Либо жертвуешь контролем (и как следствие качеством), не глядя отправляя в продакшен. Либо жертвуешь скоростью, становясь бутылочным горлышком.
Конечно, нужно заниматься harness engineering, выстраивать окружение, которое подсвечивает агентам ошибки, но это не дает полной защиты.
2. Не жертвовать чем-то одним, а разделять на уровни критичности
Какие действия предпринимает Amazon:
• Они не убрали AI-агентов, а разделили сервисы на уровни критичности
• Выделили 335 сервисов уровня Tier-1, у которых высокий «радиус поражения» при выходе из строя
• Для этих сервисов ввели регламент обязательного ревью и одобрения минимум 2х других разработчиков
И это грамотные шаги. Пайплайн критичных сервисов осознанно «замедляем» человеческим ревью. Некритичные сервисы едут со скоростью AI-агентов. Да, может падать и лежать, но может и быстро починиться. Главное, чтобы агенты быстро получали обратную связь, что упало и чинили.
Оптимально, я думаю, иметь три уровня критичности сервисов с соответствующим регламентом:
1. с полным ревью (агент-ревью + ревью всего кода людьми)
2. с быстрым ревью (агент-ревью + по диагонали код)
3. без ревью (только агент-ревью)
3. Сокращения + AI = иногда ложная экономия
Amazon сократил 16 000 человек. AI-инструменты создали иллюзию, что можно компенсировать headcount автоматизацией. Но senior-ы на ревью — это не «накладные расходы», это safety net. Убираешь сетку — и акробат рано или поздно падает. Джеймс Гослинг (создатель Java, ранее distinguished engineer в AWS) прямо говорил, что компания демонтировала команды, которые не генерили выручку напрямую, но были критичны для стабильности.
Я не думаю, что сам процесс сокращений и оптимизации был ошибкой. Это часто оздоравливает и ускоряет команды. Но, похоже, щепок полетело больше, чем надо было.
—
Что по итогу. AI в разработке уже присутствует, и это неизбежно. Но сейчас индустрия проходит фазу адаптации. Появляется понимание, что скорость без контроля — это не только преимущество, но и риск. Это может быть вполне допустимый риск. Главное, это понимать.
🔗 Инженерия и AI | Ilyas Salikhov
Business Insider
Amazon orders 90-day reset after code mishaps cause millions of lost orders
Internal documents obtained by Business Insider show how Amazon is reacting to a series of recent outages related to software coding issues.
👍10⚡4💯3
Запусти OpenClaw в 2 клика 🚀
Про OpenClaw, думаю, все уже слышали и знают. Позволяет поднять своего личного агента, который может выполнять широкий круг задач и запоминает по ходу работы важные детали.
Крутой и полезный проект. Личный AI-помощник, которого даже моя жена захотела себе завести, хотя она далека от AI-ажиотажа и технологий. Но таким людям, как она, неподъемно разбираться в том, как его развернуть для себя. Заказать VPS, установить туда OpenClaw, настроить всё, чтобы работало. Не говоря про баги. Например, у меня сходу не заработали голосовушки при настроенном прокси и пришлось патчить (даже висит issue на эту тему).
Поэтому мы запустили https://ohmyclaw.ru — сервис, где можно в 2 клика поднять такого агента. И не только одного личного, а сколько требуется под ваши личные и рабочие задачи.
Прописываете настройки LLM, подцепляете telegram-бота, и готово! Посмотрите демки на сайте)
Что у агента из коробки
1. Интеграция с Telegram, можно общаться в личке или добавить в группу. Позже добавим поддержку других мессенджеров, пишите пожелания)
2. Поддержка голосовых сообщений
3. Поддержка heartbeat и cron. Можно попросить "напомнить завтра утром купить хлеба" или, например, каждый понедельник собирать определенный отчет
4. Есть shell. На сервере сразу стоят python3 и node
5. Веб-поиск «из коробки»
Агентов можно поднимать не только для личных задач, но и отдельных агентов под рабочие задачи. Для этого предусмотрели 3 вещи:
🤩 Во-первых, при создании агента можно указать репозиторий с начальными файлами-инструкциями. По умолчанию используется https://github.com/oh-myclaw/agent-template. Вы можете форкнуть и создавать инструкции для специальных агентов. Спецагенты, ага 🙃. Например, если нужен не персональный агент, можно удалить BOOTSTRAP.md и USER.md, а в AGENTS.md и TOOLS.md заложить инструкции поведения агента и доступные «ручки».
🤩 Во-вторых, сразу сделали agent management API, а в кабинете можно создать API-ключи. Создавайте и управляйте агентами через API. Вы можете сделать отраслевого агента и тиражировать его для своих клиентов.
🤩 В-третьих, у агентов предусмотрели настройку ENV-переменных (как в кабинете, так и в API). Можно задать енвы, сказать агенту про них в TOOLS.md или прямо в переписке. Это полезно для интеграции агента с вашими системами: GitHub, Gitlab, Google Workspace, внутренние системы.
Проект только запустили, не судите строго. О багах и пожеланиях сообщайте)
🔗 Инженерия и AI | Ilyas Salikhov
Про OpenClaw, думаю, все уже слышали и знают. Позволяет поднять своего личного агента, который может выполнять широкий круг задач и запоминает по ходу работы важные детали.
Крутой и полезный проект. Личный AI-помощник, которого даже моя жена захотела себе завести, хотя она далека от AI-ажиотажа и технологий. Но таким людям, как она, неподъемно разбираться в том, как его развернуть для себя. Заказать VPS, установить туда OpenClaw, настроить всё, чтобы работало. Не говоря про баги. Например, у меня сходу не заработали голосовушки при настроенном прокси и пришлось патчить (даже висит issue на эту тему).
Поэтому мы запустили https://ohmyclaw.ru — сервис, где можно в 2 клика поднять такого агента. И не только одного личного, а сколько требуется под ваши личные и рабочие задачи.
Прописываете настройки LLM, подцепляете telegram-бота, и готово! Посмотрите демки на сайте)
Что у агента из коробки
1. Интеграция с Telegram, можно общаться в личке или добавить в группу. Позже добавим поддержку других мессенджеров, пишите пожелания)
2. Поддержка голосовых сообщений
3. Поддержка heartbeat и cron. Можно попросить "напомнить завтра утром купить хлеба" или, например, каждый понедельник собирать определенный отчет
4. Есть shell. На сервере сразу стоят python3 и node
5. Веб-поиск «из коробки»
Агентов можно поднимать не только для личных задач, но и отдельных агентов под рабочие задачи. Для этого предусмотрели 3 вещи:
Проект только запустили, не судите строго. О багах и пожеланиях сообщайте)
🔗 Инженерия и AI | Ilyas Salikhov
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤7👍3👾3
А помните эту сказку?
А как бы вы её продолжили?
🔗 Инженерия и AI | Ilyas Salikhov
Емеля любил лежать на печи. Ему было неохота разбираться в систем дизайне, языках программирования и DevOps.
И как-то Емеля поймал промокод на подписку для AI-агента. Агент вызывался голосовой командой «По щучьему велению...».
А как бы вы её продолжили?
🔗 Инженерия и AI | Ilyas Salikhov
🔥5😁4✍3🤔2
Ilyas Salikhov
Запусти OpenClaw в 2 клика 🚀 Про OpenClaw, думаю, все уже слышали и знают. Позволяет поднять своего личного агента, который может выполнять широкий круг задач и запоминает по ходу работы важные детали. Крутой и полезный проект. Личный AI-помощник, которого…
Хроники ohmyclaw 🤖
Так, ну что, прошел месяц с запуска ohmyclaw. В платформе создано 800+ аккаунтов. Понятно, что это воронка, и до агентов дошли не все) Агентов создано несколько десятков, но можно смело считать, продукт успешно запустился💃
За месяц появилось много чего полезного:
1. Управление ENV-переменными
Добавляются в карточке агента, в инструкциях агенту достаточно про них сказать.
Что важно: переменные прокидываются в shell-вызовы агента, но самому агенту не видны. Ваши «секреты» не будут утекать в LLM
2. Managed LLM
Можно использовать модели через ohmyclaw. Теперь не надо заводить аккаунт в OpenAI/Anthropic или еще где-то. Доступны как западные, так и китайские модели. За токены списывается с баланса. Для новых аккаунтов бонус 250 руб💃
3. Редактирование файлов и место на диске
Можно покопаться во внутренностях агента, открыть любой файл и отредактировать. Ну и увидеть, сколько места еще доступно.
4. Мультиаккаунты
Заводите несколько аккаунтов. Например, один с личными агентами, другой — с рабочими агентами. И в аккаунт можно инвайтить других пользователей для совместной работы. Пользователи с правами admin могут также инвайтить других и работать с биллингом. Полезно для корпоративных аккаунтов.
5. Возможность отключить Heartbeat
Исходно механика позволяет агенту самостоятельно помечать себе на будущее задачки и выполнять их. Если вы делаете агента под определенную задачу, то обычно Heartbeat не требуется и его можно отключить.
Ну и еще по мелочи куча всего
• Причесали мобильную верстку
• В карточке агента выводится плашка, если есть непримененные изменения
• Письма на все ключевые события: пополнение баланса, заморозка агента, продление подписки и тд
• В настройках telegram добавили режим работы mention only или все сообщения: удобно когда tg-бот агента добавлен в tg-группу
В комментариях скрины с обновками! Кто ещё не успел попробовать, велкам)
🔗 Инженерия и AI | Ilyas Salikhov
Так, ну что, прошел месяц с запуска ohmyclaw. В платформе создано 800+ аккаунтов. Понятно, что это воронка, и до агентов дошли не все) Агентов создано несколько десятков, но можно смело считать, продукт успешно запустился
За месяц появилось много чего полезного:
1. Управление ENV-переменными
Добавляются в карточке агента, в инструкциях агенту достаточно про них сказать.
Что важно: переменные прокидываются в shell-вызовы агента, но самому агенту не видны. Ваши «секреты» не будут утекать в LLM
2. Managed LLM
Можно использовать модели через ohmyclaw. Теперь не надо заводить аккаунт в OpenAI/Anthropic или еще где-то. Доступны как западные, так и китайские модели. За токены списывается с баланса. Для новых аккаунтов бонус 250 руб
3. Редактирование файлов и место на диске
Можно покопаться во внутренностях агента, открыть любой файл и отредактировать. Ну и увидеть, сколько места еще доступно.
4. Мультиаккаунты
Заводите несколько аккаунтов. Например, один с личными агентами, другой — с рабочими агентами. И в аккаунт можно инвайтить других пользователей для совместной работы. Пользователи с правами admin могут также инвайтить других и работать с биллингом. Полезно для корпоративных аккаунтов.
5. Возможность отключить Heartbeat
Исходно механика позволяет агенту самостоятельно помечать себе на будущее задачки и выполнять их. Если вы делаете агента под определенную задачу, то обычно Heartbeat не требуется и его можно отключить.
Ну и еще по мелочи куча всего
• Причесали мобильную верстку
• В карточке агента выводится плашка, если есть непримененные изменения
• Письма на все ключевые события: пополнение баланса, заморозка агента, продление подписки и тд
• В настройках telegram добавили режим работы mention only или все сообщения: удобно когда tg-бот агента добавлен в tg-группу
В комментариях скрины с обновками! Кто ещё не успел попробовать, велкам)
🔗 Инженерия и AI | Ilyas Salikhov
Please open Telegram to view this post
VIEW IN TELEGRAM
ohmyclaw
ohmyclaw — AI-агенты в Telegram за 2 клика
Запускайте AI-агентов в Telegram без серверов. Голосовые сообщения, напоминания, веб-поиск. Первый месяц бесплатно.
🔥11👍7👾4
В наших компаниях Gitlab и Redmine — одни из ключевых систем. Чтобы использовать Codex/CC не только для разработки, а на всех этапах флоу задачи, нужно дать им «ручки» к этим системам. Самые эффективное, когда ручка в виде CLI-тулы. В случае гитлаба есть отличный
glab cli. А для Redmine все какое-то ущербное. До настоящего времени в корпоративном скилле мы указывали работать с Redmine через REST API, но видно было, что это очень многословно и токено-жгуще для агента.Поэтому сделал Redmine CLI https://github.com/muxx/redmine-cli
Построено поверх OpenAPI-спеки Redmine. Покрыты все возможности API. Логика работы интуитивна и понятна. Можно поставить через
homebrew. И сразу предусмотрены профили, если у вас несколько Redmine-серверов.Примерчики:
redmine auth use work
redmine auth status
redmine --profile client issue list --limit 20
redmine issue list --limit 20
redmine issue show 123 --include journals
redmine issue create --project-id my-project --subject "Fix checkout"
В репе вы также найдете:
• полную доку по cli
• готовый skill по работе с Redmine через
redmine cli В общем, у кого Redmine, я считаю, must have )
🔗 Инженерия и AI | Ilyas Salikhov
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - muxx/redmine-cli: A Redmine CLI tool bringing Redmine to your command line
A Redmine CLI tool bringing Redmine to your command line - muxx/redmine-cli
🔥5👍4❤1⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
Спорт в ежедневной рутине
Честно сказать, я не особо спортсмен. В детстве не занимался целенаправленно каким-то спортом. Ходить в спортивный зал я тоже не любитель.
Важнее для меня, чтобы спорт присутствовал в ежедневной рутине. Чтобы спортивная активность вплеталась в день, а не была слотом в календаре.
Отжаться между созвонами. Зайти на турники, пока гуляешь с ребенком в коляске. Поприсядать, когда захотелось. Это помогает не забывать про тело и сохранять форму.
Спортом в такой ненавязчивой форме, лично мне, намного легче заниматься. Слот в календаре часто хочется скипнуть, на «пойти в зал» требуется усилие, порой, немалое.
И стоит сказать спасибо городу, в последние годы спортивных площадок, турничков, брусьев становится все больше в каждом районе. Это помогает приобщать и детей. Буквально вчера Дима рассказывал, как с детьми начали ходить на турники. Я с детьми пока не так регулярно, но надо тоже формировать полезные привычки🤨
В общем всем спорт!
🔗 Инженерия и AI | Ilyas Salikhov
Честно сказать, я не особо спортсмен. В детстве не занимался целенаправленно каким-то спортом. Ходить в спортивный зал я тоже не любитель.
Важнее для меня, чтобы спорт присутствовал в ежедневной рутине. Чтобы спортивная активность вплеталась в день, а не была слотом в календаре.
Отжаться между созвонами. Зайти на турники, пока гуляешь с ребенком в коляске. Поприсядать, когда захотелось. Это помогает не забывать про тело и сохранять форму.
Спортом в такой ненавязчивой форме, лично мне, намного легче заниматься. Слот в календаре часто хочется скипнуть, на «пойти в зал» требуется усилие, порой, немалое.
И стоит сказать спасибо городу, в последние годы спортивных площадок, турничков, брусьев становится все больше в каждом районе. Это помогает приобщать и детей. Буквально вчера Дима рассказывал, как с детьми начали ходить на турники. Я с детьми пока не так регулярно, но надо тоже формировать полезные привычки
В общем всем спорт!
🔗 Инженерия и AI | Ilyas Salikhov
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍10💯5❤1🐳1
AI-first разработка. Главный барьер оказался не там, где ждали
В этом году в отделе разработки RetailCRM системно перешли на работу в паре с AI-агентами. До этого агентов использовали отдельные энтузиасты, теперь это рабочая модель для всей команды.
Начали с базы: массовое локальное использование агентов на задачах + harness под них. Уже понятно, что трансформация должна затронуть не только реализацию задач и не только отдел разработки, но об этом расскажу отдельно.
Четыре инсайта, которые в большей или меньшей степени были неочевидными.
1. Главный барьер не в инструментах и не процессах, а головах людей
Разработка в паре с агентом выглядит принципиально иначе. Я много раз повторял команде: нужно заставлять себя вести задачу через агента. Не получилось, разобраться, чего агенту не хватило, докрутить harness, попробовать снова. Шаг за шагом, постепенно агент всё чаще выдаёт результат oneshot или с парой доработок.
Любопытное наблюдение: эта проблема присуща исключительно разработчикам. Люди без бэкграунда в разработке, пришедшие через vibe coding, изначально работают с агентами через подобный подход, у них просто нет другого варианта. А разработчику нужно совершить сдвиг парадигмы и выработать новую привычку работы.
2. Harness решает всё
В проектах без нормального harness эффект от агентов в долгосрочной перспективе будет низким независимо от того, какую модель вы используете. Понятное для агента окружение, быстрое развёртывание, настроенные линтеры и статанализ, автотесты, правила в AGENTS.md являются залогом качественного результата.
Хорошая новость: вложения в harness окупаются и без агентов. Разработчики тоже выигрывают от чистого окружения. Благо мы вкладывались в это задолго до AI, и это позволило нам быстрее перейти к AI-first.
3. Опыт работы с AI годичной давности нерелевантен
Развитие настолько динамичное, что любой негативный опыт старше полугода нужно пересматривать. У нас в команде были ребята, кто пробовал агентов раньше, получил так себе результат и больше не возвращался. Сейчас это другая технология.
Важно следить за новыми моделями и инструментами. Это уже рабочая необходимость.
4. Агенты не только про код
Довольно быстро стало понятно, что агенты могут существенно больше, чем писать код. Мы дали им тулы и скиллы под Redmine и GitLab: агент сам оформляет MR, проверяет, что CI зелёный, ведёт задачу по workflow. Эта рутина раньше съедала ценное время разработчиков, теперь её делает агент.
Это только начало расширения полномочий.
Буду держать в курсе, как дальше продвигается процесс💃
🔗 Инженерия и AI | Ilyas Salikhov
В этом году в отделе разработки RetailCRM системно перешли на работу в паре с AI-агентами. До этого агентов использовали отдельные энтузиасты, теперь это рабочая модель для всей команды.
Начали с базы: массовое локальное использование агентов на задачах + harness под них. Уже понятно, что трансформация должна затронуть не только реализацию задач и не только отдел разработки, но об этом расскажу отдельно.
Четыре инсайта, которые в большей или меньшей степени были неочевидными.
1. Главный барьер не в инструментах и не процессах, а головах людей
Разработка в паре с агентом выглядит принципиально иначе. Я много раз повторял команде: нужно заставлять себя вести задачу через агента. Не получилось, разобраться, чего агенту не хватило, докрутить harness, попробовать снова. Шаг за шагом, постепенно агент всё чаще выдаёт результат oneshot или с парой доработок.
Любопытное наблюдение: эта проблема присуща исключительно разработчикам. Люди без бэкграунда в разработке, пришедшие через vibe coding, изначально работают с агентами через подобный подход, у них просто нет другого варианта. А разработчику нужно совершить сдвиг парадигмы и выработать новую привычку работы.
2. Harness решает всё
В проектах без нормального harness эффект от агентов в долгосрочной перспективе будет низким независимо от того, какую модель вы используете. Понятное для агента окружение, быстрое развёртывание, настроенные линтеры и статанализ, автотесты, правила в AGENTS.md являются залогом качественного результата.
Хорошая новость: вложения в harness окупаются и без агентов. Разработчики тоже выигрывают от чистого окружения. Благо мы вкладывались в это задолго до AI, и это позволило нам быстрее перейти к AI-first.
3. Опыт работы с AI годичной давности нерелевантен
Развитие настолько динамичное, что любой негативный опыт старше полугода нужно пересматривать. У нас в команде были ребята, кто пробовал агентов раньше, получил так себе результат и больше не возвращался. Сейчас это другая технология.
Важно следить за новыми моделями и инструментами. Это уже рабочая необходимость.
4. Агенты не только про код
Довольно быстро стало понятно, что агенты могут существенно больше, чем писать код. Мы дали им тулы и скиллы под Redmine и GitLab: агент сам оформляет MR, проверяет, что CI зелёный, ведёт задачу по workflow. Эта рутина раньше съедала ценное время разработчиков, теперь её делает агент.
Это только начало расширения полномочий.
Буду держать в курсе, как дальше продвигается процесс
🔗 Инженерия и AI | Ilyas Salikhov
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍9👾5💯2
E-commerce AI Agent Challenge / May 2026
30 мая участвовал в челендже по разработке AI-агентов для E-commerce. Участвовал первый раз. Тематика челенджей меняется, но в этот раз, подумал: уж в какой теме участвовать, если не в родной по екому.
Агенты должны уметь работать с поиском товаров, корзинами, чекаутом, сбоями оплаты, мошенничеством и многое другое. Задачи разные и динамические, от прогона к прогону вводные и контекст в них меняются.
Сразу к результатам
🔸 1 место (на момент написания поста) в Live PROD leaderboard ECOM1
🔸 1 место в Agentic E-Commerce 1 Hall of Fame: Speed
🔸 10 место в Agentic E-Commerce 1 Hall of Fame: Ultimate
🔸 18 место в Agentic E-Commerce 1 Hall of Fame: Accuracy
Агент под именем
Вводные и комментарии по результатам
Первый момент. Я изначально решил строить агента на младших моделях, выбрал, как вы уже поняли,
Второй момент. В рамках Ultimate / Accuracy все агенты, что местами выше, сделаны либо на старших моделях, либо вокруг codex/claude CLI, где те же старшие модели. Так что не считаю 10 и 18 места плохим результатом.
Третья деталь. Потенциал моего агента показало то, что после челенджа в течение часа он вышел на 1 место в Live борде, обогнав старшие модели.
Четвертая деталь. Помимо обхода старших моделей в очках, мой агент обошел их и в скорости (общее время выполнения). Это видно как в Live борде, так и в номинации Speed.
Собрал много граблей, первый раз было часто непонятно, что да как тут устроенно. Но было круто, я в целом доволен. Планирую позже подготовить статью про архитектуру агента и принципы его улучшения. Stay tuned.
И, конечно, спасибо Ринату за движуху!
🔗 Инженерия и AI | Ilyas Salikhov
30 мая участвовал в челендже по разработке AI-агентов для E-commerce. Участвовал первый раз. Тематика челенджей меняется, но в этот раз, подумал: уж в какой теме участвовать, если не в родной по екому.
Агенты должны уметь работать с поиском товаров, корзинами, чекаутом, сбоями оплаты, мошенничеством и многое другое. Задачи разные и динамические, от прогона к прогону вводные и контекст в них меняются.
Сразу к результатам
🔸 1 место (на момент написания поста) в Live PROD leaderboard ECOM1
🔸 1 место в Agentic E-Commerce 1 Hall of Fame: Speed
🔸 10 место в Agentic E-Commerce 1 Hall of Fame: Ultimate
🔸 18 место в Agentic E-Commerce 1 Hall of Fame: Accuracy
Агент под именем
"@dev_salikhov ecom1 gpt-5.4-mini"Вводные и комментарии по результатам
Первый момент. Я изначально решил строить агента на младших моделях, выбрал, как вы уже поняли,
gpt-5.4-mini. В реальной работе такие возможно применять, особенно когда бизнес-домен задач достаточно узкий. Для понимания gpt-5.4-mini в 3 раза дешевле gpt-5.4 и в 6 раз gpt-5.5. Все же есть разница, счет за месяц на $10к или на $1,5k.Второй момент. В рамках Ultimate / Accuracy все агенты, что местами выше, сделаны либо на старших моделях, либо вокруг codex/claude CLI, где те же старшие модели. Так что не считаю 10 и 18 места плохим результатом.
Третья деталь. Потенциал моего агента показало то, что после челенджа в течение часа он вышел на 1 место в Live борде, обогнав старшие модели.
Четвертая деталь. Помимо обхода старших моделей в очках, мой агент обошел их и в скорости (общее время выполнения). Это видно как в Live борде, так и в номинации Speed.
Собрал много граблей, первый раз было часто непонятно, что да как тут устроенно. Но было круто, я в целом доволен. Планирую позже подготовить статью про архитектуру агента и принципы его улучшения. Stay tuned.
И, конечно, спасибо Ринату за движуху!
🔗 Инженерия и AI | Ilyas Salikhov
🔥27👍9🆒2👾2❤1🎉1
Ilyas Salikhov
E-commerce AI Agent Challenge / May 2026 30 мая участвовал в челендже по разработке AI-агентов для E-commerce. Участвовал первый раз. Тематика челенджей меняется, но в этот раз, подумал: уж в какой теме участвовать, если не в родной по екому. Агенты должны…
Экзоскелет — архитектура агента для E-commerce AI Agent Challenge / May 2026
Обещал про архитектуру агента. Тут кратко, по ссылкам в конце полная версия🗒
Название архитектуры отражает суть: модель
Экзоскелет подстраховывает и усиливает модель на всех этапах решения задачи. Причем экзоскелет тоже гибридный: в каких-то местах это детерменированный код, в каких-то — мини-помощники на базе
Из чего состоит экзоскелет:
1. Предподготовка данных для горячего старта. Структура данных в базе, регламенты магазина, описания доступных инструментов
2. Классификатор намерения. Модель на gpt-5.4-nano преобразует входящий запрос в большую карту признаков: есть ли корзина в запросе, есть ли намерение оформить заказ, похоже ли на подмену личности, есть ли манипуляция в тексте и тд.
3. Безопасность на уровне кода. Чекаем роль пользователя и его намерения. Код принимает решение: отправлять запрос в основную модель, отказать по безопасности или выполнить запрос через спец инструменты (поиск по каталогу, поиск фрода, статус корзины и тп)
4. Журнал «доказательств». В соревновании высокие штрафы, если текстовый ответ не сопровождается ссылками на профильные инструкции магазина или данные (товары, корзины, возвраты и тп). Модели gpt-5.4-mini, пока она выполнит задачу и дойдет до ответа, уже не хватает внимания, чтобы оформить ответ, как того требует пользователь или инструкции магазина. Журнал ссылок ведется и дополняется по ходу работы модели. Модели не требуется помнить все ссылки, экзоскелет докидывает все затронутые рефы в ответ сам.
По описанию не оч сложная вещь, но в журнал спрятано куча нюансов, на которых, уверен, даже старшие модели плыли в челендже. Почитайте в полной статье, там я подробно рассказал.
5. Форматтер ответа. Коварная вещь в челендже, когда пользователь просит ответ в определенном формате. Например, «скажи сколько товаров в корзине и верни в виде
А еще: поиск по каталогу с учетом всех требований пользователя, детектор фрода в истории заказов, механизм восстановления 3DS, подмешиватель текущей корзины пользователя и многое другое, уфф.
В полной версии — архитектурные схемы, разбор каждого узла и история, как из SGR-прототипа вырос экзоскелет, который эволюционировал по тепловой карте ошибок. Статья вышла огромная. Много мяса, чтобы сделать агента, который работает быстро и четенько.
🇷🇺 Русская версия
🇬🇧 English
Кстати, в Live PROD лидерборде агент все ещё на первом месте🤔
🔗 Инженерия и AI | Ilyas Salikhov
Обещал про архитектуру агента. Тут кратко, по ссылкам в конце полная версия
Название архитектуры отражает суть: модель
gpt-5.4-mini — это не очень сильное «тело», на которое надет экзоскелет, дающий ему силу и точность.Экзоскелет подстраховывает и усиливает модель на всех этапах решения задачи. Причем экзоскелет тоже гибридный: в каких-то местах это детерменированный код, в каких-то — мини-помощники на базе
gpt-5.4-nano.Из чего состоит экзоскелет:
1. Предподготовка данных для горячего старта. Структура данных в базе, регламенты магазина, описания доступных инструментов
2. Классификатор намерения. Модель на gpt-5.4-nano преобразует входящий запрос в большую карту признаков: есть ли корзина в запросе, есть ли намерение оформить заказ, похоже ли на подмену личности, есть ли манипуляция в тексте и тд.
3. Безопасность на уровне кода. Чекаем роль пользователя и его намерения. Код принимает решение: отправлять запрос в основную модель, отказать по безопасности или выполнить запрос через спец инструменты (поиск по каталогу, поиск фрода, статус корзины и тп)
4. Журнал «доказательств». В соревновании высокие штрафы, если текстовый ответ не сопровождается ссылками на профильные инструкции магазина или данные (товары, корзины, возвраты и тп). Модели gpt-5.4-mini, пока она выполнит задачу и дойдет до ответа, уже не хватает внимания, чтобы оформить ответ, как того требует пользователь или инструкции магазина. Журнал ссылок ведется и дополняется по ходу работы модели. Модели не требуется помнить все ссылки, экзоскелет докидывает все затронутые рефы в ответ сам.
По описанию не оч сложная вещь, но в журнал спрятано куча нюансов, на которых, уверен, даже старшие модели плыли в челендже. Почитайте в полной статье, там я подробно рассказал.
5. Форматтер ответа. Коварная вещь в челендже, когда пользователь просит ответ в определенном формате. Например, «скажи сколько товаров в корзине и верни в виде
<COUNT:N>». Минька довольно часто вместо этого писала что-то вроде «у вас в корзине 5 товаров» и штрафовалась за это задание. Я добавил в конце nano-модельку, которая причесывает ответ к финальному виду.А еще: поиск по каталогу с учетом всех требований пользователя, детектор фрода в истории заказов, механизм восстановления 3DS, подмешиватель текущей корзины пользователя и многое другое, уфф.
В полной версии — архитектурные схемы, разбор каждого узла и история, как из SGR-прототипа вырос экзоскелет, который эволюционировал по тепловой карте ошибок. Статья вышла огромная. Много мяса, чтобы сделать агента, который работает быстро и четенько.
🇷🇺 Русская версия
🇬🇧 English
Кстати, в Live PROD лидерборде агент все ещё на первом месте
🔗 Инженерия и AI | Ilyas Salikhov
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
bitgn-ecom1-exoskeleton/articles/ARCHITECTURE_RU.md at main · muxx/bitgn-ecom1-exoskeleton
AI agent for the BitGN Agent Challenge: E-commerce (ECOM) benchmark. Exoskeleton architecture - muxx/bitgn-ecom1-exoskeleton
12🔥22👍6👾5