Я знаю, что многое я не знаю. Но чего именно я не знаю - я не знаю.Недавно у Антропика вышла классная
статья. В ней автор приходит к тому, что главный навык агентного кодинга сейчас - выявлять то, что ты не знаешь (свои «unknowns»).
Потому что сегодня агенты настолько хорошо выполняют работу, что зачастую именно человек становится узким горлышком.
Статья позиционируется как гайд по кодингу с Fable, но я в нем вижу основу для классного философико-психологического эссе на тему:
что происходит с человеком, когда рядом появляется система, способная действовать быстрее, дальновиднее и местами лучше него.
Поэтому давай поразгоняем его с тобой на общем уровне.
Контекст любой задачи состоит из компонентов, которые можно представить в виде матрицы 2х2, и делит все вводные на:
🔘
Известные известные - то, что мы знаем и сознательно передаем в инструкциях и контексте.
🔘
Известные неизвестные - то, что мы пока не знаем, но осознаем это незнание и предполагаем, что узнаем в процессе.
🔘
Неизвестные известные - то, что мы предполагаем как очевидное, и часто забываем передавать в инструкциях.
🔘
Неизвестные неизвестные - то, что мы пока даже не осознаем.
В человеческой природе зашито стремление закрывать неопределенность. То есть, находить неизвестные и превращать их известные, потому что неизвестное вызывает тревогу:
я не могу валидировать результат -> я не могу это контролировать -> я не компетентен -
> меня сожрет медведьИ мы идем идем обычно одним из следующих путей:
✅ либо на основе того пути, который нам известен, превращаем это в списки требований, инструкции, критерии - короче, в жесткие структурные промпты. То есть, в Известные известные.
❌ либо не начинаем действовать, пока не потратим часы на то, чтобы самим разобраться с неизвестными.
Оба поведения были логичны тысячелетиями, пока мы работали с системами (моделями, людьми и даже миром вокруг), результат которых все равно надо было полностью проверять.
И вот мы все чаще встречаемся с системами, способными выполнить отдельную задачу лучше, чем мы сами - или по крайней мере лучше, чем мы способны полностью проверить.
А мы пытаемся загнать эти системы в рамки и заставить идти по пути, который выбрали мы, который может быть не только неоптимальным, но и в целом ошибочным для конкретной задачи.
Есть и другая сторона - когда мы откидываемся в кресле и говорим агенту "сделай, как считаешь нужным". И он сделает, в среднем как делают все, и это даже будет работать, но таким проходным среднячком, что вряд ли понравится.
- Так какой путь правильный?- Да никакой. Истина в балансе.
И я бы сформулировал это так:
Мы хорошо знаем, зачем идём, но не притворяемся, что заранее знаем, куда именно должны прийти и каким путём.
Иными словами, мы должны быть в определенной синергии с агентом, где:
1️⃣Человек задает цель и ограничения, но не превращает свой опыт в единственно возможный путь
2️⃣Человек доверяет агенту и не боится спрашивать, чтобы закрыть области незнани.
3️⃣Агент выбирает путь сам, но учитывает цель и рамки человека.
4️⃣Агент называет свои предположения, ищет противоречия и показывает слепые зоны.
5️⃣Человек не боится давать автономию агенту при столкновении с неизвестным. И позволяет агенту оспаривать свою картину мира.
И главное помнить - что неизвестные далеко не всегда следует устранять. И человеку нужно научиться жить внутри неопределённости, без раздражённого стремления немедленно свести всё к фактам и объяснениям.