Обновить
1427.93

Искусственный интеллект

AI, ANN и иные формы искусственного разума

Сначала показывать
Порог рейтинга

Первые впечатления от использования Claude Sonnet 4.5

В целом, хорошие впечатления.

Работает быстро.

При написании кода не сделал ни одной ошибки.

Заметно лучше держит контекст. Быстро ознакомился с проектом и очень неплохо следует правилам.

Единственное, что нередко сразу бросается в бой и начинает писать много кода. Что сжигает кучу токенов. Поэтому взял за привычку не расслабляться и каждый раз напоминать, когда писать код, а когда обсуждение, или псевдокод.

В общем, ощущения такие, что работает чисто, уверенно, надёжно.

Стиль общения вполне комфортный

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Искусственный интеллект от OpenAI планирует потреблять больше энергии, чем Великобритания или Германия через пять лет, больше Индии за 8 лет. И таких компаний все больше — Anthropic Claude, Mistral, LLaMA, Cohere, Grok, Google AI, Bing Chat, Ernie Bot DeepSeek.

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии1

Авторы из AI Institute, University of Montreal, Princeton University. Статья внушает доверие. Она также подтверждается моими собственными наблюдениями

Ребята говорят о экономии токенов на модельках, 46% меньше потребление ресурса + как следствие ускорение

Суть в том, что модели много рассуждают об известных фактах. Например, если модель попросить решить уравнение с геометрической прогрессией. Она сначала его выведет, а потом будет решать. И так шагов может быть много. У больших моделей есть привычка «думать вслух». Они, когда решают задачу, раскладывают всё по шагам — иногда очень длинно. Это классно для качества, но плохо для скорости и денег: чем больше токенов, тем дороже и медленнее

Пример на прогрессии

Ты просишь модель: «реши уравнение с геометрической прогрессией»

Что она делает?

  • Сначала начинает выводить саму формулу суммы прогрессии: пишет длинное рассуждение, как она получается.

  • Потом подставляет числа.

  • Потом делает вычисления.

  • И только в конце даёт ответ.

Каждый раз она повторяет эту историю, как будто «заново изобретает велосипед».

Что предлагают авторы статьи

Ребята говорят: зачем каждый раз заново выводить одно и то же? Давайте выделим такие повторяющиеся шаги в маленькие «карточки-подсказки» (они называют их behaviors).

Например, поведение:
«Сумма первых n членов геометрической прогрессии = (a₁(1–qⁿ)) / (1–q)».

Теперь, когда модель решает задачу, мы ей сразу даём эту карточку. Она не тратит сотни слов на то, чтобы вывести формулу, а сразу использует её.

Почему это полезно

  • Экономия ресурсов: в экспериментах до 46% меньше токенов.

  • Ускорение: модель тратит меньше времени на текст.

  • Качество не падает, а иногда даже лучше — потому что меньше места для ошибок.

Итог

  • Классика: модель сама думает длинно, это дорого и долго.

  • Новый подход: мы даём ей готовые «кирпичики рассуждений» (behaviors), она использует их и отвечает быстрее.

  • В общем виде: решение = текст задачи + набор подсказок.

Тут можно формулы привести со всякими условными вероятностями. Душнить не буду. И так надо форточку открывать

Ссылка на статью, как обычно, в моём канале

——————
Менеджер? Давай сюда!
Ищи работу здесь
Технологии и архитектура

Теги:
Всего голосов 3: ↑0 и ↓3-3
Комментарии0

OpenAI представили ресурс Prompt Packs — 300+ готовых промптов под конкретные профессии: от программистов и эйчаров до маркетологов и менеджеров по продажам.

Все материалы собраны в разделе Prompt Packs на сайте OpenAI Academy. Компания отмечает, что такие шаблоны помогают ускорить выполнение рутинных задач и лучше встроить ChatGPT в повседневную работу специалистов.

Теги:
Всего голосов 3: ↑3 и ↓0+6
Комментарии0

Так синяя или красная?

