Кожне тактичне середовище відрізняється. Деякі підрозділи працюють із постійною високошвидкісною зв'язністю до секретного хмарного анклаву; інші просуваються вперед у райони, де єдина мережа — це mesh-радіо в рюкзаку солдата. ШІ-копілоти, що працюють лише коли зорі зійдуться — повна зв'язність, доступ до комерційної хмари, відсутність обмежень секретності — не є корисними інструментами для військових операцій. TAKpilot, ШІ-чат-копілот Corvus Intelligence для CloudTAK, побудований навколо модель-агностичної архітектури, що дає командирам і системним інтеграторам справжній вибір: запускати Claude Opus 4.7 проти Anthropic API для пікової аналітичної продуктивності або розгорнути Llama 3.3 70B на захищеному GPU-сервері з нульовою залежністю від інтернету. Ця стаття охоплює, як працює ця архітектура, як обрати правильну модель для заданого контексту місії та як налаштувати TAKpilot для граничних розгортань з фізичним розривом мережі крок за кроком.

Чому модельна агностичність важлива для оборонних розгортань

Комерційні ШІ-продукти зазвичай жорстко прив'язують одного провайдера. Цей підхід створює жорстку залежність від інтернет-зв'язності, доступності комерційного API та умов обробки даних провайдера — обмеження, які часто несумісні з секретними або оперативно чутливими середовищами. Архітектура TAKpilot вирішує це, абстрагуючи доступ до моделі за єдиним інтерфейсом: специфікацією OpenAI-сумісного API. Будь-яка модель, що розмовляє цим протоколом — чи розміщена Anthropic, AWS, Google, чи локальним сервером інференсу, що працює на тій самій стійці, що й вузол CloudTAK — є дійсним бекендом TAKpilot.

Це не теоретична гнучкість. TAKpilot оперативно розгорнутий зі Збройними силами України, де мережеві умови, обмеження зв'язності та вимоги секретності значно відрізняються в межах сил. Штабний елемент із надійною зв'язністю використовує Claude Sonnet 4.6 через Anthropic API. Передово розгорнутий підрозділ лише з тактичною радіозв'язністю запускає Llama 3.3 8B на локальному вузлі інференсу. Обидва підрозділи взаємодіють з тим самим інтерфейсом TAKpilot; відрізняється лише бекенд.

Ключова думка: TAKpilot не прив'язує жорстко жодного ШІ-провайдера. Вибір моделі — це рішення конфігурації під час виконання, яке приймає розгортач, а не обмеження продукту. Одну інсталяцію TAKpilot можна перемкнути з хмарного бекенду на локальну модель із фізичним розривом мережі, змінивши дві змінні середовища та перезапустивши процес.

Посібник з вибору моделі: відповідність можливостей контексту місії

TAKpilot підтримує три рівні моделей Claude через Anthropic API, а також повний діапазон відкритих моделей через OpenAI-сумісний інтерфейс. Вибір між ними передбачає компроміси між глибиною міркувань, затримкою, оперативною вартістю та вимогами до зв'язності.

Claude Opus 4.7: складний багатокроковий аналіз

Opus 4.7 — це Claude-модель найвищої спроможності та правильний вибір для завдань, що потребують тривалих багатокрокових міркувань: синтез ISR-звітів з кількох джерел, генерування детальних бойових наказів із фрагментарних інструкцій або аналіз неоднозначних сенсорних даних, де хибнопозитивні результати несуть серйозні оперативні наслідки. Компроміс — затримка: Opus 4.7 продукує токени повільніше, ніж Sonnet чи Haiku, а вартість за токен вища. Для аналітичної роботи рівня штабу S2 та S3, де час відповіді вимірюється хвилинами, а не секундами, Opus 4.7 є відповідним вибором. Він потребує зв'язності з Anthropic API або з AWS Bedrock / Google Vertex з увімкненою моделлю Opus.

Claude Sonnet 4.6: збалансована продуктивність для щоденного управління COP

Sonnet 4.6 — це рекомендована за замовчуванням модель для активних операцій, де оператори видають розмовні команди COP — розміщення маркерів, запити позицій підрозділів, побудова пакетів даних, підписка на канали. Вона забезпечує сильне виконання інструкцій та точність використання інструментів за нижчої затримки, ніж Opus, що робить її достатньо чутливою для інтерактивного використання без накладних витрат на запуск Opus для кожного розміщення маркера на карті. Sonnet 4.6 — це модель, що використовується в оперативному розгортанні TAKpilot з українськими силами як базова конфігурація для підключених елементів.

