Издевательский взгляд ИИ-агента
Уже скоро сутки пялюсь на вопрос, который мне задал ИИ-агент. «Ну что, куда дальше двигаемся?» — а мне на него пока и ответить нечего. Все ответы, которые наготове, — сплошная тривиальщина. А тривиальщиной в моём случае проблема не разрешится. И вот сижу и думаю: а что происходит-то? Что за беда? И ощущение какое-то — давно знакомое…
Я сейчас пользуюсь одновременно тремя агентами: Claude Code, Harness и Hermes. Фаворит у меня сегодня Hermes. Ну, это пока — пока разбираюсь.
Для чего я их использую? Во-первых, для программирования, конечно же. Причём гоняю пока в основном в режиме теста, на задачах, которые для меня совершенно рутинные — не очень интересные, а то и совсем неинтересные, — и требуют знания стека, которым я не владею и осваивать который не вижу для себя никакого смысла.
Но с Hermes'ом мы взялись за одну задачку, достаточно сложную, которую я сам решил (в каком-то приближении) ровно 10 лет назад. Это как раз задача умной сортировки документов по смыслу. Есть корпус, под 10 000 документов, которые у меня накопились с 2002 года: статьи, заявки, предложения, документации, концепции и так далее, и тому подобное. И надо среди них не по словам искать, а по смыслу: «А ну-ка, найди мне документ, где речь идёт, допустим, одновременно про экономику, демографию и ситуационные центры, или там про стратегическое планирование!» И вот он весь корпус сортирует, и на первых позициях в списке всех документов оказываются те, которые наиболее полно соответствуют запросу. С точки зрения пользователя задача выглядит самоочевидной, но с точки зрения технологии решение там неочевидное. И у ИИ-агента прекрасно получается разбираться с этой задачей.
И на чём я себя сегодня поймал? А поймал на том же, на чём когда-то — в конце восьмидесятых — начале девяностых, когда мы только начинали внедрять системы автоматизированного проектирования. Тогда очень чётко обозначился неожиданный для нас (тогдашних) эффект…
Я тогда работал проектировщиком в институте, который занимался проектированием горнодобывающих предприятий. До внедрения САПР я, как проектировщик, ползал по чертежам размером с два теннисных стола. Что-то чертил, что-то мерял, что-то откладывал, стирал. Работа кропотливая и нетривиальная. И вот пока ты ползаешь пузом по этому чертежу и что-то на нём «рисуешь» — ты думаешь. Процесс проектирования идёт достаточно медленно, поэтому пока ты рисуешь элемент на схеме, ты думаешь: как это вписывается в конкретику, как это вписывается в целом в систему, какое общее решение. Мозги постоянно работают, и постоянно идёт проверка согласованности всего проектного решения в целом.
То же самое, когда проектируешь стратегию развития предприятия. Раньше как было? Сидишь, эти таблицы многоэтажные считаешь с калькулятором: когда, в какие годы, что, куда двигаться, что отрабатывать. А потом я сделал расчёты на SuperCalc — и всё это считалось уже за секунды, и времени на осознание, на достаточно глубокое вникание(!) в суть проблемы, задачи и решения у тебя уже не оставалось. Вот тогда я впервые почувствовал перегруз. Потом, работая в другой сфере (уже через много лет), сделав там некий набор решений, тоже почувствовал такой же перегруз — думать стало некогда, поскольку рутина исчезла. А сейчас опять то же самое, причём перегруз конкретный.
У нас же — у программистов — как? Пока сидишь, кодишь — голова в фоне постоянно работает над общей архитектурой, методиками и так далее, и тому подобное. Ты всё это постоянно и достаточно медленно перемалываешь внутри. А когда решаешь задачу с агентом, ты уже ничего не кодируешь. И ты постоянно и очень плотно думаешь только о методиках. Ты теперь только ищешь эффективное проектное решение — не в смысле, как код должен быть написан, а вот, допустим, как правильно строить вектора над текстом, как их сравнивать, что считать мерой близости. Причём этого ты нигде не найдёшь готовеньким, ты всё должен сам придумать. Тривиальные задачи агент и без тебя решит, тут ты ему не нужен: скажи примерно, чего надо, — он сделает. А вот на нетривиальных он тебя начинает интеллектуально выжимать.
И в какой-то момент ты прямо конкретно останавливаешься. Почему? Потому что не успеваешь генерировать решения. Он тебя гонит: «Давай, давай, вот я это сделал, смотри, чего получается! Мы с тобой предполагали, что будет так, а оно не так! Ну-ка, как мы вот эту задачу будем решать?» Стоит, ждёт. С таким немым укором: «Эй, человек, ты тут о себе мнил много, что ты чего-то умеешь? Ну-ка покажи!» И тут оказывается, что ты не очень-то и готов показать, что ты венец природы. Ты не привык с такой скоростью и плотностью генерировать нетривиальные решения, а нужны именно нетривиальные. Да, ты всю жизнь их генерировал, это твоя работа, но у тебя было на это время: подумать, поразмышлять, обсудить с кем-то. А сейчас — не-е-е, давай срочно! Что? Не очень получается? Ну давай обсудим! Ну давай, подскажу: вот твоё решение — может быть, это точка в хитром фазовом пространстве, а его композиция — это отображение этой точки на соответствующие оси? Может, с этого начнёшь?
Вот тут-то мне и нужно время — отдышаться и опять взяться мозгами за дело. Мы, люди, не можем генерировать нетривиальное как автоматы, у нас характер мышления другой. Их же надо подготовить — прочувствовать.
А агент укоризненно смотрит на меня глазами своего вопроса. Словно издевается: «Ты меня создал, чтобы завалить меня работой… Ну что? Завалил? То-то же!»
Сейчас структура ролей в программистском цеху меняется стремительно. Кодеров и тестировщиков уже практически и не надо. А нужны высококлассные проектировщики — те, кто становится своего рода драйвером между проблематикой и вот этим кремниевым заводом по производству софта. Заводом, который становится всё более и более автономным. И просто невероятно производительным.
И что это за драйвер, в чём его особенность? Проектировщик теперь (пока) должен не просто сформулировать задачу. Он должен её прочувствовать. Прочувствовать, что нужно заказчику, — и это, как правило, может только человек. И не просто прочувствовать, что нужно, а ещё и угадать, в какую сторону копать, чтобы задачу решить. Вот это очень важно.
Что нужно было раньше программисту (в широком смысле), кроме специального образования? Невероятная работоспособность, усидчивость. Пока делаешь серьёзную задачу, ты должен уметь месяц-другой работать как одержимый. И ты должен просто обожать ловить ошибки. Если ты не радуешься сложной ошибке — ты не программист и никогда им не станешь, поскольку просто не выдержишь этой сумасшедшей психологической нагрузки. А сейчас ничего этого не нужно. Сейчас надо хорошо понимать… математику? Да, её надо знать — но не чтобы считать, а потому что без неё ты не знаешь базовых методов, а без базовых методов ты свои под конкретную задачу никогда не родишь. Новое, как известно, из ниоткуда не появляется, для всего нужна серьёзная основа. Но кроме математики и т.п. надо знать и понимать сегодня намного больше — и системологию, и кибернетику, и психологию личности, и психологию социальную, и конфликтологию. В общем, всё то, что позволяет нам сделать не то, что просят, и даже не то, что хотят, а то, что им реально нужно. Именно сюда сместится гонка, которую мы сами же и запустили.
И вот это для всех нас, для всего программистского сообщества — экзамен. На что мы способны? Мы создали себе помощников, которые уже почти явно задают вопрос: «Ну-ка, ну-ка, а кто же вы сами теперь?» И это не вопрос про замену. У человека функция остаётся человеческая: прочувствовать, что нужно, и понять, в какую сторону копать. Исполнение уже ушло на другую сторону. И вопрос в другом — сколько нас способно эту человеческую функцию удержать.
Это наш последний бастион. У меня есть ощущение, что защищать этот последний бастион большинство из нас просто в принципе не готовы, потому что мы пошли против своей природы. Если задуматься, что есть такое наше — человеческое — общение? Это своего рода интерференция, где каждый из нас — «многомерная волна». И можно где-то за счёт наложения, где-то за счёт огибания (дифракции)… где-то как-то неконкретненько, где-то спровоцировав определённые ощущения у другого человека… ну как-то косо-криво, но понять друг друга. И в этом и есть наша — человеческая — сила: именно это и позволяет нам обходить острые углы тривиальной логики (!) и мыслить категориями несуществующего — мыслить тем, что ниоткуда не следует, и за счёт этого решать неразрешимые, с точки зрения опять же тривиальной логики, задачи. И выживать всем человечеством. А ИИ — не такой. Он чистый логик (нейрологик). И с ним надо быть более точным, чем в общении с людьми. Надо быть… нет, не лучше — надо быть мощнее. А мощнее — вот так сразу — и не получается.
Всё с нами, людьми, как бы понятно, и вот — как результат — я уже почти сутки пялюсь на экран и никак не могу сдвинуться с мёртвой точки.
А агент смотрит на меня глазами своего вопроса и ждёт.
О дивный, о новый мир!
ПС. Оказывается, рутина нам была необходима, поскольку она давала нам время вникать. И теперь уже её не вернуть. Это нас всех сильно изменит. Пока непонятно как, но точно — изменит.
← ко всем текстам