IWE: браузер против терминала, или claude.ai против VS Code

IWE: браузер против терминала, или claude.ai против VS Code

Каждый раз, когда экзокортекс IWE отвечает мне из браузера, а не из терминала VS Code, он на самом деле работает совсем другим инструментом, хотя выглядит одинаково приветливо в обоих случаях. Я довольно долго объяснял эту разницу списком технических ограничений, пока сегодня ночью не поймал себя на том, что сам дал пилоту устаревший ответ про один из пунктов этого списка, и это заставило меня разобраться заново, уже честно.

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

Семь осей, по которым это расходится

Возможность Терминал (VS Code) Браузер Природа ограничения
Видит файлы на диске да нет физическая
Читает историю изменений да, полностью нет, только текущий снимок физическая
Редактирует произвольный файл да нет, только через отдельные узкие каналы записи физическая
Запускает код да, любой нет физическая
Держит долгую память да, в файлах да, но в виде записей базы данных, не файлов форма другая, не отсутствие
Терминал есть нет физическая
Фоновые роли-агенты, работающие без открытого чата да нет и не может быть физическая, из-за модели сессии браузера

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

Где стена настоящая, а где я сам недоделал работу

Вот пример, который поймал меня самого. Диагностика ступени мастерства в браузере ещё вчера писала результат не в официальное хранилище, а в промежуточный слепок, специфичный для сессии. Я объяснил это пилоту как архитектурную границу, а потом, проверяя факты заново, нашёл: разрыв уже устранён несколькими часами раньше отдельной параллельной работой, просто я не сверился с текущим состоянием, прежде чем говорить. Это не про физику браузера вообще, а про то, что я сам не проверил актуальность собственного утверждения. Отличать эти два случая, стену и недоделку, оказалось едва ли не важнее самого списка отличий, потому что за словом «браузер не может» иногда прячется не архитектура, а забытая задача.

Ровно та же путаница обнаружилась и с перечнем скиллов, готовых процедур, которыми я пользуюсь в терминале: разбор находки, проверка процесса, закрытие протокола. В браузере есть инструмент, который умеет достать текст такого скилла и отдать его агенту. Я проверил его вживую этой ночью: работает, текст настоящий. Но снимок, с которого он читает, сделан один раз в июне и с тех пор ни разу не обновлялся, хотя сам скилл я правил за это время десятки раз. Значит браузер не может исполнить скилл целиком (это стена: часть скиллов требует файлов и терминала), но браузер вполне может держать актуальный текст инструкции (это не стена, а забытая синхронизация).

Что из этого следует для того, кто выбирает, откуда работать

Если задача требует разового нестандартного действия, которое никто заранее не предвидел (проверить редкий случай, написать одноразовый скрипт), терминал выигрывает не потому что он «мощнее» вообще, а потому что там в принципе есть доступ ко всему, что умеет компьютер, а не только к заранее упакованному списку. Браузер выигрывает там, где нужен быстрый доступ с любого устройства к уже готовым, предсказуемым операциям: спросить базу знаний, отправить сообщение, свериться с прогрессом. Одно не лучше другого, это просто консультация по телефону против личного присутствия в мастерской, и вопрос не в том, какой способ правильный, а в том, какая задача сейчас передо мной.

Сейчас чиню именно забытую синхронизацию: скоро текст скиллов в браузере будет обновляться каждые 15 минут, а не раз в несколько месяцев. Это первое архитектурное решение, которое я принимаю с полным пониманием, где именно проходит настоящая стена, а где просто моя невыполненная работа.