Claude Haiku 4.5: пріоритет швидкості для високочастотних завдань

Haiku 4.5 оптимізований для затримки та пропускної здатності. Він є відповідним вибором для високочастотних, добре структурованих команд — запитів поточних треків, переліку місій, отримання даних про позиції для конкретних позивних — де завдання достатньо рутинне, щоб не потребувати максимальної здатності до міркувань. Haiku відповідає швидше за Sonnet і за значно нижчої вартості за токен, що має значення в середовищах, де TAKpilot обробляє великий обсяг запитів операторів у кількох одночасних сесіях. Він також має сенс як запасна модель у періоди тиску обмеження частоти API.

Відкриті моделі для середовищ із фізичним розривом мережі

Коли хмарна зв'язність недоступна або вимоги секретності забороняють зовнішні виклики API, TAKpilot маршрутизує інференс до локально розміщеної моделі через OpenAI-сумісну кінцеву точку. Три моделі були валідовані для шаблонів використання інструментів TAKpilot:

  • Llama 3.3 70B — 70B інструкційно-налаштована модель Meta забезпечує найсильнішу точність використання інструментів серед відкритих моделей, валідованих з TAKpilot. У 4-бітній квантизації (Q4_K_M) вона вміщується на сервер із двома GPU або один A100 і видає 25–40 токенів на секунду — достатньо для розмовних взаємодій з COP. Це рекомендований варіант за замовчуванням з фізичним розривом мережі для добре забезпечених граничних розгортань.
  • Qwen 2.5 72B — Qwen 2.5 від Alibaba на 72B параметрів працює порівняно з Llama 3.3 70B на структурованих викликах інструментів і має сильнішу багатомовну продуктивність, що може бути цінним для коаліційних операцій або неангломовних підрозділів. Вимоги до обладнання подібні.
  • Mistral Large — інструкційно-налаштована модель Mistral доступна як варіант локального розгортання та добре працює на завданнях класифікації та маршрутизації. Це розумний вибір, коли потрібен менший слід і командне навантаження відносно структуроване.
  • Llama 3.3 8B — для середовищ із серйозними обмеженнями обладнання (один споживчий GPU, 8–12 ГБ VRAM) варіант 8B у 4-бітній квантизації забезпечує прийнятну продуктивність для простих запитів COP. Складні багатокрокові послідовності інструментів деградуватимуть відносно моделі 70B, тому оператори мають очікувати більш явного формулювання інструкцій.

Ключова думка: Надійність використання інструментів зменшується зі зменшенням розміру моделі. Моделі класу 70B (Llama 3.3 70B, Qwen 2.5 72B) підтримують прийнятну точність виклику інструментів для викликів CloudTAK API TAKpilot. Моделі нижче 13B параметрів демонструють значно вищі показники неправильно сформованих викликів інструментів і мають бути валідовані проти вашого конкретного командного навантаження COP перед оперативним використанням.

Хмарні бекенди для секретних середовищ: AWS Bedrock та Google Vertex

Не всі хмарні розгортання еквівалентні з точки зору секретності та резидентності даних. Anthropic API надсилає трафік інференсу до інфраструктури Anthropic. Для середовищ, що потребують, аби дані залишалися в межах конкретного хмарного анклаву — AWS GovCloud, Azure Government або тенант Google Workspace for Government — TAKpilot підтримує маршрутизацію моделей Claude через AWS Bedrock та Google Vertex AI, які обробляють розміщення моделей у межах хмарної периферії замовника.

AWS Bedrock надає Claude Opus 4.7, Sonnet 4.6 та Haiku 4.5 через стандартний AWS SDK. З точки зору TAKpilot, зміна конфігурації — це заміна базової URL API та методу автентифікації: замініть ключ Anthropic API на облікові дані AWS IAM (через змінні середовища або роль екземпляра) та встановіть TAKPILOT_PROVIDER=bedrock з відповідним регіоном AWS. Доступні ті самі моделі Claude; трафік інференсу залишається в межах мережевої периферії AWS і підпорядковується угодам про обробку даних AWS замовника, а не комерційним умовам Anthropic.

Google Vertex AI пропонує той самий доступ до моделей Claude через model garden Google. Конфігурація слідує тому самому шаблону: встановіть TAKPILOT_PROVIDER=vertex з ідентифікатором проєкту GCP та обліковими даними сервісного акаунта. Для організацій, що вже працюють у межах хмарних пропозицій оборонного класу Google, це утримує весь трафік інференсу в межах наявного периметра безпеки.

