Три скорости
Редактор с агентом внутри отличается от редактора без него не набором возможностей, а тем, что модель сидит там же, где вы. Она видит открытый файл, выделенный кусок, соседние файлы проекта и то, что вы только что напечатали. Из этого вырастает всё остальное.
Работать с ней можно тремя способами, и различать их стоит с первого дня.
Дописывание. Вы печатаете, редактор предлагает продолжение — строку, две, иногда десяток. Вы либо соглашаетесь одной клавишей, либо продолжаете печатать своё, и предложение исчезает. Это самая быстрая скорость и самая незаметная: за день таких предложений сотни.
Правка выделенного. Вы показываете кусок кода и говорите словами, что с ним сделать: «вынеси в функцию», «добавь обработку пустого списка», «перепиши через цикл». Редактор меняет ровно этот кусок и показывает, что изменилось.
Поручение. Вы называете задачу целиком — «добавь в отчёт колонку процента» — и агент сам решает, какие файлы тронуть. Вы читаете результат как чужую правку.
Отсюда главная мысль урока, к которой курс будет возвращаться: скорость выбирают, а не получают. Редактор не решает за вас, каким способом работать; он предлагает все три одновременно, и выбор делается каждые несколько минут.
Ошибка, из которой растёт половина разочарований, — выбрать одну скорость и работать только ею. Кто остался на дописывании, получил быстрый набор и ничего больше. Кто ушёл на одни поручения, целыми днями читает чужой код и устаёт сильнее, чем когда писал сам.
И последнее в этой главе — про то, чего в списке нет. Четвёртой скорости — «сделай мне продукт» — не существует, хотя её ждут. Задача, для которой вы не можете сформулировать условие и признак готовности, не решается ни одной из трёх: вы не сможете принять результат, потому что не знаете, каким он должен быть.
Как выбирают скорость
Теперь как выбирают. Правило помещается в два вопроса, и оба про вас, а не про задачу.
Первый вопрос: знаю ли я, что должно получиться? Если да — работают быстрые скорости. Если нет, дело не в редакторе: сначала надо понять задачу, и это разговор с людьми, а не с моделью.
Второй вопрос: сколько мне придётся прочитать после? Одна строка — дописывание. Десяток строк в одном месте — правка выделенного. Несколько файлов — поручение, и вместе с ним чтение диффа целиком.
| Задача | Скорость | Почему |
|---|---|---|
| дописать цикл, который начал | дописывание | замысел ваш, читать нечего |
| заполнить однотипный набор полей | дописывание | повтор, который вы видите глазами |
| вынести кусок в функцию | правка выделенного | границы известны, результат — десяток строк |
| обработать пустой список вот здесь | правка выделенного | место названо, изменение мелкое |
| добавить колонку в отчёт | поручение | файлов несколько, где именно — неизвестно |
| починить вот эту поломку | поручение | надо сначала найти место |
Четвёртая и пятая строки стоят внимания. Обе выглядят как «мелочь» и потому часто уходят в поручение — а поручение на мелочь обходится дороже самой мелочи: агент прочитает половину проекта, тронет три файла и вернёт дифф, который надо читать пять минут вместо тридцати секунд.
Обратный перекос тоже встречается и стоит дороже. Задача на несколько файлов, которую делают выделением, разваливается на десяток мелких правок, и между ними теряется целое: поправили три места из пяти, два забыли, и узнали об этом через неделю.
Признак этого перекоса простой: вы делаете четвёртую однотипную правку подряд и ловите себя на мысли «ещё где-то такое было». Это и есть момент, когда надо было отдать задачу целиком.
И одно правило, которое избавляет от половины неудачных поручений: если вы не можете назвать признак готовности, скорость не важна — задача не готова. «Сделай лучше», «почини стиль», «оптимизируй» — это не условия. Что должно получиться и как вы это проверите, решается до того, как открыт любой из трёх способов.
Что меняется в дне работы
Теперь про то, что меняется в обычном рабочем дне. Этого ждут неправильно, и стоит сказать прямо.
Набор текста сжался. То, что занимало половину дня, занимает час. Это правда, это заметно с первого дня, и это единственное, что обычно ожидают.
Чтение выросло. Раньше вы читали в основном свой код — тот, что сами и написали десять минут назад. Теперь заметная часть дня уходит на чтение кода, который написали не вы, и это чтение другого рода: своё проверяется на «то ли я хотел», чужое — на «то ли оно делает».
Решений стало на порядок больше. И вот это — настоящая перемена, о которой не предупреждают. Каждое предложение дописывания — решение: принять или нет. Каждая правка выделенного — решение. Каждый дифф поручения — десяток решений.
Как сделать меньше решений — три приёма, и все три возвращаются в следующих уроках.
Первый: выключать дописывание там, где оно мешает. В коде, который вы пишете по готовому образцу, предложения полезны. В коде, который вы придумываете на ходу, каждое предложение — это прерывание мысли, и цена его выше пользы.
Второй: собирать поручения крупнее. Три поручения по десять минут — это три чтения диффа. Одно поручение на полчаса — одно чтение, и оно вдвое короче суммы трёх.
Третий: написать правила проекта один раз. Половина мелких решений — это одни и те же поправки: «у нас не так называют», «у нас для этого есть свой способ». Записанные один раз, они перестают возникать.
И честная оговорка про то, что не меняется вовсе. Понимание задачи, проверка результата и ответственность за то, что ушло к людям, занимают ровно столько же, сколько занимали. Об этом отдельный разговор в последней главе — и он важнее всего остального в уроке.
Границы и место курса
Последняя глава урока — про границы. Их стоит назвать сразу, чтобы дальше курс читался спокойно.
Редактор не знает вашей предметной области. Он видит код и не видит того, ради чего код написан: что «закрытый период» нельзя пересчитывать, что этот клиент платит по особому графику, что выгрузку открывают в древней программе. Всё это живёт у людей, и поставить задачу вместо вас он не может.
Он не проверяет результат по существу. Он может запустить тесты и прочитать ошибку — это полезно и дальше будет отдельный урок. Но «отчёт сошёлся с бухгалтерией» проверяет человек, и ничего, кроме человека, этого не проверит.
Он не отвечает. Правка, которую вы приняли, — ваша, кто бы её ни набирал. Это не морализаторство, а практическое обстоятельство: из него следует, что принимать непонятое нельзя, и весь курс дальше — про то, как устроить работу так, чтобы этого не приходилось делать.
Теперь — про место этого курса среди соседних, потому что вопрос возникает сразу.
| Курс | Про что |
|---|---|
| этот | рабочее место: три скорости, контекст, правила, приёмка в редакторе |
| «Codex» | взаимодействие с исполнителем: поручение, чтение изменений, решение |
| «Codex: продукты и практика» | виды работы: вход в проект, починка, тесты, выкладка |
| «ИИ-Инжиниринг» | система вокруг агента: слои, бюджеты, наблюдаемость |
Пересечений почти нет, и курсы читаются в любом порядке. Здесь — про то, как устроено рабочее место и что в нём выбирают каждые несколько минут.
И последнее, про порядок чтения. Уроки идут в том порядке, в каком с ними сталкиваются: сначала как устроен контекст и три скорости по отдельности, потом правила и приёмка, потом чужой проект, проверка и терминал, потом деньги, модели и команда, и в конце — сборка своего рабочего дня.
Читать подряд не обязательно. Урок про правила проекта или про деньги читается отдельно и целиком; связки между уроками названы словами, а не подразумеваются.
И одно обещание, которое стоит дать в начале, потому что без него курс про инструмент читается с недоверием. Здесь не будет советов вида «пишите промпты правильно». Формулировка поручения важна, и о ней говорится там, где она решает дело, — но главное в работе с редактором решается не словами в поручении, а выбором скорости, устройством контекста и тем, как вы принимаете результат.
Проверить это легко на собственном опыте: две трети неудачных заходов кончаются не потому, что фраза была неточной, а потому, что агент не видел того, что нужно было увидеть, или потому, что задача была не готова. Первому посвящён следующий урок, второму — весь порядок, который вы уже прочитали в этом.