Дед забыл выпить таблетки и понеслось...
Итак - давайте представим что мы находимся в далеком и светлом будущем в котором есть супер-МРТ которое может сделать снэпшот любого куска пространства на уровне атомов (ну или глубже), энергия, спины - вот это вот все.
И раз уж мы в будущем, то у нас определенно есть супер кампуктер который может запустить симуляцию куска мира из этого самого снэпшота.

Эксперимент: Олег и случайное число.
Берем условного Олега и садим его в полностью изолированную комнату. Дополнительно к этому вырубаем Олегу чувствительность какой-нибудь супер таблеткой - мозг полностью изолирован от внешнего воздействия.
Просим Васю подумать 10 секунд и назвать любое случайное число (не важно как мы коммуницируем с изолированным мозгом Олега - не надо душнить).
В тот же самый момент снимаем снэпшот мозга и запускаем симуляцию. Что будет через 10 секунд? Очевидно Олег и симуляция выдадут одинаковые ответы? Любые квантовые эффекты и прочие случайности мы не принимаем в рассчет - считаем что в будущем со всем разобрались и нашли все зависимости.

Далее мы повторяем эксперимент. Но кампуктер запускаем на полную мощность - так что он выдает результат практически мгновенно - 42. Через 10 секунд Олег выдает нам те же 42.

Получается что ответ уже есть в мозге на момент задания вопроса, а возможность что-то решить лишь иллюзия.

Более того - то самое текущее состояние мозга - оно тоже не ваше. Оно сформировано другими "нейросетями" в виде родителей и окружения + случайными событиями, которые тоже не случайны.

Вся история уже написана - мы лишь зрители которые смотрят сезон за сезоном этот сериал.

Осень, грустно, пойду пить таблетки

Теги:
Всего голосов 9: ↑4 и ↓5+3
Комментарии21

Разработчик Ли Робинсон (занимается обучением в ИИ-проекте Cursor) представил учебный курс Cursor Learn, который состоит из шести видеоуроков по основам ИИ и суммарно занимает около часа. Проект не посвящён машинному обучению или обучению собственных моделей, а предназначен для начинающих пользователей, которые хотят использовать нейросети в работе.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Как ИИ‑инструменты меняют разработку, дизайн и даже наши привычки — делимся подборкой материалов из журнала КОД:

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

Менеджер Stripe Кэмерон Маттис простым способом отфильтровывает ИИ-рекрутеров, он добавил в раздел «О себе» в LinkedIn простой промпт для нейросетей с просьбой вставить в сообщение рецепт испанского пудинга. Это работает, ему присылают рецепты в предложениях о работе.

Теги:
Всего голосов 4: ↑4 и ↓0+5
Комментарии0

Составили рекомендации, как безопасно разрабатывать ИИ‑агентов и мультиагентные системы

Команда Security Yandex Cloud опубликовала руководство по снижению рисков при разработке и внедрении агентов на базе LLM. Мы обобщили опыт создания агентов для ML, Security и других сервисов Яндекса, которые уже используют агентную систему и генеративные технологии компании.

Результатом этой работы стал подход к разработке модели угроз при внедрении, а также методы защиты для ключевых компонентов:

  • самих генеративных моделей,

  • модулей и баз знаний, которые используются в работе ИИ‑агентов.

Особое внимание мы уделили безопасности данных и предотвращению рисков, возникающих из‑за автономности агентов.

Читать документ

При подготовке рекомендаций мы также учли лучшие практики международных организаций, включая OWASP®, NIST и MITRE ATT&CK®.

Предложенные в документе принципы безопасной разработки используются на всех этапах при создании автономных или взаимодействующих между собой ИИ‑агентов в сервисах Яндекса. Команды безопасности ещё на стадии проектирования изучают будущую архитектуру и проверяет её на безопасность. Затем специалисты тестируют код на возможные уязвимости и проверяют на соответствие стандартам безопасной разработки.

Яндекс также изучает возможные способы атак на нейросети и разрабатывает защиту от потенциальных угроз. Антиробот Яндекса защищает ИИ‑сервисы от злоупотребления и эксплуатации уязвимостей. Сервис Yandex Smart Web Security теперь содержит ML WAF — технологию для защиты от веб‑атак на основе машинного обучения, которая даёт более широкое покрытие векторов атак за счёт сочетания сигнатурного анализа и ML. Центр мониторинга выявляет угрозы и анализирует подозрительную активность в инфраструктуре. Ещё один инструмент для проверки и усиления безопасности ИИ — направление программы Яндекса «Охоты за ошибками», связанное с генеративными нейросетями.

