Обновлено 21 июля 2026
Продакшн-агент Shippy: soul, skills и CLI вместо сырых API

Морской агент Shippy от Ai2 отвечает на вопросы про суда и экономические зоны — ошибка может отправить патруль не туда, поэтому команда собрала продакшн не вокруг модели, а вокруг проверяемых слоёв. Skylight обслуживает 300+ партнёров в 70+ странах, и каждый запрос агент сверяет с живыми спутниковыми данными, а не со статичным снимком.
Три слоя агента
Архитектуру команда описывает тремя частями. Soul — системный промпт с границами: агент не выносит юридических вердиктов и не фантазирует за пределами данных. Skills — markdown-файлы по тому же agent-skills spec, что у Claude Code и Codex; soul и skills запекаются в версионируемый Docker-образ. Config — всё остальное: фреймворк OpenClaw, модель Claude Opus 4.6, runtime-настройки; смена модели — правка конфига, не пересборка образа.
- запросы к Skylight API за Events и данными судов
- поиск границ EEZ и MPA
- интерпретация треков судов
- генерация интерактивных ссылок на карту Skylight
CLI вместо сырых API
Модель непредсказуема — инструменты можно сделать предсказуемыми. В ранних прототипах Shippy сам собирал API-вызовы и ловил тихие баги: кривая пагинация молча отрезала выдачу, геометрия кодировалась неверно, фильтры читались не так. Решение — отдельный CLI: агент шлёт одну команду skylight events search с типизированными флагами, а CLI берёт auth, пагинацию и структурированный вывод.
Результат всегда пишется в локальный JSON-файл, а не в pipe — большие выборки не бьют по буферу и не ломают jq на следующем шаге. Под CLI лежит типизированный API с операциями search и aggregate; skills ссылаются на команды CLI, каждый слой тестируется отдельно.
Песочница и оценка целиком
Каждый пользователь работает в изолированной ephemeral-сессии: платформа Mothership поднимает отдельный Kubernetes-deployment с runtime, skills и Skylight CLI. JWT пользователя инжектится при старте — файлы анализа не утекают между сессиями.
Статичные бенчмарки этого не ловят, поэтому Ai2 гоняет eval всего агента — модель, skills и sandbox вместе — на живых данных через Harbor. Эксперты пишут сценарии с весами под задачу; LLM-судья ставит 0–1 по каждому критерию, взвешенный балл сравнивают с порогом pass. Сборка, которая регрессирует, не доезжает до пользователей. В последнем прогоне всплыли тактические рекомендации вместо decision support, пропуск Events из-за упрощения границ и один выдуманный CLI-команд — каждый кейс идёт в правку skills.
Источник: What building Shippy taught us about building agents.