Мы удалили 80% системного промпта. И модель стала работать лучше

Создатель Claude Code объяснил, почему инструкции моделям пора выбрасывать, а не писать. И показал два переписывания кодовой базы, которые шли одиннадцать и пятнадцать дней подряд.

Борис Черный на Startup School 2026. Кадр из видео Y Combinator · youtube.com/watch?v=qyPCVqFUyDo
Борис Черный на Startup School 2026. Кадр из видео Y Combinator · youtube.com/watch?v=qyPCVqFUyDo

Насмотренность 07/100

Борис Черни — создатель Claude Code в Anthropic. Разговор на 36 минут, за день до этого вышла Opus 5.

Что именно они удалили

Черни говорит про это буднично (03:34). Claude Code как продукт меняется постоянно, и каждый раз при выходе новой модели они выбрасывают часть системного промпта, меняют набор инструментов и промпты к ним.

Причина простая. Каждая модель ведёт себя иначе, и то, что вы написали для предыдущей три месяца назад, к следующей может не иметь отношения вообще.

Большая часть системного промпта была поправками на поведение, которое модель должна была знать сама, но не знала. Теперь знает (04:26).

Борис Черный | из ролика

Дальше он предлагает залу удалить и остальное. У Claude Code есть недокументированная переменная окружения, которая вычищает все системные промпты, включая промпты инструментов (04:48).

Они используют её как измерительный инструмент — чтобы понять, полезен ли промпт вообще. И вот что при этом обнаружилось.

Без этих промптов модель работает немного умнее (05:08).

Что осталось в коде обвязки у них сегодня: безопасность, права доступа, статический анализ и интерфейс (06:24). Остальное они вычистили.

Как пересобрать промпт под новую модель

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

А дальше — порядок, по которому промпт возвращается (07:39). Он важнее самого совета удалить.

  • Удалить
  • Пользоваться. Не угадывать, какая инструкция нужна модели — вы, скорее всего, угадаете неверно
  • Смотреть, где спотыкается. Не где могла бы, а где реально спотыкается на вашей задаче и вашей кодовой базе
  • Возвращать строку только когда она спотыкается об одно и то же повторно (08:15)

Причину, почему нельзя добавлять раньше времени, он называет прямо: модель читает эту инструкцию каждый раз при каждом запуске (08:23).

И общее наблюдение про то, чем это отличается от обычной инженерии (08:47). Раньше вы строили большие красивые системы, продумывали архитектуру заранее, писали набор тестов, а переархитектура была проектом на месяцы, иногда на годы.

Модель устроена не так. К ней стоит относиться как к живому существу: каждое поколение ведёт себя иначе, у него другой характер, и его нужно узнавать заново.

Отдельно про то, что при этом остаётся стабильным. Эвалы (метрики оценки) живут дольше обвязки, но ненамного — одно, два, максимум три поколения модели (09:35). Дальше эвал насыщается, его выбрасывают и придумывают новый.

Чем заменить инструкции

Самая частая ошибка, которую он видит (15:07): люди дают чрезмерно подробные указания. Сделай вот это, но вот таким способом, сначала один шаг, потом два, потом три, потом четыре.

Для современных моделей это просто неверный подход.

не правильно: пошаговый рецепт → модель выполняет ровно то, что вы придумали

правильно: задача + рамки + критерий выхода → и дать ей работать

Плюс правило, которое звучит контринтуитивно (14:52).

Давайте модели задачи чуть сложнее тех, на которые она, по-вашему, способна.

Типичный сбой у опытных инженеров он называет отдельно (24:20): чем дольше человек программирует, тем сильнее он переспецифицирует. Потому что раньше системы иначе и не строились.

То, что почти никто не делает правильно

Про смену модного навыка он говорит коротко (19:52). Год назад самой популярной вакансией был промпт-инженер, потом это стало контекст-инженером. Волны приходят и уходят.

А настоящий навык он формулирует так: дать Claude задачу, которая выглядит немного слишком трудной, и дать ему способ проверять свою работу по ходу дела.

Верификация — вероятно, единственное, что люди в основном делают неправильно (20:31).

Дальше он приводит два случая, и оба стоит разобрать по деталям.

Claude Code работает на Bun — альтернативе Node.js (16:06). Bun написан на Zig, системном языке уровня C, где память управляется вручную и легко получить утечки.

Сначала команда Bun просто просила Claude фаззить кодовую базу и провоцировать утечки. Находил, по одной за раз — таков был потолок модели тогда.

Потом инженер по имени Джаред решил проверить другое: а вдруг перепишет целиком. Он бросал эту задачу каждому новому поколению модели.

Начиная с Fable модель начала справляться (17:20).

Ключевая деталь — почему это вообще стало возможно проверить.

  • у Bun очень хороший набор тестов
  • у Node.js тоже большой набор тестов
  • значит, легко понять, правильно ли получилось

Дальше — один промпт и динамический воркфлоу (17:55):

///

переписать Zig → Rust, более 100 000 строк

работало 11 дней подряд

руками у лучших инженеров заняло бы больше года