Теги:
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

В Рег.облаке запустили облачные серверы с ИИ-ассистентом

В Рег.облаке стало доступно новое локальное решение для запуска и управления языковыми моделями LLM. Облачный сервис разворачивается за несколько минут и работает в изолированном окружении: данные и доступ полностью контролируются пользователем.

Что входит в образ:

  • Ollama — фреймворк для запуска и управления LLM-моделями;

  • Open WebUI — веб-интерфейс для работы через браузер;

  • предустановленные модели Gemma 3, DeepSeek и Grok, с возможностью подключения моделей из Ollama и Hugging Face.

Основные возможности:

  • интеграция через API во внутренние сервисы;

  • подключение документов и баз знаний для контекстных ответов;

  • параллельный запуск и сравнение нескольких моделей;

  • плагины Open WebUI для работы с файлами и данными;

  • работа с конфиденциальной информацией без передачи в публичные сервисы.

ИИ-ассистент доступен в конфигурациях с CPU и GPU. Для работы с несколькими моделями рекомендована конфигурация с NVIDIA A5000 (24 ГБ), 16 vCPU и 64 ГБ RAM. Заказать и протестировать сервер с ИИ-ассистентом можно уже сейчас на сайте Рег.облака.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Альфа-Банк совместно с ИТМО запускает бесплатную программу повышения квалификации для преподавателей

Совместно с Университетом ИТМО (лидером рейтинга вузов по качеству подготовки специалистов в области искусственного интеллекта) разработали программу повышения квалификации для преподавателей вузов. В программе научим работать с искусственным интеллектом, встраивать его в образовательный процесс и смело использовать со студентами.

Что ждёт участников:

  • Курс пройдёт с октября по декабрь (72 академических часа).

  • Вебинары с экспертами (прямые эфиры).

  • Онлайн-консультации для ответов на все интересующие вопросы.

  • Видеоуроки и практика, чтобы изучать темы в удобное время.

  • Финальная защита проектов в Санкт-Петербурге.

  • Удостоверение о повышении квалификации установленного образца.

Если вы преподаватель, то оставляйте заявки по ссылке, чтобы работать с искусственным интеллектом рука об руку ❤️

Вы изучите широкий спектр тем — от общих вопросов и этики ИИ до практических задач и методических особенностей преподавания искусственного интеллекта в вузах.

Записаться можно на один из 3 образовательных треков:

  • Базовый — про введение в возможности ИИ.

  • Средний — про технологии ИИ и их применение.

  • Продвинутый — про преподавание ИИ в университетах.

Больше информации, контакты и форма для заявки на обучение по ссылке ❤️

Теги:
Рейтинг0
Комментарии0

Первая в России конференция про ускорение разработки с помощью ИИ: реальные кейсы, судьба разработчиков и риски спагетти-кода

На Хабре до сих пор спорят про пользу вайбкодинга и вымирание профессии программиста. Тем временем бигтех уже использует AI-агентов, которые берут на себя больше, чем написание кода. В T-Tech они ведут задачи в SDLC и общаются друг с другом без дейликов, а Яндекс и Магнит обучают агентов управлять продуктами без человека. Это не эксперименты, а рабочий продакшн: релизы не откладываются на месяцы, счет идет на дни. 

Мы в Surf собрали на одной площадке тех, кто уже живёт в этой новой реальности: CTO, QA-лидов, техдиров и исследователей из Яндекса, Ozon, Surf, Сбера, T-Tech и других. Они расскажут и покажут всю подноготную своих проектов с ИИ 3 октября, на первой в России конференции по ускорению разработки с ИИ AI Boost 2025 в Москве.

 >> Программа и регистрация <<

