Искусственный интеллект для C++. Компиляция некорректна.

VA Intelligence — это ИИ для C++-разработчиков, которые хотят оставаться C++-разработчиками. Вы определяете область видимости модели. Вы пишете запрос на ввод кода. Вы проверяете изменения. Модель не поставляет код — это делаете вы. C++ — неподходящий язык для «вайб-кодирования», и мы разработали рабочий процесс, который учитывает это всерьез.

Архитектурная схема: контекстный слой VA Intelligence располагается между вашим кодом и моделями ИИ, и всё это внутри границ «вашей машины». Отсутствуют исходящие пути из исходного кода.
Выполняется на вашем компьютере. Ваш код никуда не попадает.
Наше мнение

C++ — не тот язык, под который стоит подходить для создания стильного кода.

Бум инструментов искусственного интеллекта был создан для веб-разработки. Они оптимизированы для JavaScript, Python и кода, где "в основном правильный" подход вполне приемлем. Пользовательский интерфейс по умолчанию был следующим: автодополнение в строке, постоянное индексирование, контекст, незаметно собираемый и отправляемый в облако поставщика. Генерация, принятие, выпуск, повторение.

Это реальная категория, и она полезна для множества задач. Но для C++ она не подходит.

Слово «компилируется» некорректно.

Искусственный интеллект генерирует код на C++, который компилируется. Но вам всё равно придётся гарантировать его корректность.

Мы не утверждаем, что модель устраняет разрыв между прохождением проверки компилятором и корректностью . В серьезном коде на C++ именно этот разрыв является предметом проверки репутации. Мы разработали рабочий процесс, который позволяет разработчику его преодолеть, а искусственному интеллекту — занять свое место в этом рабочем процессе.

Рабочий процесс заставляет задуматься.

Выберите. Запросите. Проверьте. Примите или отклоните. Каждый шаг — это обдуманное решение, которое вы принимаете.

Функция автодополнения вызывается автоматически, а не по умолчанию. Если это звучит как больше неудобств, чем автодополнение в строке, так оно и есть — и в этом вся суть. Мы не заинтересованы в том, чтобы помогать разработчикам выпускать код, который они не читали. Неудобства — это не недостаток. Неудобства — это часть дизайна.

Вы определяете область видимости модели.

Модель получает то, что вы ей дадите. Ничего не собирается за вашей спиной, ничего не отправляется без вашего согласия.

Ваш выбор плюс небольшое окружающее окно — это входные данные. Современные инструменты ИИ любят собирать для вас контекст; это также путь к тому, что ваш код будет прочитан, внедрен, записан в лог и использован в обучении людьми, которые не были приглашены. Мы сделали другой выбор. Результат можно проверить.

Нынешнее проявление — это локальный аспект, а не основная идея.

Сегодня это работает на вашем графическом процессоре. Основной принцип проще: вы сами решаете, куда поместить свой код. Всегда.

Исходящие звонки не содержат исходного кода. Это важно — это единственная конфигурация, которую командам, которым мы оказываем услуги, разрешено запускать. Но «локальность» — это способ , а не причина . Суть в том, что разработчик сам решает, куда будет помещен его код, и разработчик остается инженером.

VA Intelligence не призвана заменить Copilot, Cursor или любые другие инструменты ИИ, которые вы уже используете. Большинство команд будут продолжать использовать эти инструменты для большей части работы, и это нормально — они хорошо справляются со своей задачей. Мы — тот ИИ, к которому вы обращаетесь, когда эти инструменты не должны присутствовать, и тот рабочий процесс, к которому вы обращаетесь, когда «почти правильно» не является стандартом. И мы движемся к чему-то большему: контекстному слою, который позволит вам использовать понимание C++ от Visual Assist для любого инструмента ИИ, которому вы доверяете, не передавая этим инструментам исходный код. Подробнее об этом ниже.

Ознакомьтесь с полной позицией: детерминированность по замыслу →

Что было отправлено первым

Сегодня две новости. Формирование системы ещё не завершено.

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

Объясните с помощью ИИ

В контекстном меню Visual Studio, открытом над выбранным символом, выделен пункт «Объяснить работу logger_ с помощью ИИ».

Выделите функцию, цепочку макросов или блок, который вам незнаком. Нажмите Shift + Alt + Q и выберите «Объяснить с помощью ИИ» . VA выведет в редактор объяснение простым языком.

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

Shift + Alt + Q → Объяснить с помощью ИИ

Измените код с помощью ИИ

Панель вопросов и ответов VA Intelligence: опишите изменение, рассмотрите предложенные изменения, затем примите или отклоните.

Выберите фрагмент кода, опишите изменение простым языком, просмотрите предложенный вариант изменений, примите или отклоните. Изменения в файл не будут внесены, пока вы не дадите на это согласие.

Это включает в себя оптимизацию, переименование для большей ясности, небольшие рефакторинги, добавление обработки ошибок, преобразование шаблонов — длинный список мелких, но утомительных изменений, которые накапливаются. Искусственный интеллект предлагает, разработчик отменяет.