Підтримка OpenAI-сумісної кінцевої точки

Шлях TAKpilot із фізичним розривом мережі використовує ту саму специфікацію API OpenAI Chat Completions, яка стала фактичним стандартом для локальних серверів інференсу моделей. Це означає, що TAKpilot сумісний з будь-яким середовищем виконання інференсу, що реалізує цей інтерфейс — Ollama, vLLM, сервер llama.cpp, LM Studio, Hugging Face TGI та будь-яким власним контейнером, що обгортає модель OpenAI-сумісним REST-рівнем.

Конфігурація навмисно мінімальна. Двох змінних середовища достатньо, щоб перенаправити TAKpilot з Anthropic API на будь-яку локальну кінцеву точку:

# Direct TAKpilot to a local Ollama inference server
TAKPILOT_API_BASE=http://192.168.1.50:11434/v1
TAKPILOT_MODEL=llama3.3:70b-instruct-q4_K_M
TAKPILOT_API_KEY=ollama

# Or to a vLLM server running Qwen 2.5
TAKPILOT_API_BASE=http://10.0.1.20:8000/v1
TAKPILOT_MODEL=Qwen/Qwen2.5-72B-Instruct
TAKPILOT_API_KEY=vllm-token

Коли встановлено TAKPILOT_API_BASE, TAKpilot за жодних обставин не намагається звертатися до Anthropic API. Немає запасного варіанту переходу до хмарних моделей, якщо локальна кінцева точка недоступна — TAKpilot поверне помилку оператору, а не мовчки маршрутизуватиме трафік до непередбаченої кінцевої точки. Це навмисна поведінка безпеки для секретних середовищ.

Ізоляція даних у пісочниці за сесію

Незалежно від того, який бекенд моделі використовується, TAKpilot застосовує ту саму модель ізоляції сесій. Кожне підключення оператора створює контекст сесії в пам'яті, що містить історію розмови, очікувані виклики інструментів та будь-які дані COP, отримані з CloudTAK під час сесії. Цей контекст ніколи не записується на диск, ніколи не поширюється з іншими сесіями і ніколи не надсилається до жодної кінцевої точки, крім налаштованого бекенду моделі.

Коли оператор відключається — чи закриваючи панель чату CloudTAK, чи після налаштовуваного тайм-ауту сесії — контекст сесії видаляється з пам'яті. Немає збереження сесії між підключеннями. Оператор, що повторно підключається, починає свіжий контекст без знання про команди попередньої сесії чи отримані дані.

Ключова думка: Пісочниця сесії TAKpilot означає, що навіть у хмарно-підключених розгортаннях вікно експозиції обмежене тривалістю сесії. Сесія, що обробляє єдиний тактичний запит і закривається, експонувала бекенду моделі лише дані цього запиту. Немає накопичувального сховища даних, що зростає з використанням.

Для розгортань із фізичним розривом мережі гарантія пісочниці абсолютна: контекст сесії ніколи не перетинає межу мережі, оскільки бекенд моделі знаходиться в тому самому сегменті мережі. Оператори, що обробляють секретні дані COP, мають використовувати режим фізичного розриву мережі проти локальної моделі — пісочниця за сесію забезпечує, що секретні дані обробляються лише локальним вузлом інференсу та видаляються по завершенні сесії.

Як розгорнути TAKpilot з Llama 3.3 на тактичному обладнанні з фізичним розривом мережі

Наступна процедура передбачає вже розгорнутий екземпляр TAKpilot Node.js, підключений до сервера CloudTAK. Для початкового розгортання CloudTAK дивіться посібник з розгортання сервера CloudTAK. Сервер інференсу має бути в тій самій тактичній LAN, що й CloudTAK та TAKpilot.

Крок 1: Розгорніть GPU-сервер інференсу в тактичній LAN

Встановіть Ollama на Linux-сервері (рекомендується Ubuntu 22.04 LTS) щонайменше з одним NVIDIA GPU. Перевірте розпізнавання GPU:

curl -fsSL https://ollama.com/install.sh | sh
nvidia-smi   # should list GPU(s)
ollama --version

Призначте серверу статичну IP-адресу в тактичній LAN (наприклад, 192.168.1.50). Переконайтеся, що порт 11434 доступний з хоста TAKpilot. За замовчуванням Ollama прив'язується лише до 127.0.0.1 — щоб приймати LAN-з'єднання, встановіть OLLAMA_HOST=0.0.0.0 у середовищі сервісу Ollama.

