W
WisyLink
ПродуктЦеныAPIБлогКонтакты
Все записи

WisyLink Блог

last-mile-executiondemo-to-productionedge-casesfield-observationintegration-work

Проблема 70%: почему сгенерированное ПО нуждается в человеческом последнем километре

Проблема 70% описывает, как генерация доводит сборку до почти рабочего состояния, затем интеграция, крайние случаи и неуказанный остаток остаются упорно человеческими.

10 июн. 2026 г.8 мин. чтение
Проблема 70%: почему сгенерированное ПО нуждается в человеческом последнем километре

Проблема 70% — это наблюдение, что генерация обычно доводит сборку ПО до близкого к рабочему состоянию, затем застревает на остатке, который сопротивляется автоматизации. Эта последняя доля — не просто меньше та же самая кодовая база в меньшем масштабе. Это качественно другая работа: интеграция, граничные случаи, устойчивость к продакшн-нагрузке и та часть, которую никто не посчитал нужным явно задать. Первый этап вознаграждает беглость; последний — суждения, и суждения не сжимаются так же, как шаблоны.

  • Первый 70% — это хорошо заданная внешняя часть; остаток — неуказанная внутренняя часть.
  • Демонстрация доказывает «счастливый путь» и скрывает условия, которые приводят к сбою.
  • Граничные случаи множатся быстрее, чем любой промпт может их перечислить.
  • Интеграционные трения живут между системами, где ни один генератор не может видеть всё.
  • Укрепление продакшна в основном заключается в защите от входных данных, которые никто не описал.
  • Фигура движется со временем, но форма сложности не меняется.

Почему последний участок отличается

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

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

Существуют также эффекты обратной связи. Ранний код генерируется быстро, поэтому накапливается быстро, и объём сам по себе становится местностью, которую нужно пересечь. Сборка, материализующаяся за минуты, по-прежнему должна быть понятой за часы. Читатель приходит к структуре, которую не писал, с соглашениями, которые он не выбирал, и затраты на понимание наступают в тот момент, когда начинаются тяжёлые решения.

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

Чему демонстрация скрывает, а продакшн выявляет?

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

Разрыв широк, потому что рабочая демонстрация и рабочая система выглядят одинаково, но структура у них различна. Демонстрация оптимизирует под видимое. Система должна учитывать невидимое — повторные попытки, идемпотентность, тайм-аут, который срабатывает раз в неделю, миграцию, которая должна идти параллельно с трафиком. Ничего из этого не видно в записи экрана.

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

Разрыв также имеет восприятельную стоимость. Убедительная демонстрация устанавливает ожидание почти готовности работы, из-за чего оставшаяся часть кажется регрессией, а не основным объёмом задач. Заинтересованные стороны видели, что это работает. Расстояние между этим моментом и надёжной системой реально, но его трудно обосновать, потому что оно невидимо для тех, кто смотрел только на выполнение.

Почему самая тяжёлая часть живёт в том, что никто не указал?

Неуказанный остаток относится к поведению системы, которое должно быть, но никогда не было записано в какой-либо запрос. Это крупнейший источник затрат на последнюю милю, потому что его нельзя сгенерировать из запроса, не содержащего его. Генератор отвечает на задачу, которую ему задали. Сложная часть — это вопрос, которого никто не подумал спросить.

Спецификация дорогая именно там, где она важна. Никто не описывает, что делает оформление заказа, когда платежная поверхность подтверждает платеж, но запись заказа терпит неудачу, потому что никто не хочет думать об этом, пока это не случится. Так что разрыв между заявленным намерением и требуемым поведением становится работой. Кто-то должен заметить отсутствие, назвать его и принять решение.

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

Счастливый путь
Единственная последовательность событий, которую демонстрация строится показывать, когда всеDependencies работают.
Неуказанный остаток
Поведение, которое система должна демонстрировать, но ни одно обращение, подсказка или тикет не описывал.
Шов интеграции
Граница между двумя системами, где предположения относительно другой стороны оставлены без явного описания.
Укрепление продакшна
Работа по тому, чтобы сгенерированная структура выживала под входами, сбоями и нагрузкой, которые не были показаны.

Куда перемещается человеческий труд, когда генерация охватывает первую 70%?

Усилия не исчезают; они мигрируют. Когда ранняя, хорошо заданная масса сборки генерируется за минуты, человеческие часы, которые раньше уходили на набор, переходят к тем видам деятельности, где генерация слабее. Чтение незнакомого кода становится основной компетенцией. Решение того, что система должна делать на краях, становится редким вкладом.

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

