Манифест практиков · Kiro / AWS

Frontier Engineering

Практическое руководство по автономным ИИ-агентам: как перестать быть «машинисткой» кода и перейти к кратному ускорению разработки.

Автор: Clare Liguori
Источник: kiro.dev
Время чтения: ~6 мин
Оригинал: 10 принципов
// Главный сдвиг парадигмы

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

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

Frontier engineering — заглавная иллюстрация Kiro
kiro.dev/topics/frontier-engineering Оригинал ↗
00

Ключевые выводы (TL;DR)

в оригинале

🏛️ Архитектор, а не наборщик

Инженеры фронтира пишут вручную менее 1% кода. Основная работа сместилась в формулирование намерения (intent), жесткие критерии приемки и архитектурный надзор. Реализация стала дешевой — решающим стало направление.

Автономный контур без человека

Пошаговый пинг-понг с моделью раз в 60 секунд убивает продуктивность. Агент должен получать задачи на 30+ минут самостоятельной работы, имея локальные линтеры, моки, тесты и браузер для самоисправления ошибок без копипасты логов.

🛡️ Доверие границам, а не модели

Агенту нельзя давать слепой доступ к продакшену или требовать подтверждения каждого нажатия клавиши. Решение — строгая изоляция окружения (least privilege), детерминированный SAST, сканирование секретов и неизменяемые интеграционные тесты.

01

Роль инженера: от набора кода к управлению намерением

architect-not-typist ↗

Разработка перестала быть процессом набивки строк кода. Задача инженера — декомпозировать систему, определить состояние готовности («done») и проверять, что результат соответствует замыслу.

Размытый промпт против спецификации намерения

Когда вы говорите агенту «добавь авторизацию в API», он делает десятки неявных архитектурных допущений за вас. Исправление этих допущений займет больше времени, чем написание спецификации.

spec.yaml (Intent) спека ↗
# Четкое намерение вместо слепого кодинга
endpoint: /api/v1/orders
auth:
  mechanism: JWT Bearer
  roles:
    - admin: полный доступ ко всем заказам
    - customer: чтение и запись только orders.user_id == claims.sub
  errors:
    - expired_token -> HTTP 401 (TOKEN_EXPIRED)
    - invalid_signature -> HTTP 403 (FORBIDDEN)
validation:
  - "go test ./internal/auth/... -race"
  - "Coverage >= 90% для новых хэндлеров"

Максимизация автономного времени (Maximize Agent Time)

Многие разработчики работают в режиме «вопрос — ответ на 60 секунд»: вводят промпт, ждут генерации файла, запускают вручную, копируют трейсбек ошибки обратно в чат. Это не frontier engineering.

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

Правило Kiro: Дайте агенту замкнутый скоуп («реализуй эндпоинт, напиши тесты, запусти их, устрани падения, добейся прохождения CI») и проверяйте результат асинхронно.
02

Кодовая база для агентов и быстрый цикл валидации

fast-feedback-loop ↗

Если агент не способен самостоятельно запустить тесты локально и исправить свои ошибки до того, как вы посмотрите на код — узким местом остаетесь вы.

1. Четкий интент Спецификация и границы steering files + AGENTS.md 2. Генерация кода Автономная работа модели Multi-file operations 3. Локальная валидация Unit-тесты + Линтеры + Сборка Property-based инварианты Headless Browser (UI checks) Ошибка: Self-Fix Loop 4. Готово к PR AI-Review + CI Human verification Агент самоисправляет падения тестов локально, не отвлекая человека
Схема конспекта: замкнутый контур валидации устраняет необходимость ручного копирования ошибок

Кодовая база для агентов (Build for Agents)

Человек-разработчик онбордится в проект один раз. ИИ-агент онбордится в каждой новой сессии заново.

Инвестиции в архитектурную документацию, прозрачные границы пакетов, строгую типизацию и быстрые понятные ошибки компилятора окупаются стократно. В легаси-проектах готовьте кодовую базу помодульно, изолируя агента только в подготовленном контексте.

Постоянная память через артефакты

Заставляйте агента документировать собственные решения прямо в кодовой базе. Комментарии к архитектурным компромиссам и обновляемые правила в репозитории служат долговременной памятью.

Следующая агентская сессия наследует не просто сгенерированный код, а логику и аргументы, стоявшие за ним.

03

Расходный код и незыблемые границы

code-is-disposable ↗

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

Что выбрасывается, а что остается навсегда

Артефакт Статус Причина
Реализация модулей Расходник Переписывается агентом за часы под новые требования
Unit-тесты логики Расходник Привязаны к внутренней реализации, выбрасываются с кодом
E2E интеграционные тесты Незыблемы Фиксируют фактическое поведение системы для пользователя
Property-based тесты Незыблемы Математические инварианты, которые обязан соблюдать любой рерайт
Нагрузочные тесты Незыблемы Гарантируют устойчивость и масштабируемость при смене архитектуры

Разрешение споров прототипами (Direction over Execution)

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

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

04

Безопасность: доверяй границам, а не модели

trust-the-boundaries ↗

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

🔒 Изоляция доступа

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

🔍 Детерминированные барьеры

Статический анализ безопасности (SAST), поиск утекших ключей и секретов, математическая верификация (automated reasoning). Эти фильтры ловят ошибки, которые пропустит обычный тест.

🤖 Автоматический AI-ревьюер

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

05

Структура манифеста: 10 принципов

все принципы на kiro.dev ↗

