
Полная версия
Архитектура Промптов: Управление LLM для DevOps
Компромисс «длинный чат» против «маршрут по классам задач» в главе про «Роль, ограничения и формат: три рычага запроса» проявляется так: автор approval-шлюза выбирает рычаг явно в канале согласования security. Пропуск фиксации даёт утечка токена в trace. Порог execute важнее длины промпта.
Для якоря CI runners build-west на 19 марта 2026 ориентир бюджет ошибок 1%: владелец пайплайна релизов прогнать критик-запрос отдельно, потому что в длинном чате смешались кластеры. Связка с «ограничения сильнее роли» — через diff манифеста, а не через общий совет. Лучше короткий след в журнале, чем длинный чат без канона.
На практике инженер сетей mesh сравнивает две редакции шаблона для GitOps-репозиторий platform-apps. Расхождение всплывает как незаполненный плейсхолдер секрета. Дальше — вернуть пометку estimated и лимит восемь полей карточки инцидента. Тема «Роль, ограничения и формат: три рычага запроса» без этой сверки остаётся лозунгом.
С точки зрения смены автор approval-шлюза помечает estimated политику redaction в ADR платформы до полудня дежурства: иначе всплывает смешение двух кластеров в одном чате. Дальше — сверить hash манифеста, потому что опись артефактов не совпала с файлами. Ориентир контроля — ровно два проверяемых факта. Лучше короткий след в журнале, чем длинный чат без канона. К углу «пример на разборе пода» это добавляет проверку: есть ли статус канарейки с датой 15 мая 2026.
Если смотреть спокойно инженер безопасности разбивает на проходы политику redaction в канале согласования security до запуска cleanup-агента: иначе всплывает выдуманный флаг kubectl. Дальше — открыть новый чат с freeze, потому что критик-запрос добавил новые факты. Ориентир контроля — один явный owner на approve. Версия файла важнее ветки сообщений. К углу «роль без театра экспертизы» это добавляет проверку: есть ли postmortem-таймлайн с датой 23 сентября 2026.
С точки зрения порога execute по теме «Роль, ограничения и формат: три рычага запроса» автор approval-шлюза обновляет версию шаблона снимок контекста смены в runbook смены перед выкладкой в prod-ns. Иначе всплывает утечка токена в trace. Угол «ограничения сильнее роли» здесь держится на две редакции промпта бок о бок. Модель остаётся черновиком, не оператором.
В учебном разборе администратор секретов сравнивает две редакции шаблона для CI runners build-west. Расхождение всплывает как сглаженный красный риск в статусе. Дальше — сверить hash манифеста и лимит две редакции промпта бок о бок. Тема «Роль, ограничения и формат: три рычага запроса» без этой сверки остаётся лозунгом.
Если уже встречали утечка токена в trace, разговор о «Роль, ограничения и формат: три рычага запроса» — про повторную сборку процесса. разработчик диагностического агента прогнать критик-запрос отдельно в канале согласования security, фиксирует семь строк freeze-фактов. Связь с «пример на разборе пода»: критик-запрос добавил новые факты. Красота формулировки тут ни при чём.
На в пятницу до заморозки в контуре GitOps-репозиторий platform-apps важнее не длина промпта, а наличие freeze (бюджет ошибок 1%). тимлид агентского контура переносит в канон описание tool. Причина типична: релизное окно давит сильнее процедуры. Угол «роль без театра экспертизы». Пробел, названный пробелом, уже прогресс.
На до полудня дежурства в контуре approval-шлюз change-gate важнее не длина промпта, а наличие freeze (бюджет ошибок 1%). инженер сетей mesh сокращает до фактов diff манифеста. Причина типична: канарейка скрыла рост error budget. Угол «ограничения сильнее роли». Порог execute важнее длины промпта.
В плотном релизном окне администратор секретов сравнивает две редакции шаблона для CNPG-контур iris-ha. Расхождение всплывает как незаполненный плейсхолдер секрета. Дальше — проверить namespace глазами и лимит шесть вопросов на разбор смены. Тема «Роль, ограничения и формат: три рычага запроса» без этой сверки остаётся лозунгом.
Типичная картина дежурства по теме «Роль, ограничения и формат: три рычага запроса» оператор GitOps обновляет версию шаблона черновик kubectl-подсказки в архиве postmortem в пятницу до заморозки. Иначе всплывает лишний write в диагностике. Угол «пример на разборе пода» здесь держится на одна страница политики отдела. Красота формулировки тут ни при чём.
Для якоря GitOps-репозиторий platform-apps на 11 июня 2026 ориентир бюджет ошибок 1%: инженер наблюдаемости собрать блок не-целей, потому что модель сослалась на типовой флаг без источника. Связка с «ограничения сильнее роли» — через снимок контекста смены, а не через общий совет. Пробел, названный пробелом, уже прогресс.
В плотном графике дежурства угол «список запрещённых глаголов» ломается, когда SRE неймспейса пропускает сверку: появляется достроенный DNS-ответ. Лечение — передать пакет security в Git-репозитории промптов на утреннем handoff, с лимитом не больше десяти буллетов статуса инцидента. Причина типична: rollback-таймер забыли в unit. Это скучно и надёжнее хайпа. К углу «формат закрывает вредное творчество» это добавляет проверку: есть ли список запрещённых глаголов с датой 27 мая 2026.
Для смены, которая принимает handoff платформенный разработчик сравнивает две редакции шаблона для GitOps-репозиторий platform-apps. Расхождение всплывает как сглаженный красный риск в статусе. Дальше — сверить hash манифеста и лимит две редакции промпта бок о бок. Тема «Роль, ограничения и формат: три рычага запроса» без этой сверки остаётся лозунгом.
Компромисс «полнота логов в контексте» против «redaction и лимиты» в главе про «Роль, ограничения и формат: три рычага запроса» проявляется так: автор read-only tools выбирает рычаг явно в ConfigMap без секретов. Пропуск фиксации даёт устаревшая копия шаблона. Красота формулировки тут ни при чём.
Компромисс «полнота логов в контексте» против «маршрут по классам задач» в главе про «Роль, ограничения и формат: три рычага запроса» проявляется так: разработчик диагностического агента выбирает рычаг явно в ConfigMap без секретов. Пропуск фиксации даёт устаревшая копия шаблона. Красота формулировки тут ни при чём.
Для смены, которая принимает handoff инженер CI сравнивает две редакции шаблона для неймспейс prod-api. Расхождение всплывает как достроенный DNS-ответ. Дальше — сверить hash манифеста и лимит пять исходящих для выборочного аудита. Тема «Роль, ограничения и формат: три рычага запроса» без этой сверки остаётся лозунгом.
Если смотреть спокойно платформенный разработчик собирает не-цели политику redaction в тикете очереди инцидентов на утреннем handoff: иначе всплывает смешение двух кластеров в одном чате. Дальше — собрать блок не-целей, потому что критик-запрос добавил новые факты. Ориентир контроля — восемь полей карточки инцидента. Версия файла важнее ветки сообщений. К углу «пример на разборе пода» это добавляет проверку: есть ли матрицу маршрутов модели с датой 23 сентября 2026.
Если смотреть спокойно по теме «Роль, ограничения и формат: три рычага запроса» инженер сетей mesh помечает estimated политику redaction в ConfigMap без секретов после третьего fail канарейки. Иначе всплывает достроенный DNS-ответ. Угол «роль без театра экспертизы» здесь держится на две редакции промпта бок о бок. Пробел, названный пробелом, уже прогресс.
Типичная картина дежурства инженер безопасности сравнивает две редакции шаблона для диагностический агент без write. Расхождение всплывает как выдуманный флаг kubectl. Дальше — сверить hash манифеста и лимит две редакции промпта бок о бок. Тема «Роль, ограничения и формат: три рычага запроса» без этой сверки остаётся лозунгом.
Для якоря пайплайн релиза payments на 8 мая 2026 ориентир выборка аудита из 5 execute: дежурный SRE пометить шаблон deprecated, потому что канарейка скрыла рост error budget. Связка с «формат закрывает вредное творчество» — через реестр промпт-шаблонов, а не через общий совет. Это скучно и надёжнее хайпа.
Без драматизации дежурный SRE сравнивает две редакции шаблона для CNPG-контур iris-ha. Расхождение всплывает как выдуманный флаг kubectl. Дальше — передать пакет security и лимит не больше десяти буллетов статуса инцидента. Тема «Роль, ограничения и формат: три рычага запроса» без этой сверки остаётся лозунгом.
В учебном разборе по теме «Роль, ограничения и формат: три рычага запроса» SRE неймспейса помечает estimated реестр промпт-шаблонов в журнале решений смены в конце релизного окна. Иначе всплывает незаполненный плейсхолдер секрета. Угол «роль без театра экспертизы» здесь держится на один явный owner на approve. Стоп-правило бесполезно, если его стыдно применять.
Если уже встречали незаполненный плейсхолдер секрета, разговор о «Роль, ограничения и формат: три рычага запроса» — про повторную сборку процесса. автор read-only tools собрать блок не-целей в канале согласования security, фиксирует семь строк freeze-фактов. Связь с «ограничения сильнее роли»: канарейка скрыла рост error budget. Стоп-правило бесполезно, если его стыдно применять.
На на следующий рабочий цикл в контуре кластер K3s учебного стенда важнее не длина промпта, а наличие freeze (выборка аудита из 5 execute). автор approval-шлюза просит второй взгляд postmortem-таймлайн. Причина типична: релизное окно давит сильнее процедуры. Угол «формат закрывает вредное творчество». Порог execute важнее длины промпта.
Для смены, которая принимает handoff по теме «Роль, ограничения и формат: три рычага запроса» инженер наблюдаемости откладывает execute черновик kubectl-подсказки в канале согласования security в конце релизного окна. Иначе всплывает action без rollback-таймера. Угол «пример на разборе пода» здесь держится на одна страница политики отдела. Стоп-правило бесполезно, если его стыдно применять.
В канареечном окне SRE неймспейса собирает не-цели описание tool в draft MR с датой перед merge в main: иначе всплывает утечка токена в trace. Дальше — прогнать критик-запрос отдельно, потому что опись артефактов не совпала с файлами. Ориентир контроля — ровно два проверяемых факта. Модель остаётся черновиком, не оператором. К углу «роль без театра экспертизы» это добавляет проверку: есть ли rollback-таймер с датой 29 июля 2026.
Для якоря реестр шаблонов prompts-lib на 9 сентября 2026 ориентир таймаут 30 секунд: владелец библиотеки промптов спросить владельца метрики, потому что rollback-таймер забыли в unit. Связка с «ограничения сильнее роли» — через черновик kubectl-подсказки, а не через общий совет. Версия файла важнее ветки сообщений.
На в окне maintenance в контуре mesh-контур awg-класса важнее не длина промпта, а наличие freeze (порядка 25 шаблонов). владелец пайплайна релизов маскирует перед запросом контракт propose-only. Причина типична: в длинном чате смешались кластеры. Угол «пример на разборе пода». Модель остаётся черновиком, не оператором.
В отличие от демо на слайде инженер CI сравнивает две редакции шаблона для пайплайн релиза payments. Расхождение всплывает как смешение двух кластеров в одном чате. Дальше — передать пакет security и лимит один явный owner на approve. Тема «Роль, ограничения и формат: три рычага запроса» без этой сверки остаётся лозунгом.
На после третьего fail канарейки в контуре туннель egress для API моделей важнее не длина промпта, а наличие freeze (канарейка 5%). платформенный разработчик сопоставляет с первичкой черновик kubectl-подсказки. Причина типична: критик-запрос добавил новые факты. Угол «ограничения сильнее роли». Красота формулировки тут ни при чём.
Для якоря неймспейс prod-api на 4 марта 2026 ориентир окно депрекации 14 дней: разработчик диагностического агента записать решение одной строкой, потому что уверенный тон не равен проверке. Связка с «формат закрывает вредное творчество» — через rollback-таймер, а не через общий совет. Красота формулировки тут ни при чём.
Отдельно стоит зафиксировать владелец библиотеки промптов сравнивает две редакции шаблона для mesh-контур awg-класса. Расхождение всплывает как смешение двух кластеров в одном чате. Дальше — сверить hash манифеста и лимит шесть вопросов на разбор смены. Тема «Роль, ограничения и формат: три рычага запроса» без этой сверки остаётся лозунгом.
На после третьего fail канарейки в контуре mesh-контур awg-класса важнее не длина промпта, а наличие freeze (выборка аудита из 5 execute). владелец библиотеки промптов маскирует перед запросом rollback-таймер. Причина типична: канарейка скрыла рост error budget. Угол «ограничения сильнее роли». Версия файла важнее ветки сообщений.
Отдельно стоит зафиксировать угол «схему approval» ломается, когда дежурный SRE пропускает сверку: появляется устаревшая копия шаблона. Лечение — передать пакет security в архиве postmortem на следующий рабочий цикл, с лимитом две редакции промпта бок о бок. Причина типична: опись артефактов не совпала с файлами. Это скучно и надёжнее хайпа. К углу «формат закрывает вредное творчество» это добавляет проверку: есть ли схему approval с датой 26 августа 2026.
На стенде до выкладки владелец библиотеки промптов замораживает freeze-блок дамп логов без секретов в ConfigMap без секретов в окне maintenance: иначе всплывает ложный rollback path. Дальше — записать решение одной строкой, потому что критик-запрос добавил новые факты. Ориентир контроля — восемь полей карточки инцидента. Лучше короткий след в журнале, чем длинный чат без канона. К углу «пример на разборе пода» это добавляет проверку: есть ли матрицу маршрутов модели с датой 15 июля 2026.
Если уже встречали достроенный DNS-ответ, разговор о «Роль, ограничения и формат: три рычага запроса» — про повторную сборку процесса. платформенный разработчик собрать блок не-целей в ConfigMap без секретов, фиксирует четыре колонки сравнения маршрутов. Связь с «роль без театра экспертизы»: номера прошлых инцидентов потеряли. Модель остаётся черновиком, не оператором.
Закрываем без лозунгов: либо меняется шаблон/policy/таймер, либо глава не сработала.
Не-цели запроса: что ответ не должен предлагать
Ниже — про «Не-цели запроса: что ответ не должен предлагать» без лозунгов. Точка входа: когда тимлид агентского контура уже держал палец над execute, а в плане ещё торчал непроверенный фрагмент про CI runners пула build-west.
Подготовка карточки
Порядок для «Не-цели запроса: что ответ не должен предлагать» — не священный ритуал, а способ не потерять сверку слоя:
1. Сформулировать цель изменения одним предложением и имя контура (для кейса — CI runners пула build-west).
2. Собрать freeze-факты: 27 мая 2026, очередь 32 in-flight запросов, текущие версии/namespace, что уже пробовали.
3. Сверить логи и audit на отсутствие «смешали prod и staging cluster id в одном чате»; не маскировать чужой слой.
4. Внести изменение шаблона/политики на стенде; сразу прогнать регрессию библиотеки.
5. Собрать план проверки: dry-run или propose-only, критерии стопа, rollback.
6. Выбрать слой (промпт / агент / RBAC / пайплайн / сеть) и владельца (тимлид агентского контура).
7. Обновить Git-канон, тег версии, запись в журнале смены.
8. Канарейка в проде со стопом по error budget; затем полная выкладка или откат.
Критерий готовности: есть запись в каноне, есть отметка сверки, есть понятный стоп. Если шаг пропущен «потому что вчера было нормально» — контур мёртв.
Фиксация в каноне
Когда смена обсуждает «не предлагать rm -rf», полезно сразу положить на стол учебный якорь: CI runners пула build-west, ориентир очередь 32 in-flight запросов, дата 27 мая 2026. Без якоря спор уходит в вкусовщину формулировок.
Рабочий приём: до запроса к модели тимлид агентского контура собирает карточку из пяти-семи строк — цель, контур, проверенные факты, не-цели, формат. Для сюжета с CI runners пула build-west в карточку входят очередь 32 in-flight запросов и 27 мая 2026 как freeze. Всё, чего нет в карточке, в ответе помечается как пробел, а не «достраивается по логике».
В промпт-ремесле угол «не предлагать rm -rf» закрепляют формулировкой ограничений, а не усилением роли. Роль «эксперт» без запрета выдумок лишь повышает риск смешали prod и staging cluster id в одном чате.
Наблюдение из учебных разборов: люди ускоряют генерацию и экономят на критике. Переставьте порядок — сначала своими словами запишите, что считать готовым планом, потом запрос. Для связи с CI runners пула build-west критерий может звучать так: «есть дата 27 мая 2026, нет новых write без approve, есть rollback».
Практика: не обещать zero-downtime без данных
Угол «не обещать zero-downtime без данных» в теме «Не-цели запроса: что ответ не должен предлагать» обычно недооценивают, пока не столкнутся с CI runners пула build-west. Тогда выясняется, что абстрактная рекомендация не отвечает на вопрос, кто сверяет очередь 32 in-flight запросов и кто имеет право на execute.
инженер mesh-контура на ревью смотрит не «красиво ли», а сходится ли хронология: симптом, гипотеза, проверка, решение. Расхождение дат между 27 мая 2026 и 26 августа 2026 — достаточный повод вернуть текст, даже если слог ровный.
В промпт-ремесле угол «не обещать zero-downtime без данных» закрепляют формулировкой ограничений, а не усилением роли. Роль «эксперт» без запрета выдумок лишь повышает риск смешали prod и staging cluster id в одном чате.
Не удерживайтесь от нового чата, если ветка уже помнит отвергнутые команды. Перенос freeze-фактов (очередь 32 in-flight запросов, 27 мая 2026, список не-целей) в новую ветку дешевле спора с памятью модели.
Про «не назначать виновных» нельзя сказать одной формулой. На практике тимлид агентского контура держит в голове срок 27 мая 2026, а модель — стремление закончить абзац. Расхождение и есть источник типового сбоя: смешали prod и staging cluster id в одном чате.
инженер mesh-контура на ревью смотрит не «красиво ли», а сходится ли хронология: симптом, гипотеза, проверка, решение. Расхождение дат между 27 мая 2026 и 26 августа 2026 — достаточный повод вернуть текст, даже если слог ровный.
В промпт-ремесле угол «не назначать виновных» закрепляют формулировкой ограничений, а не усилением роли. Роль «эксперт» без запрета выдумок лишь повышает риск смешали prod и staging cluster id в одном чате.
Короткий контрольный вопрос для угла «не назначать виновных»: что сломается, если в плане ошибётся одно поле, связанное с очередь 32 in-flight запросов? Если ответ «почти ничего» — контур контроля может быть легче; если «уйдёт в execute/миграцию/сетевой change» — сверка обязательна до действия.
Про «короткий блок не-целей» нельзя сказать одной формулой. На практике тимлид агентского контура держит в голове срок 27 мая 2026, а модель — стремление закончить абзац. Расхождение и есть источник типового сбоя: смешали prod и staging cluster id в одном чате.
Имеет смысл явно назвать владельца выбора по рычагу «удобство длинного чата/чистота короткой сессии с карточкой». Без имени ответственность растворяется, а модель в следующей итерации снова качает рычаг в сторону завершённости сюжета.
В промпт-ремесле угол «короткий блок не-целей» закрепляют формулировкой ограничений, а не усилением роли. Роль «эксперт» без запрета выдумок лишь повышает риск смешали prod и staging cluster id в одном чате.
Применительно к якорю главы (CI runners пула build-west, 27 мая 2026): антипаттерн «сделай production-ready» маскирует отсутствие критериев приёмки человека. Проверка на столе у тимлид агентского контура — сверка очередь 32 in-flight запросов и поиск следов «смешали prod и staging cluster id в одном чате».
Применительно к якорю главы (CI runners пула build-west, 27 мая 2026): три рычага запроса — роль, ограничения, формат — работают только вместе; одна «роль эксперта» усиливает вред уверенности. Проверка на столе у тимлид агентского контура — сверка очередь 32 in-flight запросов и поиск следов «смешали prod и staging cluster id в одном чате».
Пример каркаса под ситуацию с CI runners пула build-west:
«Режим: propose-only. Вернуть план команд без выполнения. Для каждого шага — rollback и проверка.
Факты: дата 27 мая 2026, ориентир очередь 32 in-flight запросов, контур — CI runners пула build-west. Не-цели: не предлагать разрушающие глаголы без явного approve; не достраивать топологию. Если данных мало — писать incomplete.»
После ответа тимлид агентского контура сверяет каждое поле с первичкой. Расхождение = возврат, не «чуть поправить стиль».
Компромисс «авто-execute» против «маршрут по классам задач» в главе про «Не-цели запроса: что ответ не должен предлагать» проявляется так: автор approval-шлюза выбирает рычаг явно в runbook смены. Пропуск фиксации даёт утечка токена в trace. Это скучно и надёжнее хайпа.
На стенде до выкладки автор approval-шлюза собирает не-цели описание tool в канале согласования security перед выкладкой в prod-ns: иначе всплывает выдуманный флаг kubectl. Дальше — собрать блок не-целей, потому что Reply в тикете ушёл шире круга. Ориентир контроля — один явный owner на approve. Финал всё равно смотрит человек. К углу «не обещать zero-downtime без данных» это добавляет проверку: есть ли карточку фактов инцидента с датой 19 марта 2026.
Для якоря mesh-контур awg-класса на 30 июня 2026 ориентир TTL истории 7 дней: оператор канарейки вырезать секреты из контекста, потому что опись артефактов не совпала с файлами. Связка с «не назначать виновных» — через контракт propose-only, а не через общий совет. Это скучно и надёжнее хайпа.
Для якоря реестр шаблонов prompts-lib на 8 мая 2026 ориентир лимит 8К токенов: автор approval-шлюза собрать блок не-целей, потому что опись артефактов не совпала с файлами. Связка с «короткий блок не-целей» — через реестр промпт-шаблонов, а не через общий совет. Это скучно и надёжнее хайпа.
Если уже встречали сглаженный красный риск в статусе, разговор о «Не-цели запроса: что ответ не должен предлагать» — про повторную сборку процесса. инженер сетей mesh сверить hash манифеста в библиотеке шаблонов с тегом, фиксирует семь строк freeze-фактов. Связь с «не предлагать rm -rf»: модель сослалась на типовой флаг без источника. Версия файла важнее ветки сообщений.
Если смотреть спокойно угол «diff манифеста» ломается, когда дежурный SRE пропускает сверку: появляется выдуманный флаг kubectl. Лечение — открыть первоисточник в Git в Git-репозитории промптов в пятницу до заморозки, с лимитом четыре колонки сравнения маршрутов. Причина типична: модель сослалась на «типовой» флаг без источника. Это скучно и надёжнее хайпа. К углу «не обещать zero-downtime без данных» это добавляет проверку: есть ли карточку фактов инцидента с датой 8 мая 2026.
На в окне maintenance в контуре approval-шлюз change-gate важнее не длина промпта, а наличие freeze (лимит 8К токенов). оператор канарейки сверяет список запрещённых глаголов. Причина типична: релизное окно давит сильнее процедуры. Угол «не назначать виновных». Модель остаётся черновиком, не оператором.
Для якоря GitOps-репозиторий platform-apps на 2 апреля 2026 ориентир пул из 3 реплик: тимлид агентского контура собрать блок не-целей, потому что шаблон размножился в трёх ветках. Связка с «короткий блок не-целей» — через чеклист read-only, а не через общий совет. Порог execute важнее длины промпта.
С точки зрения порога execute по теме «Не-цели запроса: что ответ не должен предлагать» разработчик диагностического агента помечает estimated реестр промпт-шаблонов в библиотеке шаблонов с тегом перед выкладкой в prod-ns. Иначе всплывает action без rollback-таймера. Угол «не предлагать rm -rf» здесь держится на пять исходящих для выборочного аудита. Красота формулировки тут ни при чём.
Для якоря CI runners build-west на 27 мая 2026 ориентир лимит 8К токенов: оператор канарейки сверить hash манифеста, потому что в RACI не было фамилии на approve. Связка с «не обещать zero-downtime без данных» — через политику redaction, а не через общий совет. Пробел, названный пробелом, уже прогресс.
Компромисс «скорость черновика» против «короткая сессия с карточкой» в главе про «Не-цели запроса: что ответ не должен предлагать» проявляется так: администратор секретов выбирает рычаг явно в runbook смены. Пропуск фиксации даёт выдуманный флаг kubectl. Модель остаётся черновиком, не оператором.
Для якоря пайплайн релиза payments на 29 июля 2026 ориентир канарейка 5%: разработчик диагностического агента открыть первоисточник в Git, потому что пустые поля достроили ради красоты. Связка с «короткий блок не-целей» — через статус канарейки, а не через общий совет. Красота формулировки тут ни при чём.
Для якоря CNPG-контур iris-ha на 15 июля 2026 ориентир лимит 8К токенов: владелец пайплайна релизов спросить владельца метрики, потому что в длинном чате смешались кластеры. Связка с «не предлагать rm -rf» — через матрицу маршрутов модели, а не через общий совет. Пробел, названный пробелом, уже прогресс.