О чем расскажут на встрече:

  • Евгений Сатуров, CTO Mobile Surf покажет, как обучить вайбкодингу полсотню разработчиков и при этом не нажить врагов в команде.

  • Александр Поломодов, технический директор T-Tech расскажет, когда автономные ИИ-агенты становятся полноценными участниками SDLC и начинают взаимодействовать друг с другом. Разберём переход от привычных AI-ассистентов вроде Cursor к ИИ-агентам.

  • Мария Лещинская, Head of QA в Surf и кандидат технических наук по ИИ и ML объяснит, как shift-left подход и автогенерация автотестов помогают ускорять delivery и повышать качество продукта.

  • Александр Коренев, руководитель IT-проектов в Банке «Левобережный» поделится кейсом внедрения ИИ в банковские проекты с нуля: от обучения персонала до автоматизации рабочих процессов.

  • Альбина Галлямова, социобиолог из НИУ ВШЭ поделится научной подоплекой: выживут ли «обычные» разработчики в мире, где нейросети берут на себя всё больше задач?

Докладами не ограничимся — собрали экспертов на круглые столы, где обсудим самые горячие вопросы: 

  1. «Внедрение ИИ vs Безопасность»
    Эксперты из Ozon, Сбера, Positive Technologies и Surf обсудят, как сочетать скорость релизов с безопасностью, где прячутся уязвимости AI-решений и зачем компании вводят ограничения на LLM.

  2. «ИИ в продакшн: спасение или новый спагетти-код?»
    Представители Магнита, Яндекса, Surf и Атол расскажут, как нейросети ускоряют релизы, можно ли доверять им архитектуру и сложные задачи и как можно в этих условиях вырасти от джуна до тимлида.

Кому будет полезно:

  • C-level и руководителям разработки — если ищете способы прокачать delivery и эффективность команд.

  • Тимлидам и senior-разработчикам — если хотите разгрузить команду от рутины, улучшить качество кода и внедрить AI-практики в ежедневную работу.

  • Продуктовым и проектным менеджерам — если планируете AI-проекты и хотите понимать, как реалистично оценивать сроки, риски и ресурсы на AI-разработку.

  • ИИ-энтузиастам — если хотите разобраться и перенять лайфхаки по работе с ИИ для себя и своих проектов. И неважно, джун вы или сеньор. 

Формат и участие

Конференция пройдет 3 октября (пятница) в Москве, локация — ДК Рассвет. Начало в 12:00. Вас ждет 9 часов контента, нетворкинга и новых идей для своих проектов. А еще — возможность получить бесплатную консультацию с CTO Surf по внедрению ИИ-процессов в своих проектах.

По ссылке — регистрация и подробная программа.

🔥 Дарим специальный промокод для хабровчан со скидкой 2000 руб.: surfhabr

До встречи ;) 

Теги:
Всего голосов 12: ↑11 и ↓1+10
Комментарии0

🚀 Объём корпоративных данных растёт на десятки процентов в год, а специалистов всё так же не хватает. В статье для VC.RU мы вместе с Екатериной Ризановой рассказали, как ИИ-агенты помогают решать эту проблему: берут на себя рутинные задачи в хранилищах данных и BI-системах, ускоряют работу команд и экономят компаниям миллионы рублей в год.

ИИ-агент — это не чат-бот. Он сам выполняет действия: анализирует код витрин, строит lineage, генерирует SQL, находит инсайты и помогает сотрудникам сосредоточиться на действительно важных задачах.

👉 Делюсь материалом: https://vc.ru/ai/2233616-ii-agent-dlya-rabotyi-s-bolshimi-dannymi

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Ближайшие события

Как вайб-кодить с вайбом, а не с техдолгом и багами 👨‍💻✨

Разберемся в этом на вебинаре с нашим техническим экспертом Сашей Константиновым. Будет полезно всем, кто работает с кодом и данными — вы узнаете, как с помощью AI писать код быстрее и не проседать при этом в качестве.

Поговорим о том, как:

  • Научить IDE кодить в вашем стиле, предсказуемо и по нужным стандартам.

  • Подключить языковую модель к VS Code. Рассмотрим все на примере LLM из Evolution Foundation Models.

  • Мониторить безопасность и качество кода в SonarQube.

📅 Когда? 30 сентября в 11 по мск.