Полная карта руководства с иллюстрациями автора и прямыми ссылками на главы оригинала:

1. You are the architect, not the typist

глава 1 ↗

Работа больше не в наборе кода, а в написании четкого намерения. Инженеры пишут руками <1% кода, направляя 99% внимания на формулирование критериев приемки и валидацию.

You are the architect, not the typist — Kiro mascot Принцип 01

2. Maximize agent time, minimize your involvement

глава 2 ↗

Отказ от микроменеджмента с минутными промптами. Переход к автономным циклам по 30+ минут и параллельному пулу фоновых агентов.

Maximize agent time — Kiro Принцип 02

3. Build your codebase for agents

глава 3 ↗

Агент онбордится с нуля в каждой сессии. Создавайте steering files, четкие границы модулей, скрипты автоматизации и MCP-серверы.

Build your codebase for agents — Kiro Принцип 03

4. Give agents a fast feedback loop

глава 4 ↗

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

Give agents a fast feedback loop — Kiro Принцип 04

5. Execution is cheap. Direction is everything

глава 5 ↗

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

Direction over execution — Kiro Принцип 05

6. Treat code as disposable

глава 6 ↗

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

Treat code as disposable — Kiro Принцип 06

7. Hold AI output to human standards

глава 7 ↗

Скорость без качества — это просто аварии в продакшене. Вы лично отвечаете за код, вышедший под вашим именем. Используйте AI-ревьюер локально и в CI.

Hold AI output to human standards — Kiro Принцип 07

8. Trust the boundaries, not the agent

глава 8 ↗

Надежные технические барьеры вместо ручного надзора: изоляция файловой системы, закрытие сети и credentials, SAST и математическое доказательство инвариантов.

Trust the boundaries, not the agent — Kiro Принцип 08

9. Use agents for everything, not just code

глава 9 ↗

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

Use agents for everything — Kiro Принцип 09

10. Continuously tune your agent setup

глава 10 ↗

Каждая ошибка агента — это повод добавить новое правило в steering file, написать специализированный скил или поднять MCP-сервер. Среда должна эволюционировать вместе с моделями.

Continuously tune your setup — Kiro Принцип 10

Цитаты из манифеста

первоисточник ↗
«Разработчики с многократным ростом продуктивности не пользуются какими-то лучшими инструментами автодополнения, чем остальные. Они работают иначе: они больше не создают софт напрямую руками — они создают агентскую среду, которая создает софт.»
— Введение манифеста в статье ↗
«Frontier engineering — это не vibe coding. Это не вставка промптов в окно чата в надежде на лучшее. Это дисциплинированная инженерная практика, сочетающая строгость с рычагом ИИ-агентов.»
— О дисциплине инженерии в статье ↗
«Человек-разработчик онбордится в проект один раз за все время работы в команде. ИИ-агент онбордится заново абсолютно в каждой сессии.»
— Принцип 3: Build for agents в статье ↗
«Каждая ошибка агента или его ненужное обращение к человеку — это возможность расширить его автономию через новое правило в steering file или специализированный инструмент.»
— Принцип 10: Tune your setup в статье ↗
#

В цифрах

метрики ↗
<1%
кода пишется инженерами вручную
30+ мин
автономный рабочий цикл агента
60 сек
тупиковый пинг-понг микроменеджмента
10
фундаментальных принципов практики

Как применить: практический чек-лист

инструкция ↗

Пошаговый план внедрения практик frontier engineering в личный воркфлоу и процессы команды:

1. Запретить расплывчатые промпты: перейти на spec-driven разработку. Перед генерацией кода формулировать критерии готовности, ролевую модель и контракт ошибок.
2. Создать корневой steering file: завести в репозитории AGENTS.md со стандартами кода, правилами типизации и командами сборки для каждой новой сессии.
3. Автоматизировать локальную валидацию: дать агенту возможность одной командой запускать тесты, линтеры и браузер для самоисправления ошибок до ревью.
4. Защитить границы инвариантами: покрыть ядро системы property-based тестами, которые сохраняются при любых рефакторингах и рерайтах кода.
5. Изолировать агентскую среду: ограничить доступ к файлам и сети правилом least privilege, исключив любые прямые доступы к продакшен-ключам.
6. Подключить автоматический AI-ревьюер: настроить локальный аудит кода и валидацию в CI перед отправкой пулл-реквеста человеку.
7. Внедрить ретроспективу сбоев: при каждой ошибке агента фиксировать причину и обновлять инструкции, инструменты или MCP-серверы.
8. Практиковать параллельный запуск: запускать несколько агентов в фоновом режиме на независимые модули и проверять результаты асинхронно.
🧰

Ссылки и ключевые понятия

глоссарий ↗

// ключевой инструментарий

Steering Files Файлы инструкций и стандартов репозитория (AGENTS.md, rules), передающие контекст в сессию агента.
MCP Servers Model Context Protocol серверы для динамического подключения инструментов, баз данных и внешних API.
Property-Based Tests Тестирование на основе инвариантов со случайными входными данными для выявления скрытых пограничных багов.
AI Reviewer Автоматизированный агент в CI для предварительного аудита безопасности, стиля и тестов перед ревью человеком.

// паттерны мышления

Spec-Driven Development Long-running autonomous tasks Disposable code Least privilege sandboxing Evidence-based prototyping Vibe coding 60-second micro-prompts Sunk cost in legacy drafts Manual copy-pasting errors Ambient agent workers
× Lightbox Preview
Открыть в статье