Пропавший при обрушении аппарат был металло-керамическим фабрикатором «Дженерал Электрик СТ3505» – весьма качественное устройство, если вы можете себе такое позволить; обычно ими пользовались армейские подрядчики для создания прототипов оборонных систем. Как и все прочие фабрикаторы, он поставлялся с собственным набором аксессуаров, дополнительных модулей и материалов в порошке. В фабрикатор нельзя просто взять и засунуть алюминиевую банку или сыпануть горсть песка. Фабрикаторы запрограммированы на отказ от работы с любыми материалами, если те не авторизованы производителем. В соответствии с проверенной и прекрасно зарекомендовавшей себя бизнес-моделью дешевых бритвенных станков и дорогих лезвий, фабрикаторы продавались практически по себестоимости, а навар делался на специальных исходниках. В случае ДЭ-СТ3505 это были порошковые контейнеры СТМП-21(м) и СТМП-21(с), поставляемые только и исключительно «Дженерал Электрик» и чертовски дорогие.
Покупая фабрикатор «Дженерал Электрик», вы обрекали себя на использование порошков только от «Дженерал Электрик». Но верно было и обратно: порошки «ДЭ» можно было использовать только в фабрикаторах «ДЭ». Крику оставалось найти того, кто в округе Колумбия покупал порошки «ДЭ», не владея при этом фабрикатором этой фирмы.
«Дженерал Электрик» занималась множеством разных дел, в том числе – правительственными оборонными заказами; ее внутренние системы охранялись чрезвычайно бдительно. Крик навряд ли сумел бы в них проникнуть. Но как и многие другие компании, «ДЭ» отдала оформление и выполнение заказов на откуп субподрядчиков, чьи сети были защищены на стандартном коммерческом уровне, то есть полны дыр и бэкдоров. Заказы для «ДЭ» принимала и выполняла компания «Эккьюшоп»; Крик отправил агента собирать новости об «Эккьюшоп» и сбоях систем безопасности и тот нашел парочку, связанных с бэкдорами, случайно оставленными в коде системы оформления заявок. Крик вломился в магазин «ДЭ» и нашел бэкдор именно там, где и ожидал. Админам определенно следовало с большим вниманием относиться к патчам.
– Я обязан проинформировать вас, что ваши действия противозаконны, – сказал агент.
– Мне казалось, я удалил эту подпрограмму, – сказал Крик.
– Вы удалили подпрограмму, которая заставляла меня информировать о подобных действиях соответствующие органы, – сказал агент. – Подпрограмма предупреждения пользователя по-прежнему действует. Желаете, чтобы я вернулся к настройкам по умолчанию и не предупреждал вас о нарушении закона?
– Да, если нетрудно, – сказал Крик. – В любом случае, я думаю, что мне ничего не грозит.
– Да, сэр, – сказал агент.
Крик загрузил ордера на продажу за последний год и натравил агента на поиск совпадений с владельцами фабрикаторов. Совпадение было полным: все заказы поступили от зарегистрированных владельцев.
– Дерьмо, – сказал Крик и защелкал ногтем по зубам. Фабрикатор пропал много лет назад; возможно, в нем использовался порошок, закупленный ранее. Однако если он работал все это время, запасы неизбежно истощились бы и требовали пополнения. Крик просто не знал, сколько исходников потребляют фабрикаторы. Хммм.
– Агент, – сказал Крик. – Можно ли определить паттерн, по которому владельцы приобретают порошок?
– Они приобретают его, когда он им требуется, – сказал агент.
– Верно, – сказал Крик. Интеллектуальные агенты, даже самые сообразительные, вроде этого, не блистают дедуктивными способностями. – Я спрашиваю, можно ли выявить повторяемость в циклах покупок? Если большинство фабрикаторов выполняют более-менее сходные задачи, то исходные материалы для них должны заканчиваться и приобретаться через приблизительно равные временные интервалы.
– Дайте подумать, – сказал агент и потратил несколько миллисекунд на обработку запроса.
Затем он выждал еще пару сотен миллисекунд, прежде чем ответить. Это соответствовало психоэргономическим принципам интеллектуальных агентов; программисты обнаружили, что получая ответ мгновенно, люди начинают считать агентов позерами и выпендрежниками.
– Примерный паттерн покупок существует, – сказал агент. – Однако для каждого фабрикатора характерен свой цикл, и его невозможно распространить на все фабрикаторы как класс.
– Есть ли в нашем списке фабрикаторы с заметными иррегулярностями в цикле покупок, или заказы, сделанные вне циклов? – спросил Крик.
– Таких фабрикаторов шесть, – сказал агент.
– Покажи производственные журналы для этой шестерки, – сказал Крик.
Агент выбросил шесть окон; через пару секунд Крик осознал, что ему нипочем в них не разобраться.
– Агент, скажи мне, отражено ли в журнала увеличение выпуска продукции, совпадающее с внеплановыми покупками? – спросил он.
– Для пяти из шести – да, – сказал агент. – Шестой этого соответствия не демонстрирует.
– Вернись к базе данных «ДЭ» и выбери все заказы на покупку порошка для этого фабрикатора за последние шесть лет, – сказал Крик. – Затем открой его производственный журнал за тот же период времени. Скажи мне, существует ли разницам между заказанными и произведенными объемами.