Обзор IDE Kiro

Компания AWS представила Kiro — форк проекта Code OSS (открытой части Visual Studio Code), который ориентирован на улучшение рабочего процесса разработчиков с использованием искусственного интеллекта и поддержкой спецификаций.

Kiro ide AWS amazon

Kiro представляет собой самостоятельную среду разработки, и, несмотря на принадлежность к AWS, по словам Натана Пека, представителя AWS по направлению ИИ для разработчиков, она «несколько обособлена от экосистемы AWS», как он подчеркнул в подробном обсуждении предварительной версии. Kiro доступна без необходимости создания аккаунта AWS — достаточно авторизации через Google или GitHub.

Почему такое разделение?

Пек пояснил, что задача Kiro — иметь «самобытную идентичность вне рамок AWS», чтобы привлечь разработчиков, работающих с другими платформами.

У Kiro есть официальный сайт , где указано, что проект создан и поддерживается небольшой командой энтузиастов внутри AWS. На этапе предварительного тестирования доступ бесплатный, а после его завершения будет предложен бесплатный тариф с 50 взаимодействиями с агентами в месяц, тариф Pro за 19 долларов США на пользователя в месяц с 1000 взаимодействий и тариф Pro+ за 39 долларов США с 3000 взаимодействий. Дополнительные взаимодействия обойдутся в 0,04 доллара США за каждое. По словам Пека, одно взаимодействие — это, например, подробный ответ на запрос, который «может занять 3–5 минут, пока Kiro генерирует код».

Ещё материал по Kiro

По умолчанию Kiro в бесплатной версии собирает телеметрические данные и контент для «оптимизации сервиса», но пользователи могут отключить эту функцию через настройки.

Согласно документации, главная особенность Kiro — это работа со спецификациями (specs). Спецификации формируются в трёх Markdown-файлах: requirements.md, design.md и tasks.md. В файле требований применяется EARS (Easy Approach to Requirements Syntax) — метод структурирования текстовых требований, разработанный Эндрю Мавином и сотрудниками Rolls-Royce. В документе дизайна описываются стек технологий и архитектура приложения, а в перечне задач указаны последовательные шаги для реализации проекта, включая его развёртывание.

Документация советует использовать несколько спецификаций для одного проекта.

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

Кроме файлов спецификаций, Kiro поддерживает «управляющие» файлы, которые задают стандарты генерации кода, включая выбор технологий, структуру проекта, правила именования и другие аспекты. Также предусмотрена поддержка серверов MCP с конфигурационными файлами в формате JSON.

Ещё одна ключевая функция — хуки агента. Это действия, выполняемые агентом в ответ на события, связанные с файлами (создание, сохранение, удаление), или активируемые вручную, например для анализа кода.

Хуки задаются описанием их функций, таких как создание тестов или проверка файлов на уязвимости безопасности.

Мы протестировали Kiro, описав приложение для управления расписанием волонтёров, организующих игровые мероприятия, без указания конкретных технологий. Мы использовали стандартную модель LLM — Claude Sonnet 4.0. Спустя несколько минут Kiro создал спецификации для фронтенда на React, бэкенда на Node.js/Express и базы данных PostgreSQL. Затем были добавлены компоненты Material-UI, React Router для навигации, Prisma ORM для работы с базой данных, тесты на Jest, весь код на TypeScript и другие элементы.

Kiro сформировал 20 задач, каждая из которых включала несколько шагов. Первая задача — настройка начального проекта — была выполнена успешно. Вторая задача — инициализация базы данных — оказалась сложнее, так как ИИ не смог подключиться к экземпляру PostgreSQL и выдал ошибку при запуске сервера разработки Prisma.

Вместо исправления ошибки Kiro предоставил инструкцию по настройке базы данных.

Для продолжения работы потребуется выполнить некоторые шаги вручную, но мы были впечатлены возможностями ИИ. Без его помощи эта задача заняла бы несколько дней. Результат пока не привязан к AWS, а задача 19 «Настройка конфигурации развертывания» предусматривает использование контейнеров Docker, совместимых с разными средами.

«Современным языковым моделям всё ещё требуется участие разработчика программного обеспечения SDE», — отметил Пек, акцентируя, что такие инструменты не созданы для полной автоматизации, но способны значительно сократить время работы.

По словам генерального директора AWS Мэтта Гармана, Kiro — это «интегрированная среда разработки с агентными функциями, которая поддерживает разработчиков на пути от прототипа к готовому коду». Наличие спецификаций в виде документов позволяет как искусственному интеллекту, так и людям-разработчикам использовать их как ориентир в процессе создания ПО.

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

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

Также есть интеграция с терминалом, где Kiro отвечает на общие вопросы и предоставляет инструкции.

Безопасность остаётся приоритетом, поэтому Kiro по умолчанию запускается в режиме автопилота, где агент имеет право самостоятельно изменять код. При отключении этого режима Kiro переходит в контролируемый режим, запрашивая подтверждение перед любыми изменениями. Даже в режиме автопилота пользователь должен подтвердить выполнение ключевых действий, таких как установка модулей npm или запуск команд через npx, как было показано в нашем кратком руководстве. Команды можно добавить в список для автоматического подтверждения.

Kiro поддерживает множество языков программирования, но в документации особо выделяются TypeScript/JavaScript, Python и Java.

У нас создалось впечатление, что с этими языками он работает наиболее эффективно. Разработчики .NET сталкиваются с проблемой: Kiro использует реестр Open VSX для расширений, который не включает проприетарную поддержку Microsoft C#, доступную в VS Code. Некоторые разработчики хотели бы видеть Kiro как независимый интерфейс командной строки, не привязанный к IDE.

Пек отметил, что "место для CLI-версии тоже есть", но у IDE есть преимущество благодаря доступу к большему числу инструментов.

Хотя Kiro появился на насыщенном рынке, он выделяется среди конкурентов, а его подход, основанный на спецификациях, помогает минимизировать непредсказуемость результатов ИИ-кода. Тем не менее, режим автопилота по умолчанию может вызывать у разработчиков определённые опасения.