Это также меняет, что ценится в опыте. Ценность того, что видел множество систем сбоев, не переходит к генератору; она живёт в человеке, который распознаёт знакомый запах в незнакомом коде. Это узнавание позволяет взглянуть на сгенерированный поток и почувствовать, еще до запуска тестов, где он даст сбой. Ранний код становится товарами; инстинкт к его краям остаётся некоммерциализированным.

СвойствоПервый 70% (генерируемый)Последние 30% (человек)
СпецификацияЯвная, общая, читаемаяНеявная, редкая, спорная
Доминирующая деятельностьСоздание структурыОграничение поведения
Видимость сбоевОчевидна на демоСкрыта до продакшна
Драйвер затратОбъем кодаГлубина суждения
СжимаемостьВысокаяНизкая

Как команды целенаправленно проходят последний участок?

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

  1. Картировать стыки: перечислить каждую границу, на которой сборка касается системы, которой она не управляет.
  2. Перечислить входы, которые демонстрация никогда не использовала, особенно некорректные, пустые и дубликаты.
  3. Проследить каждый путь сбоя до решения: повторить попытку, отклонить, деградировать или вывести на поверхность.
  4. Сделать неявное явным, выписав поведение, которое никто не описал, а затем выбрать его.
  5. Прогонять результат под реальной конкурентностью и реальной нагрузкой, прежде чем объявлять его завершённым.

Каждый шаг превращает неизвестное в сформулированное намерение. Сгенерированные 70% дают вам объект для анализа; эта процедура — анализ. Она медленнее, чем генерация по дизайну, потому что её продукт — уверенность, а не поверхностное понимание.

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

К чему приближается граница последнего мили по мере улучшения генерации?

Граница не растворяется; она перемещается вверх. По мере того как генерация охватывает всё больше хорошо заданной середины, انسانی рубеж смещается к тем частям, которые всегда были наименее описуемы — к решениям на основе суждений, семантике ошибок, решениям о том, что системе должны давать пользователям, когда что-то ломается. Процент может расти. Характер остатка становится сложнее, не легче, потому что то, что остаётся, — это остаток всего того, что сопротивлялось спецификации.

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

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

ЧАВО

Часто задаваемые вопросы

Является ли цифра 70% фиксированным числом?
Нет. Цифра обсуждается и имеет тенденцию двигаться по мере совершенствования генерации. Что остаётся стабильным, — это форма сложности: где заканчивается явная спецификация, там автоматизация замедляется, независимо от точного процента в данный момент.
Почему генерация может построить демо, но не завершить приложение?
Демо выполняет один выбранный путь в условиях, благоприятных для этого, что генерация обрабатывает хорошо. Финализация требует неуказанного поведения при враждебной входной нагрузке и частичных сбоях, чего нельзя получить из запроса, который этого не описал.
Что такое разрыв между демонстрацией и продакшном?
Это расстояние между артефактом, показывающим один рабочий путь, и системой, которая выдерживает все пути сразу. Разрыв содержит повторные попытки, идемпотентность, миграции и редкое обработку тайм-аутов, которое не показывается на экране.
Исчезает ли человеческий труд по мере генерации большего количества кода?
Он relocates, а не исчезает. Часы переходят от создания первых черновиков к чтению, верификации и принятию решений по отказам, делая суждение и рассуждение об ошибках редким вкладом.
Как команда может уменьшить сюрпризы на последнем километре?
Рассматривайте сгенерированную сборку как гипотезу для опровержения. Картикуйте каждый шов интеграции, перечисляйте входы, которые демонстрация никогда не использовала, и явно зафиксируйте неуказанное поведение перед тем, как подвергать результат реальной нагрузке.
Поделиться
XLinkedInFacebook
На этой странице
  1. Почему последний участок отличается
  2. Чему демонстрация скрывает
  3. Неуказанный остаток
  4. Куда перемещается человеческий труд
  5. Преодоление последнего участка
  6. Что становится границей

Документация

  • Обзор
  • API
  • CLI
  • GitHub
  • npm

Блог

  • Читайте блог
  • Один и тот же запрос, разные результаты: воспроизводимость в продакшне
  • Доказательство происхождения медиа, созданных машиной
  • Инжиниринг контекста: от шлифовки промптов к информационной архитектуре
  • Агенты, использующие инструменты: ИИ от ответа к действию

Юридическая информация

  • Конфиденциальность
  • Условия использования
  • Компания

Продукт

  • Возможности
  • Цены
  • Контакты
  • Инженерия
WisyLink © 2026·
Создано с ❤️ нашей командой