📍 Где? Онлайн — вам осталось только зарегистрироваться →

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

Эксперты сообщили, что текущая ситуация на рынке ИИ-технологий напоминает финансовую пирамиду. Например, OpenAI платит миллиарды долларов Oracle, которая платит Nvidia, которая инвестирует в OpenAI. В итоге OpenAI покупает мощности Oracle. Акции Oracle дорожают, и компания закупает чипы у Nvidia. Акции Nvidia дорожают, и компания инвестирует в OpenAI.

«Жизненный цикл» с зависимостями. Например, Nvidia поставляет Oracle чипы, а та предоставляет кредиты на облачные услуги. OpenAI нужны мощности, а Nvidia — чтобы покупались её чипы.

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии1

«Найди то, не знаю что» среди миллиарда сущностей 😱

Примерно так звучат задачи специалистов, которые работают с LLM. В новом выпуске нашего подкаста «Кофе-брейк» развеиваем миф о том, что ИИ отберёт у всех нас работу (спойлер: не у всех), и обсуждаем, как вообще устроен поиск по ключевым словам. А помогает нам в этом Денис Шавейников — руководитель команды поиска VK.

Хватайте капучино и включайте выпуск ☕️

Теги:
Всего голосов 14: ↑13 и ↓1+16
Комментарии0

3 неочевидных способа сэкономить на инференсе ML-модели в облаке кроме автоскейлинга 💸💸💸

Привет! Сегодня хотим поделиться тремя полезными способами сэкономить на инференсе, которые работают в облаке, причем, не только у нас (что? да!).  

А то ведь как бывает: запустишь свою крутую LLM-ку в продакшен, а счет прилетает такой, что хочется отключить обратно. Горизонтальный скейлинг не всегда выход. Но дешевле — не значит менее производительно. Мы приведем алгоритмы для сервиса Evolution ML Inference, но их можно адаптировать для любого провайдера. 

Способ 1. Использовать Sleep Mode vLLM 🔧

Способ работает только для языковых моделей (LLM), таких как Qwen, LLaMA, Mistral и других, запускаемых через vLLM. С диффузионными моделями, CV и временными рядами фокус не прокатит. Sleep Mode временно выгружает веса модели из GPU в RAM, освобождая до 90% видеопамяти. А раз GPU-ресурс не используется, то и не тарифицируется. «Разбудить» модель можно за секунды и без полной перезагрузки. 

Что делать: 

1. Запустите модель в ML Inference с runtime vLLM.

2. Включите режим разработки:

   VLLM_SERVER_DEV_MODE=1

3. Добавьте флаг:

   --enable-sleep-mode   

4. Управляйте через HTTP:

   ⦁ POST /sleep?level=1 — выгрузить веса, сохранить возможность быстрого запуска.

   ⦁ POST /wake_up — вернуть модель в активное состояние.

Когда применять: 

  • В сценариях с неравномерной нагрузкой (например, днём активность, ночью — нет).

  • Между итерациями RLHF, когда нужно освободить GPU. 

Способ 2. Serverless + Scale to Zero 🔧

Способ подходит вообще для всего. Суть в том, что контейнер с моделью останавливается при отсутствии запросов, освобождая все выделенные ресурсы (GPU, RAM, CPU). Кеш модели сохраняется, но тоже не тарифицируется в период простоя — PROFIT! При поступлении нового запроса модель запускается из кеша — и тут, мы, конечно, имеем проблему с задержкой при «холодном старте». Но пара секунд ожидания экономит нам сотни тысяч.

Что делать: 

1. При создании инференса в ML Inference:

   ⦁ Установите min_replicas = 0.

   ⦁ Выберите тип масштабирования: RPS или Concurrency.

2. Убедитесь, что Idle-таймаут = 40 сек.

Когда применять: 

  • Для MVP, демо, внутренних API.

  • Сценариев с нерегулярной нагрузкой (например, 100 запросов в день).

  • Моделей, где допустима небольшая задержка при первом запросе.

Способ 3. Time Slicing GPU 🔧