///

Не с одного захода — Джаред подруливал. Но предыдущие модели не справились бы и с подруливанием (18:14).

Результат уже они занесли в продакшен. Именно на нём Claude Code сейчас и работает (18:33).

Феррис, маскот Rust. Именно на этот язык модель переписала рантайм Bun с Zig за одиннадцать дней непрерывной работы. Иллюстрация Karen Rustad Tölva · CC0 · Wikimedia Commons
Феррис, маскот Rust. Именно на этот язык модель переписала рантайм Bun с Zig за одиннадцать дней непрерывной работы. Иллюстрация Karen Rustad Tölva · CC0 · Wikimedia Commons

Пятнадцать дней и промпт из четырёх предложений

Второй случай — его собственный эксперимент (20:39). Десктопное приложение Claude сделано на Electron, и он захотел посмотреть, как ощущалось бы нативное.

Промпт он приводит целиком (21:37):

Перепиши приложение с Electron на Swift. Запусти Electron-версию в виртуальной машине с macOS, сделай скриншот, сравни со Swift-версией пиксель за пикселем. Не останавливайся, пока не закончишь.

Промпт Бориса Черни целиком · 21:37 · перевод

На вопрос, сколько это работало, он отвечает: всё ещё работает (хотя возможно к написанию статьи уже закончил :) ). На момент выступления — четырнадцать или пятнадцать дней (22:06).

Обратите внимание, что в этом промпте нет ни одной инструкции о том, как писать код на Swift.

Там есть только задача, окружение и способ проверить себя. Скриншот против скриншота, пиксель за пикселем.

Именно эта петля и позволяет процессу идти две недели, не застревая. Агентов при этом было запущено, по его оценке, тысячи или десятки тысяч (24:50).

Деталь напоследок: Claude сам решил вести отчёт о работе — создал внутренний канал в Slack и выкладывал туда скриншоты прогресса каждые несколько минут (22:51).

Claude, который чинит сам себя

Дальше про то, во что это превращается на масштабе (28:03).

В Anthropic завели канал в Slack, где Claude запускает регулярные задачи по поддержке собственных кодовых баз — консольной, iOS, Android и десктопной.

  • Чистка мёртвого кода. Промпт длиной в одно предложение. Каждый день ищет мёртвый код статическим и динамическим анализом и открывает пул-реквест на удаление. Анализ ему никто не подсказывал, он придумал сам (28:32)
  • Выкатка экспериментов, которые уже раскатаны на всех: удаляет ветвление из кода и отгружает
  • Написание тестов для мест без покрытия
  • Удаление тестов, которые не нужны — бесполезных, добавленных старыми моделями или людьми когда-то
  • Полиция абстракций. Ищет по всем базам почти одинаковые абстракции, которые за годы построили по-разному, и сводит их в одну (29:12)

Таких регулярных задач у них сейчас двадцать или тридцать, они идут ежедневно по всем кодовым базам (29:43).

Сотни агентов в день, иногда тысячи. Это работа, на которую раньше уходили десятки или сотни инженеров (29:59).

Цель, к которой они идут, — полностью автоматизированная поддержка приложений. Б. Черный говорит, что они ещё не там, но на этом пути.

Ещё раз

Вместо этого — эмпирика. Дать задачу, которая слишком трудна. Дать инструменты для проверки — те же, которыми пользовались бы вы сами. Посмотреть, где буксует. Починить: промптом, скиллом или, если не хватает контекста, доступом к нужным данным.

И честная оговорка про масштаб утверждений (30:50). «Программирование решено» — это про тот тип кода, которым занимается он сам. Но не для всех!

  • глубокий системный код Claude всё ещё буксует
  • распределённые системы тоже
  • выверка интерфейса до пикселя, тут Opus 5 сильно прибавил в зрении, но идеала нет

Чему всё ещё учиться руками

Что студентам всё ещё осваивать по-старому (32:41)?

Черный отвечает своей историей. Программировать он научился в средней школе на калькуляторе TI-83, на бейсике. Причина была практическая: он хотел лучше сдавать контрольные по математике и написал решатель.

TI-83 Plus. На таком Черни написал первый решатель уравнений — чтобы списывать на контрольных, а потом раздал программу одноклассникам по кабелю. Фото Hannes Grobe · CC BY-SA 3.0 · Wikimedia Commons
TI-83 Plus. На таком Черни написал первый решатель уравнений — чтобы списывать на контрольных, а потом раздал программу одноклассникам по кабелю. Фото Hannes Grobe · CC BY-SA 3.0 · Wikimedia Commons

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

Вывод из этого он делает такой.

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

А про сам подход к моделям — то, что он повторяет в разговоре чаще всего (31:38). Забудьте всё, что знали о прошлых моделях. Забудьте теорию, которую учили на курсе. Посмотрите на модель, попробуйте задачу, увидьте, где она буксует, и подстройтесь.

Это перестало быть теоретической наукой. Это стало наукой опытной.

<< Спасибо, что дочитали, дальше будет больше разборов других выступлений Startup School ! >>

11