Shift + Alt + Q → Изменить код с помощью ИИ
Выборка на входе. Разница на выходе. Ничего не применяется, пока вы не дадите указание.
Куда это всё ведёт?

Продуктом является не сама модель, а контекстный слой.

Главная проблема в области ИИ для C++ — не модель. Модели постоянно совершенствуются, и те, которые мы используем сегодня на основе открытых лицензий, завтра будут заменены на более совершенные — точно так же, как вы обновляете компиляторы, не перестраивая при этом свою инженерную культуру. Главная проблема — контекст : заставить модель понимать миллионный, многолетний код на C++ достаточно хорошо, чтобы быть полезной, но не опасной.

Visual Assist уже понимает проекты на C++ такого масштаба. Наш параллельный парсер обеспечивает навигацию, рефакторинг и понимание кода в одних из самых больших кодовых баз C++ в мире. Следующий этап — предоставление доступа к этому парсеру в качестве локального контекстного слоя для модели — реальное понимание проекта, код остается на вашем компьютере.

Следующий этап, о котором мы будем говорить меньше всего, пока он не станет реальностью: тот же контекстный слой не обязательно должен ограничиваться нашей моделью. Какой бы инструмент ИИ вы ни выбрали — Copilot, Cursor, или как бы ни выглядела эта область к тому времени — пусть Visual Assist предоставит вам тщательно отобранный, учитывающий особенности проекта контекст. Вы сохраняете те инструменты ИИ, которые вам нравятся. Ваш исходный код не попадает в чужой рабочий процесс. Никаких обещаний по срокам. Только направление.

Аннотированная схема архитектуры контекстного слоя: модули парсера VA Intelligence, области видимости и выбора, а также контекстного окна расположены между кодовой базой и моделями ИИ. Подготовленный контекст передается в облако поставщика; красный крестик блокирует доступ необработанного кода за пределы машинного интерфейса.
Архитектура: парсер как контекстный слой, тщательно отобранный вывод, исходный код остается внутри.

Ваши отзывы определяют дальнейшее развитие событий — рабочие процессы, с которыми вы боретесь, шаблоны рефакторинга, для которых недостаточно инструментов, и проблемы с существующим ИИ, которые никто не решал. Мы читаем всё.

Под капотом

Как сегодня работает разведывательное подразделение Министерства по делам ветеранов.

VA Intelligence поставляется через меню расширений и запускает локальную модель Gemma через Ollama. Вот список компонентов, а также объяснение назначения каждого из них. Здесь нет ничего случайного. Каждое ограничение было выбрано нами намеренно.

Модель
Локальная модель Gemma (с открытой лицензией), предоставляемая через Ollama.
Потому что
Слой модели должен быть заменяемым по мере развития области. Позиция же — нет.
Включение
Двухэтапная процедура активации: установите модель, затем включите VA Intelligence в параметрах VA.
Потому что
Мы не внедряем ИИ без вашего запроса. Два продуманных шага, никогда не совершаемые случайно.
Аппаратное обеспечение
Минимум 12 ГБ видеопамяти, около 9 ГБ свободного места на диске для файлов моделей.
Потому что
Главное — локальное выполнение, а это значит, что реальный кремний должен выполнять реальную работу на вашем устройстве.
Призыв
Shift + Alt + Q → выберите функцию.
Потому что
Клавиатурное сочетание — это действие пользователя. Встроенные подсказки — нет.
Сеть
Исходящие звонки для выбора параметров, подсказок или генерации выходных данных не требуются.
Потому что
Ваш код будет размещаться там, где вы ему укажете. Для команд, с которыми мы сотрудничаем, отключение устройства по умолчанию является обязательным условием.
Схема: выделение в редакторе кода передает данные в локальный узел модели внутри рамки, ограниченной областью «вашего компьютера». Призрачное облако за пределами рамки перечеркивается.

Это пол, а не потолок. Архитектура построена таким образом, что слой модели можно менять, и поэтому контекст, питающий модель, может значительно расшириться за пределы одного единственного выбора.

Настраивать

Запустите его.

  1. Установите Visual Assist версии 2026.3 или более поздней — Попробуйте Visual Assist →
  2. Установите модель VA Intelligence. Меню расширений → Visual Assist → Intelligence → установить языковую модель.
  3. Проверьте аппаратное обеспечение. Минимум 12 ГБ видеопамяти, ~9 ГБ свободного места на диске.
  4. Включите функцию VA Intelligence в параметрах Visual Assist. Активируйте её с помощью комбинации клавиш Shift + Alt + Q при любом выделенном фрагменте.
Часто задаваемые вопросы

Часто задаваемые вопросы

Что такое VA Intelligence?

VA Intelligence — это локальный набор функций искусственного интеллекта, встроенный в Visual Assist, расширение IDE для C++ Microsoft Visual Studio. Он запускает модели ИИ на компьютере разработчика — код не покидает систему. Текущая версия (Visual Assist 2026.3) включает две функции: Explain with AI, которая выводит на экран объяснение выбранного блока кода на простом языке, и Change Code with AI, которая позволяет описать изменение, просмотреть предложенный diff и принять или отклонить его. Ничего не применяется к вашему файлу, пока вы явно не одобрите его.