Крок 2: Завантажте модель Llama 3.3

# 70B model — requires ~40 GB VRAM (dual GPU or A100)
ollama pull llama3.3:70b-instruct-q4_K_M

# 8B model — fits on a single 8 GB GPU
ollama pull llama3.3:8b-instruct-q4_K_M

Команда pull завантажує ваги моделі через інтернет. Для повністю ізольованих середовищ, де навіть це початкове завантаження заборонене, перенесіть файл моделі вручну: завантажте файл GGUF на підключеній машині, скопіюйте його на сервер через знімний носій та імпортуйте за допомогою ollama create. Документація Ollama охоплює офлайн-процедуру імпорту.

Крок 3: Перевірте OpenAI-сумісну кінцеву точку

# From the TAKpilot host
curl http://192.168.1.50:11434/v1/models
# Expected: {"object":"list","data":[{"id":"llama3.3:70b-instruct-q4_K_M",...}]}

Якщо запит перевищує тайм-аут, перевірте, що Ollama прив'язана до 0.0.0.0 і що жодний хостовий брандмауер не блокує порт 11434.

Крок 4: Налаштуйте змінні середовища TAKpilot

# .env or systemd service environment
TAKPILOT_API_BASE=http://192.168.1.50:11434/v1
TAKPILOT_MODEL=llama3.3:70b-instruct-q4_K_M
TAKPILOT_API_KEY=ollama

# Unset or leave empty — TAKpilot will not fall back to Anthropic
# ANTHROPIC_API_KEY=

Крок 5: Запустіть TAKpilot і підтвердьте маршрутизацію моделі

Запустіть процес Node.js TAKpilot та перевірте журнал запуску на рядок бекенду моделі. Потім надішліть тестову команду через чат-інтерфейс CloudTAK і підтвердьте, що відповідь повертається. Моніторте використання GPU сервера інференсу за допомогою nvidia-smi dmon, щоб переконатися, що інференс виконується локально.

Крок 6: Перевірте використання інструментів за командою COP

Надішліть структуровану команду COP: "List all active units in Alpha Company." TAKpilot має викликати інструмент CloudTAK list_units і повернути відформатовану відповідь. Якщо модель повертає звичайну текстову відповідь без виклику будь-яких інструментів, це вказує, що здатність моделі виконувати інструкції недостатня для схем виклику інструментів TAKpilot — перейдіть до варіанту 70B або до Qwen 2.5 72B.

Крок 7: Підтвердьте, що жодний трафік не виходить за межі мережі

# On the TAKpilot host — capture any traffic not destined for the LAN
tcpdump -i eth0 -n 'not net 192.168.1.0/24 and not net 10.0.0.0/8'

Надішліть кілька команд TAKpilot і підтвердьте, що жодних пакетів не з'являється у виводі tcpdump. Увесь трафік інференсу моделі має залишатися в межах тактичної LAN. Якщо спостерігаються пакети до зовнішніх IP-адрес, перевірте конфігурацію середовища TAKpilot — переконайтеся, що TAKPILOT_API_BASE встановлено правильно і що ANTHROPIC_API_KEY відсутній у середовищі.

Компроміси продуктивності для поширених завдань COP

Практичні відмінності продуктивності між хмарними та граничними моделями стають очевидними швидко в діапазоні завдань, які обробляє TAKpilot. Наведені характеристики засновані на спостережуваній поведінці в розгортаннях TAKpilot, а не на опублікованих бенчмарках.

Розміщення маркерів та запити підрозділів є найпоширенішими взаємодіями з COP. Як Claude Haiku 4.5, так і Llama 3.3 8B обробляють їх точно та з низькою затримкою. Завдання добре структуроване — оператор каже, де розмістити маркер, TAKpilot викликає CloudTAK API — і потребує мінімальних міркувань. Будь-яка модель підходить. Для варіанту 8B явні формати координат (десяткові градуси або MGRS) покращують точність; модель може мати труднощі з неоднозначними посиланнями на місцеположення.

Багатокрокове управління місіями — створення місії, призначення груп, приєднання пакета даних та підтвердження результату — потребує від моделі підтримувати контекст у кількох викликах інструментів. Claude Sonnet 4.6 обробляє це надійно. Llama 3.3 70B обробляє це з прийнятною точністю. Llama 3.3 8B має труднощі з послідовностями довшими за три виклики інструментів і не має використовуватися для складних робочих процесів управління місіями.

