Техническое задание (СИ)
— Ладно, идём уже, — скорее себе, чем «цветку», сказал я, ещё раз проглядывая список запланированных «тестов» для сегодняшней «прогулки». — Нас ждут великие дела!
Знал бы, что вокруг начнётся буквально через несколько часов — прикусил бы свой длинный болтливый язык! Увы, так «заглянуть вперёд» не под силу даже самому сильному мастеру Духа, куда уж тут мне…
12
Так получилось, что «прогулки» с Ирис с самого начала оказались завязаны на меня. Просто потому, что сопровождать боевого диверсионного робота в незнакомой и очень сложной для анализа БИУС среде (и разруливать ситуации, если в процессе общения андроид поведёт себя странно) должен был кто-то, кто заметит возможные отклонения в действиях машины визуально, пока не стало слишком поздно. Маркулову же приходилось лезть в фургон с аппаратурой и несколькими бойцами из «особой бригады» — второй программист занимался отслеживанием работы ПО в реальном времени с той же целью и ни на что не отвлекаясь. Иван, конечно, для вида поупирался, когда пришедший в себя после нервной встряски безопасник показал разработанные им лично рекомендации для «проведения комплексного испытания в городской среде»: не смотря на знание моего настоящего возраста, подспудно даже коллеги воспринимали меня, как подростка. СБшник бледно улыбнулся — и в минуту продемонстрировал быстро стушевавшемуся программисту, что тот сам будет выглядеть на улице Ундерхаана натуральной белой вороной, в отличие от «цветка», кстати.
Первая прогулка вышла недолгой, нервной и напряжённой: да, для Ирис мирное общение с людьми было не в новинку, но социальные ситуации не накладывались друг на друга так часто и плотно, а тут — объектов и субъектов вокруг было слишком много, они все были новыми и незнакомыми. Но — обошлось. БИУС справилась, а процессорных мощностей хватило, и с большим запасом. Все дружно выдохнули. Второй выезд в город той же группой был уже более спокойным — «цветок» нормально справлялась в магазинах с покупкой продуктов, спрашивала время и дорогу — никто и не заподозрил под внешностью миловидной незнакомки андроида. На третий раз группу силового сопровождения сократили до трёх человек. На четвёртый — Маркулов остался на базе: контролировать процесс можно было и удалённо. А на шестой Ирис в первый раз вступила в бой под личиной человека. Правда, бой был учебно-тренировочный — всего лишь небольшой спарринг с тренером, обучающим обращаться с мечом всех желающих за небольшие деньги. К моему удивлению, шифу, похоже, ничего не заподозрил: после «игры в снежки» я сильно постарался «объяснить» управляющей программе разницу между игрой, тренировкой, учебным поединком и учебной же боевой задачей. Похоже, получилось.
По сути, первомайская [43] «прогулка» и успешная запись Ирис в группу по фехтованию стала переломным моментом тестирования — по результатам уже теперь было ясно, что мы в целом справились, и следующая и последняя проверка — это реальный бой с настоящим противником, убийствами и диверсией. Фактически, дальнейшие городские выезды были рутиной, наработкой статистики и тренировкой самообучающегося алгоритма — вероятность фатального сбоя падала с каждым разом, «цветку» всё проще и проще было разбираться в незнакомых социальных ситуациях… Но такой успех вовсе не означал, что всего на двенадцатый выход я должен буду вести андроида один и вообще без подстраховки!
Я не Гай Юлий Цезарь, и не могу одновременно мониторить поведение робота и работу БИУС. Да и шайтан с ней, с группой сопровождения — но ПО прототипа АНМ всё ещё активно дорабатывалось, и если предупредили бы о ситуации заранее — я не стал бы делать последний апдейт системы. Да, повлиять на работу всего остального он не должен был — наоборот, улучшить, но программирование сверхсложных систем, где большая половина алгоритмизации генерируется уже самой программой, исходя из опыта ситуаций (то самое пресловутое самообучение), всегда сопряжено с риском ошибки. Одна недоработка, ошибка кодера, которая могла быть совершена к тому же хрен знает сколько месяцев или даже лет назад, редкая, не возникшая ранее ситуация — и всё идёт вразнос! Запуск автоматизированных систем такой сложности, как у нас, сопоставим по сложности с ракетостроением: шестьдесят лет запускаем их в космос, и до сих пор вылезают накладки. Конечно, программу проверить проще, чем трубу космического носителя, заполненную кислородом, керосином и кучей механики с электроникой, в БИУС внесены специальные протоколы, позволяющие находить и исправлять ошибки автоматически, а базовый код Иван Маркулов «вылизывал» десять лет дома и четыре года здесь… но, как я и сказал выше — это лишь предпосылка меньшей вероятности сбоя. Вопрос — насколько меньшей? Впрочем, переживать всё равно уже поздно — всё решили за меня. Остаётся только расслабиться и наслаждаться прогулкой… В конце концов — кто ещё может похвастаться, что гулял в компании настоящего боевого человекоподобного робота, да ещё и с внешностью красивой девчонки?
Это, наверное, странно прозвучит, но до меня вся глубина момента дошла только на пятой «прогулке»: вот оно, невероятное и, казалось бы, далёкое будущее — шагает рядом со мной! Подозреваю, именно так должен был чувствовать себя первый космонавт на Луне, поверхность которой, к слову, в этом мире так и осталась неистоптанной. Дело в том, что в отличие от Агаты, создание Ирис я наблюдал (и принимал в нём непосредственное участие!) фактически с нуля. По отдельности каждый этап не казался чем-то невероятным и запредельным, потому постепенно приближающийся к итоговому виду и функционалу прототип я воспринимал… ну, обычно. Я был горд собой, доволен, что участвую в таком творческом и необычном деле, и особенно тем, что итоговый результат сильно напоминал какого-нибудь персонажа из аниме или японской манги: там вечно рисуют кавайных андроидов со вполне человеческим внешним видом и поведением. До меня как-то не доходила вся серьёзность ситуации — может быть ещё и потому, что регулярно переводимую Абишевым на счёт в Имперской Сберегательной Кассе зарплату мне тупо было негде потратить. Кроме совсем уж мелочи в школьной столовой, когда хотелось сладких булок и редких походов в кафе в Ундерхаане: всем необходимым персонал «Каменного цветка» снабжали, вплоть до повседневной одежды и белья. Да и в кафе я сидел больше от желания сменить обстановку и… обожраться особо вкусным мороженым — почему-то наш повар из «пансионата» именно это лакомство делал ничуть не вкуснее магазинного варианта…
Хотя скорее всего это был просто защитный механизм человеческой психики: уж слишком сильное это потрясение — переход в другой мир, резкая смена биологического возраста, потеря привычного круга общения, встраивание в одновременно совершенно чужую и так похожую на старую социальную среду. Подсознательно я считал всё происходящее… ну, игрой воображения, что ли? Это как читать захватывающий роман: магия? Окей, магия. О, «откат» возраста? Супер, а что дальше? Ну и так далее. Впрочем, возможно дело было всё-таки в биологии: свои подростковые годы «в первый раз» я помнил уже не особенно чётко — не в смысле событий, а ощущений. Ведь когда мальчишки играют «в танчики», а девочки в куклы — в их головах они вполне себе могут быть как живыми и одушевлёнными, так и нет — одновременно. Недаром машину разрешают водить только к шестнадцати годам — взросление проясняет, «вдавливает» в реальность сознание, конкретизирует мышление. А особенно отрезвляет, когда видишь, как Ирис разбивает кулаками головы манекенам-мишеням. Самостоятельно, а не повторяя движение за облепленным акселометрическими и пространственными датчиками оператором. Даже если боевая машина выглядит как юная девушка, она остаётся боевой машиной… Впрочем, как неоднократно испытал я на собственном опыте — про это очень легко забыть.
Я в очередной раз покосился на подопечную, и в очередной раз невольно восхитился плавной и грациозной походкой. Никакого пошлого виляния бёдрами — голый функционал. После записи моторики с тела оператора, у «цветка» самостоятельно получалось только кривое ковыляние, сколько мы не бились. В итоге пришлось заставить оптимизировать алгоритмы движения саму БИУС: примерно так учится ходить человек. Только маленький человек ходит за мамой из инстинкта держаться рядом, а мы ставили разные задачи: максимальная скорость передвижения с заданной силой мышечного сокращения, сохранение остойчивости верхней половины тела в движении налегке (для стрельбы из ручного оружия — незаменимо), потом с бревном в руках, потом — на плече, с грузом стальных шариков в сумке, и дальше, и дальше. Плюс упражнения в различных комбинациях — и в результате получилось такое. Такая. Хотя, может, я и излишне любуюсь — но антропоморфный проект получился реально красивым. Чёткие, выверенные, благодаря тренировкам, движения и оставшиеся от оцифровки с реальных людей чисто-женские повороты головы с перебрасыванием волос. Всё это сначала жрало шайтанову уйму оперативных ресурсов, но, по мере обобщения информации, управляющая система оптимизировала алгоритмы, приводила к общим случаям все проявления моторики, и процессорная нагрузка постепенно падала, сохраняя результат и давая возможность перенаправлять мощности на что-то ещё. Андроид училась, как и любая самоорганизующаяся кибернетическая система с обратной связью, и, за счёт огромной вычислительной мощности — училась быстро. Смотреть на дело рук своих было откровенно приятно…