Способ работает в рамках Managed Kubernetes (MK8s), при условии, что в кластере создана группа узлов с GPU NVIDIA Tesla V100. Суть в том, что одна физическая GPU делится между несколькими подами (например, 5 подов по 1 GPU): каждый получает свою долю времени, как если бы у него была выделенная карта. 

Что делать: 

1. Создайте кластер Managed Kubernetes с узлом, где:

   ⦁ GPU: NVIDIA Tesla V100.

   ⦁ Количество GPU: 1.

2. Настройте Time-Slicing. Создайте ConfigMap:

   apiVersion: v1

   kind: ConfigMap

   metadata:

     name: time-slicing-config

     namespace: gpu-operator

   data:

     tesla-v100: |-

       version: v1

       sharing:

         timeSlicing:

           resources:

             - name: nvidia.com/gpu

               replicas: 5

   Примените: kubectl apply -f cloudru-time-slicing.yaml

3. Установите NVIDIA GPU Operator. В Личном кабинете Cloud.ru:

   ⦁ Перейдите в кластер → Плагины → Добавить.

   ⦁ Выберите NVIDIA GPU Operator.

   ⦁ В расширенной конфигурации укажите:

     devicePlugin:

       config:

         name: time-slicing-config

         default: tesla-v100

4. Проверьте работу. Запустите Deployment с 5 репликами:

   resources:

     limits:

       nvidia.com/gpu: 1

Все 5 подов должны перейти в статус Running.

Когда применять: 

  • Для тестовых и демо-сценариев, стартапов или MVP.

  • Для низконагруженных задач — инференс небольших моделей, дообучение, RLHF.

  • Для команд разработки, чтобы работать в одном кластере и делить ресурсы.

А какие нестандартные методы оптимизации бюджета используете вы? Собираем коллекцию советов для экономных в комментариях!

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

MCP архитектура как развитие ручного подхода в LLM

Когда вы открываете ChatGPT и вставляете туда кучу текста — что реально происходит?
Всё складывается в один длинный «бутерброд»: данные, инструкции, системный промпт, даже куски схемы в Markdown. Никакого порядка. Это как если бы у вас в кодовой базе был один файл main.py, где и роуты, и бизнес-логика, и SQL-запросы.

Я хочу описать идею MCP кратко, поскольку в самой доке она не описана. А может быть даже и не закладывалась туда. Но очень похоже, что такая архитектура хорошо работает исходя из более фундаментальных принципов, чем просто разделение

Как это выглядит у ChatGPT

На схеме выше видно:

  • Есть Line Edit — пользователь копипастит сырые данные.

  • Есть Плагин — иногда он что-то подмешивает.

  • Всё это сливается в один большой Склеенный промпт, который уходит в LLM.

Мешанина как она есть

Как это делает MCP?

MCP приходит и говорит: «ребята, давайте хоть модули разнесём».

  • System Prompt — отдельная часть, где живёт логика «как правильно жить» для модели.

  • Instruction Layer — патчи и локальные корректировки.

  • Schema Registry — отдельный каталог, который описывает структуру данных (таблицы, поля, форматы).

  • Data Adapter — слой, который достаёт данные у провайдера строго по схеме.

  • Всё это связывает MCP хост, который собирает финальный запрос к LLM, который зачастую представляет собой Lang Chain

Итог: модель получает запрос не как «мусорный мешок», а как структурированный pipeline.

Почему это важно

  • Прозрачность. Можно отследить, какая часть отвечает за что.

  • Контроль. Можно менять системный промпт без страха поломать данные.

  • Расширяемость. Хочешь новый источник данных? Добавь адаптер, а не переписывай всё.

  • Предсказуемость. Поведение модели становится ближе к детерминированному.

Простая метафора

  • ChatGPT — это когда у вас «final_final_v3.docx» и все правят его параллельно.

  • MCP — это когда у вас git с ветками, пайплайнами и CI с CQRS архитектурой (не шутка), читай выше

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

ImageSorcery 06 - MVP

Это серия постов от идеи ImageSorcery до 100+ звёзд на гитхабе и ~100 ежедневных установок с PyPi.