Документна та зображувальна розвідка — обробка PDF, зображень та розвідувальних звітів, завантажених до сесії TAKpilot — значно виграє від більших моделей. Claude Opus 4.7 та Sonnet 4.6 забезпечують найбільш зв'язний синтез багатосторінкових документів. Завдання на основі зору (аналіз вкладень PNG/JPG) потребують моделі зі зоровою спроможністю; Llama 3.3 лише текстова. Для завдань зору в середовищах із фізичним розривом мережі потрібен був би LLaVA або варіант Qwen-VL.

Часті запитання

+Які моделі ШІ TAKpilot підтримує з коробки?

TAKpilot постачається з підтримкою повного сімейства моделей Claude — Opus 4.7, Sonnet 4.6 та Haiku 4.5 — через Anthropic API або AWS Bedrock та Google Vertex AI. Він також підтримує будь-яку модель, доступну через OpenAI-сумісну кінцеву точку, що охоплює Llama 3.3, Qwen 2.5, Mistral Large та будь-яку іншу відкриту модель, що обслуговується Ollama, vLLM, llama.cpp або власним контейнером інференсу. Активна модель обирається через змінні середовища TAKPILOT_MODEL та TAKPILOT_API_BASE — без змін коду.

+Чи може TAKpilot працювати без інтернет-з'єднання?

Так. Шлях розгортання TAKpilot з фізичним розривом мережі маршрутизує весь інференс моделі до локального OpenAI-сумісного сервера інференсу, що працює в тій самій тактичній LAN або на тому самому фізичному хості. Жодний трафік не залишає мережу. Оператори розгортають модель на зразок Llama 3.3 70B або Qwen 2.5 72B на захищеному GPU-сервері, виставляють її на приватній кінцевій точці (наприклад, http://192.168.1.50:11434/v1) і встановлюють TAKPILOT_API_BASE на цю адресу. TAKpilot підключається до неї так само, як підключався б до хмарного провайдера — транспортний рівень є єдиною відмінністю.

+Як TAKpilot забезпечує, що дані оператора не залишають мережу?

TAKpilot застосовує пісочницю за сесію для всіх даних оператора. Кожна сесія оператора отримує ізольований контекст, який ніколи не записується на диск і не поширюється між сесіями. Коли оператор відключається, контекст сесії — включно з усіма повідомленнями, результатами викликів інструментів та посиланнями на COP — видаляється з пам'яті. Для хмарних моделей (Claude через Anthropic API) застосовуються корпоративні політики даних Anthropic; для розгортань з фізичним розривом мережі з локальними моделями дані ніколи не залишають тактичну LAN, оскільки кінцева точка інференсу локальна. Оператори, що працюють із секретними навантаженнями, мають завжди розгортати TAKpilot у режимі фізичного розриву мережі проти локально розміщеної моделі.

+Які вимоги до обладнання для запуску Llama 3.3 70B на тактичному граничному сервері?

Llama 3.3 70B у 4-бітній квантизації (GGUF Q4_K_M) потребує приблизно 40 ГБ VRAM. Одного NVIDIA RTX 4090 (24 ГБ) недостатньо за повної точності; для повного інференсу 70B параметрів рекомендується конфігурація з двома GPU або сервер класу A100/H100. Для більш обмеженого тактичного обладнання Llama 3.3 8B (Q4_K_M, ~5 ГБ VRAM) або Qwen 2.5 7B забезпечують прийнятну продуктивність на одному споживчому GPU. Швидкість інференсу 70B на A100 становить приблизно 25–40 токенів на секунду, що достатньо для розмовних взаємодій з COP із прийнятною затримкою.

+Чи може TAKpilot перемикати моделі під час операції без перезапуску сервера?

Вибір моделі у поточному релізі TAKpilot встановлюється при запуску через змінні середовища та застосовується до всіх сесій. Гаряче перемикання моделей без перезапуску сервера не підтримується в базовій конфігурації. Однак, оскільки TAKpilot є відкритим кодом під AGPL-3.0, розгортачі, яким потрібен вибір моделі за сесію, можуть розширити API конфігурації. Поширений шаблон для середовищ з кількома рівнями секретності — запуск двох екземплярів TAKpilot на окремих портах: один підключений до хмарної кінцевої точки Claude для несекретної роботи, інший — до локальної кінцевої точки Llama для секретних операцій, з маршрутизацією операторів до відповідного екземпляра через зворотний проксі.