Входит ли функция VA Intelligence в мою подписку на Visual Assist?

Да. VA Intelligence включена в каждую лицензию Visual Assist без дополнительной платы — Personal, Standard, Network и Concurrent. Она также доступна в течение 30-дневного бесплатного пробного периода. Отдельная подписка на AI или дополнительные модули не требуются.

Какие версии Visual Studio поддерживает VA Intelligence?

VA Intelligence работает со всеми поддерживаемыми в настоящее время версиями Visual Assist: Visual Studio 2015, 2017, 2019, 2022 и 2026. Хотя поддерживаются все версии, мы рекомендуем Visual Studio 2026 для наилучшего общего опыта и доступа к последним улучшениям IDE.

Мой код покидает мой компьютер?

Нет. VA Intelligence запускает модель локально через Ollama. Выбор, подсказки и контекст обрабатываются на графическом процессоре разработчика. Никакой вызов к вышестоящему серверу не передает исходный код.

Почему VA Intelligence работает локально, а не использует облачную модель искусственного интеллекта?

Поскольку команды разработчиков C++, с которыми мы работаем — игровые студии, финансовые компании, регулируемые предприятия, оборонные подрядчики — уже имеют четкие правила относительно того, где разрешено размещать исходный код, и эти правила не меняются для функций ИИ. Локальное выполнение — вот что позволяет VA Intelligence выйти на рынок. Это также та конфигурация, которую мы бы хотели использовать, даже если бы таких правил не существовало.

Какую модель она использует?

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

Нужна ли мне видеокарта?

Да. Минимум 12 ГБ видеопамяти и примерно 9 ГБ свободного места на диске для файлов модели.

Включена ли она по умолчанию?

Нет. Двухэтапная процедура активации: установите модель, затем включите интеллектуальный VA в настройках. Ничего не будет работать, пока вы явно его не включите. Мы не поставляем ИИ, если вы его не заказывали.

Работает ли он совместно с Copilot, Cursor или другими инструментами искусственного интеллекта?

Да. VA Intelligence создана для сосуществования, а не для замены. Большинство команд будут продолжать использовать встроенных ИИ-помощников для большей части своей работы; VA Intelligence предназначена для кодовых баз и ситуаций, где эти инструменты не должны присутствовать, — и она работает вместе с ними там, где это возможно.

Может ли программа генерировать новый код по запросу?

Текущий процесс построен на изменении существующих выборов — выбор, запрос, просмотр различий, принятие или отклонение. Генерация с нуля работает, но интерфейс менее удобен. Улучшения находятся в процессе.

Понимает ли система весь мой проект?

Пока нет — сегодня VA Intelligence анализирует ваш выбор, а также учитывает контекст вокруг него. Следующий этап — анализ в масштабе всего проекта. Параллельный парсер Visual Assist уже обеспечивает навигацию и рефакторинг по всей кодовой базе в масштабе; следующий шаг — позволить ему служить локальным контекстным слоем для модели. Ваш код остается на вашем компьютере. Модель получает информацию о проекте.

Почему он просто не предлагает варианты прямо в тексте?

Потому что недетерминированный ИИ, находящийся в вашем периферийном зрении, — это шум в реальном коде на C++. Мы предпочитаем, чтобы вы вызывали функцию, когда она вам нужна, а не чтобы модель гадала, что вам может понадобиться.

Разве вы не слишком трепетно ​​относитесь к ИИ? Другие инструменты прекрасно поддерживают автодополнение в строке.

Другие инструменты также поставляются для языков, где «в основном правильно» — это критерий. C++ — не такой язык. Уверенно неправильная автодополнение в JavaScript — это провал модульного теста. Уверенно неправильная автодополнение в C++ — это ошибка памяти, которая попадает в продакшн. Граница, которую мы проводим, преднамеренная, а не ностальгическая.

Почему система VA Intelligence требует от меня вручную выбирать код и просматривать различия?

Искусственный интеллект, работающий без усилий, великолепен, когда "достаточно хорошо" — это уже достаточно хорошо. C++ — это не та среда. Каждый шаг в рабочем процессе VA Intelligence — определение области выбора, написание запроса, чтение различий, принятие или отклонение — существует потому, что альтернатива — это внедрение кода в кодовую базу, которая не простит вам этого. Трудности — это и есть преимущество. Мы создаём рычаги для разработчиков, которые всё ещё хотят быть инженерами, а не автопилот для разработчиков, которые этого не хотят.

Куда мне обратиться за помощью?

Для получения подробной информации о настройке, оборудовании и функциях посетите раздел часто задаваемых вопросов (FAQ) VA Intelligence . По любым другим вопросам, пожалуйста, напишите нам .

Будьте в курсе событий

VA Intelligence поставляется со всеми версиями Visual Assist.

На странице «Что нового» отслеживаются все обновления — новости от VA Intelligence попадают туда в первую очередь.

Узнайте о новинках →