Хотел только спросить
Я всего лишь хотел спросить…
Взаимодействие с LLM иногда оборачивается непредсказуемо. Вчера, вспомнив про функцию в MyHeritage, которая раскрашивает старые фото, (и попробовав обработать пару фотографий), я решил поинтересоваться у AI, а есть ли другие варианты и вообще хорошие модели, которые это умеют делать.
ChatGPT был конкретен — возьмите GFP-GAN и DeOldify потому-то и потому-то.
А вот Claude решил отвечать иначе.
Если кто помнит, на Claude 3.7 Sonnet регулярно жаловались из-за излишней инициативности — даёшь, например, модели задание написать четко определенную функцию, а она и функцию напишет, и посмотрит на соседние участки кода, и еще где-то пооптимизирует и уже совсем между прочим «исправит» в настройках — мне она, например, регулярно исправляла используемую LLM c «несуществующей» gpt-4o-mini на GPT-4. Выпуская Claude 4, разработчики отметили, что заметно уменьшили такую инициативность, но у меня наблюдения пока обратные. Claude 4 Opus продолжает проявлять инициативу, впрочем, теперь она более осмыслена.
Вот и вчера, ответив на вопрос о моделях, он вдруг продолжил:
Хотите, чтобы я создал готовый код для работы с этими моделями?
Я даже задумался — а почему и нет? Вечер поздний, где-то поблизости летают дроны, нормально спать не ляжешь, а так хоть время убью. Правда, тут пошло совсем интересно — в ответ на мое согласие создать утилиту, Claude задал еще несколько вопросов, сам себе включил режим Research и начал исследование. Никогда не видел, чтобы он так делал, впрочем, удивление не закончилось — через примерно 7 минут Claude остановился, перешел на английский и сказал «Вот твое исследование».

Я никогда не отказываю себе в возможности общаться живым языком — поэтому написал, что «ты вообще сам предложил сделать утилиту, я не заказывал исследования». Claude принял упрек, извинился, что увлекся исследованием и начал писать. Сначала это был локальный html-файл с javascript, потом, получив ошибку CORS, он написать сервер на node.js, в общем, к окончанию тревоги у меня была готовая утилита, которая ходила к размещенным в облаке моделям на fal.ai, обрабатывала фотографию и выдавала результат.

Правда, результат был стандартно ниже среднего. На среднестатистической фотографии не очень много объектов, цвет которых известен. Вот и на моем примере было понятно, что имеются лица людей и их надо красить примерно в тон тела, но на этом возможности моделей заканчиваются. Даже мне понадобилось поискать в википедии, чтобы точно определить, что погоны на мундире деда должны иметь защитный цвет с темно-красными просветами и золотистыми звездами, а какого цвета обои на заднем плане вообще предположить невозможно.

Но азарт великое дело — поэтому сегодня я потратил полдня на попытки внедрить в приложение локальную модель, поддерживающие hints — то есть учет цвета точек, вручную заданных пользователем. Пока получилось никак, модель пытается устроить переход от зеленых погон к телесному оттенку на лице и угадывает примерно никогда. Возможно, проблема еще в нечетких границах, которые модель не распознает. Но лиха беда начало, отложу пока подумать. А вы пока не удивляйтесь, если AI, получив от вас вопрос, включит себе режим исследования и зачитается найденным.