kerbal.ruвики сборки «Оператор»
Оператор / Вики / Автоматика

Нейросеть как второй пилот

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

Речь не про «ИИ играет за тебя». Речь про ассистента, который пишет и правит скрипты kOS прямо в папке игры, читает твой сейв и разбирает телеметрию после полёта. Летишь всё равно ты — но черновик кода, расчёты и разбор ошибок можно отдать.

Работает это с любым ассистентом, у которого есть доступ к файловой системе (Claude Code, Codex, OpenCode и подобные). Обычный чат в браузере тоже сгодится, просто скрипты придётся копировать руками. Как подключить конкретный инструмент, что положить в файл контекста и какие права выдать — в Подключаем ИИ-агентов; здесь дальше про то, как с ним работать.

Что ассистент реально может

Может Как это выглядит
Писать .ks прямо в игру Файл появляется в <KSP>/Ships/Script/, ты запускаешь RUNPATH("0:/ascent.ks")
Знать твой аппарат Читает saves/<имя>/persistent.sfs: детали, ступени, орбиты, ресурсы
Разбирать полёт Читает CSV из Телеметрия: разбирать полёт по числам и говорит, на какой секунде что пошло не так
Читать логи игры KSP.log, Logs/ModuleManager/ — видит ошибки модов, а не только твои
Искать по конфигам GameData/ — точные диапазоны приборов и дальности антенн, а не «как в ваниле»
Считать Δv, фазовые углы, периоды орбит, азимут под наклонение — обычная математика
Рефакторить Собрать твои десять скриптов в библиотеку функций (kOS: продвинутое)

Чего не может

  • Летать. Игру запускаешь ты, kOS исполняется внутри игры. Кнопки ассистент не жмёт.
  • Проверить скрипт до запуска. Синтаксис он сверяет статически; поведение — только по факту прогона.
  • Реагировать в реальном времени. Между «скрипт запущен» и «файл лога прочитан» ассистента в контуре нет.
  • Гарантировать первый прогон. Нормальная практика — две-три итерации. Планируй это заранее.

Рабочий цикл

1. Ты формулируешь задачу      →  «вывести спутник на 120 км, наклонение 0°»
2. Ассистент читает сейв       →  видит ракету, ступени, тягу
3. Пишет скрипт в Ships/Script →  ascent.ks + логгер телеметрии
4. Ты читаешь скрипт           →  ОБЯЗАТЕЛЬНО: понимаешь, что он делает
5. Быстрое сохранение          →  F5
6. Запуск в терминале          →  RUNPATH("0:/ascent.ks")
7. Полёт удался или нет        →  в обоих случаях остаётся CSV
8. Ассистент читает CSV        →  «разворот начат на 12 секунд раньше, апоцентр перелетел»
9. Правка → шаг 5              →  обычно хватает двух кругов

Ключ ко всему циклу — шаг 7: лог остаётся в любом случае. Даже разбитая ракета оставляет числа, по которым видно причину.

Сценарии: как и когда

1. Серия однотипных спутников

Когда: контракты созвездий требуют 3–6 аппаратов на одинаковых орбитах. Что просить: скрипт с параметрами наверху файла (высота, наклонение, номер аппарата) — один файл на всю серию. Почему выигрывает: руками попасть шесть раз в одну орбиту почти невозможно, а расхождение ломает геометрию сети (Созвездия и покрытие).

2. Точная орбита под контракт

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

3. «Почему не хватило Δv»

Когда: аппарат стабильно не долетает, а на бумаге запас есть. Что просить: разбор CSV — где потери. Обычно вылезает слишком крутой или слишком поздний разворот, лишнее сопротивление, работа двигателя не в том режиме. Почему это сильная сторона: машина сравнивает сотни строк, а не помнит «вроде нормально шло».

4. Перенос ручного профиля в скрипт

Когда: ты уже летаешь по своей схеме и хочешь её зафиксировать. Что просить: «я делаю так: вертикально до 80 м/с, наклон 5° на каждые 1000 м, апоцентр 95 км» — на выходе скрипт ровно с твоей логикой, а не с чужой.

5. Библиотека под свой стиль

Когда: скриптов стало больше пяти и в них копипаст. Что просить: вынести общие куски в lib_*.ks (прожиг узла, ожидание апоцентра, логирование) и переписать остальные через них.

6. Посадка с повторяемым результатом

Когда: садишься на Муну регулярно и надоело угадывать момент торможения. Что просить: скрипт с релейной тягой по радарной высоте и вертикальной скорости; обязательно с порогом аварийного прерывания.

7. Когда НЕ стоит

  • Первый полёт куда-либо. Сначала руками — иначе ты не поймёшь, верно ли работает скрипт.
  • Уникальный трюк на один раз: гравиманёвр, спасательная операция. Дешевле сделать вручную.
  • Реальное время. Если нужно среагировать «сейчас» — это либо MechJeb, либо твои руки.

Как ставить задачу

Плохо: «напиши скрипт для запуска». Хорошо — сообщи пять вещей:

  1. Цель в числах. «Круговая орбита 120 км, наклонение 0°, отклонение не больше 2 км».
  2. Аппарат. Сколько ступеней, тип двигателей, стартовый TWR, есть ли RCS. Или просто: «посмотри в сейве, аппарат называется так-то».
  3. Ограничения. «Без MechJeb», «топливо впритык», «связь только над КЦК».
  4. Что уже пробовал и чем закончилось — сильно сокращает круги.
  5. Куда писать файл. Обычно Ships/Script/, имя по задаче.

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

Безопасность

  • Быстрое сохранение перед каждым прогоном. Всегда. Скрипт может увести аппарат в грунт молча.
  • Читай скрипт перед запуском. Не ради недоверия, а чтобы понимать, что должно произойти — иначе не заметишь, когда пойдёт не так.
  • Пороги прерывания в самом коде. Полезные: не давать тангажу уходить ниже горизонта, глушить двигатель при вертикальной скорости вниз на подъёме, выходить из цикла по таймауту.
  • Обкатывай на дешёвом аппарате. Не на корабле с четырьмя кербалами и научным грузом.
  • Отдельный сейв для экспериментов — если хочется гонять скрипты без последствий для карьеры.

Что стоит отдать ассистенту, а что бессмысленно

Отдать Смысла нет
Файл телеметрии (CSV) Скриншот терминала — числа с картинки читаются хуже
Путь к сейву Пересказ по памяти «там вроде две ступени»
Точный текст ошибки kOS «Он ругнулся и всё»
Требования контракта дословно «Надо на орбиту повыше»

Трезвые ожидания

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

И главное правило из Когда автоматизировать, а когда лететь руками остаётся в силе: скрипт, который ты не можешь прочитать, — это не автоматизация, а лотерея. Ассистент ускоряет написание, но ответственность за то, что полетит, остаётся на тебе.

Связанные статьи