ImageSorcery 01 - Как я свой open source вайбкодил
ImageSorcery 02 - Превращение ImageWizard в ImageSorcery
ImageSorcery 03 - шаг за шагом: PoC, Initial commit
ImageSorcery 04 - README.MD
ImageSorcery 05 - автотесты; просто покажи ему пример

По результатам предыдущих приседаний с ИИ у нас на руках прототипы detect, crop и get_metainfo - функций на python, которые понадобятся ИИ агенту чтобы выполнить задачу вроде “вырежи здание на этом фото”. Также у нас уже есть git репозиторий с работающим MCP сервером подключенным в Cline. С полным покрытием одного единственного tool hello_world тестами формата e2e на pytest. И линтер rufus.

Приступаю к тулзам. По одной за шаг. С покрытием тестами и актуализацией README. От самой простой get_metainfo к самой сложной detect. Благо есть работающие реализации от PoC, которые нужны были как пример и подстраховка.

“Изучи @README.MD и следуй правилам работы с кодом от туда. Прочитай код hello_world tool и тесты на него. Прочитай код прототипа get_metainfo/crop/detect. Реализуй соответствующий tool. Напиши тесты. Актуализируй README. Не завершай задачу пока все тесты не пройдут, а также линтер.

С реализацией проблем конечно уже не было, вот с тестами detect снова пришлось повозиться. Лентяй Gemini flash решил, что если detect tool запускается и возвращает хоть что-то - этого уже достаточно. Пришлось гонять его и в хвост и в гриву чтобы были написаны позитивные и негативные сценарии и прочие едж кейсы.

Каждый отдельный тул разумеется коммитил.

Где-то в процессе обнаружил что тесты на объявление tool могут быть также достаточно подробными. И самое главное - результаты crop (сохранение файла) оказывается есть в /tmp/pytest/.  Это означало что я могу проверять тесты, которые работают с изображениями, а не слепо доверять их коду и статусу passed. Это меня в будущем много раз выручит. Например, когда при реализации blur для теста генерировался полностью черный квадрат и после выполнения blur контрольный пиксель проверялся на соответствие цвета заблюренному черному - черному 🤦. С точки зрения алгоритма всё идеально - не прикопаешься 😅 А я глядя на два одинаковых черных квадрата ржал в голосину. Пришлось заставить его тестировать на шахматке.

blur области поверх шахматки
blur области поверх шахматки

Шаг выполнен ✅

Теперь у меня был MCP сервер, который позволял подключенному к нему MCP клиенту вроде Cline выполнить заветное “вырежи с этого фото собаку”. Был ведь? ...

В дев сборке всё работало. Но если я хотел публиковать это как MVP, мне нужно было убедиться, что те, кто найдут его на просторах гитхаба, смогут им воспользоваться. В будущем мне понадобится опубликовать пакет на pypi, но на данном этапе нужно было убедиться что хотя бы через клонирование репозитория всё заведётся.

Я удалил MCP из Cline, склонировал репу в новую директорию и попросил Cline доустановить, подключить и проверить. 

🫠 Разумеется ничего не заработало в этом моем стейдже.

Оказывается модели Ultralytics не качаются по неведомой мне причине, когда MCP запущен как процесс(?). Пока я писал прототипы, и запускал detect как отдельный python скрипт, а не как модуль в составе сервера, все нужные мне модели скачались и могли переиспользоваться в последующем. А чистая установка доступа к ним не имела и всё падало.

Такую нетривиальную проблему конечно же не смогли решить никакие ИИ, но день плотного дебага и глубоких обсуждений с Gemini и параллельно Claude (на всякий случай. По факту ничего такого, чего не знал Gemini он не сказал) привёл меня к реализации –post-installation режима и архитектурному решению с выделением отдельно от tools директории scripts, куда попали скрипты установки и скачивания моделей.

Теперь ImageSorcery была готова к публикации как MVP!

P.S. если кто-то знает как обойти проблему со скачиванием моделей в рантайме - дайте знать. Я бы очень хотел найти альтернативные решения.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Вышла нейросеть для инженеров, которая умеет генерить сложные 3D-модели в CAD. Просто закидываете чертёж и получаете готовую модель детали, которую можно отредактировать промптом или задействовать в AutoCAD для ручного редактирования.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Вклад авторов