Как устроена разработка с помощью ИИ
Вы разговариваете с чатом. За ним работают три вида частей: серверы, которые дают ассистенту читать данные и управлять постпроцессором, расширения, которые показывают вам найденное и полученное, и среда исполнения постпроцессора, превращающая CLData в УП.
К серверам обращаются по MCP — Model Context Protocol, общепринятому способу дать чат-клиенту доступ к инструментам. Поэтому одни и те же серверы работают и в CAM Agent, и в любом чат-расширении, к которому вы их подключите.
Слово «сервер» здесь не должно смущать. Это обычные программы на вашем компьютере, которые чат-клиент запускает сам, когда они ему нужны, чтобы инструменты могли с ним обмениваться данными. Они не публикуют файлы вашего проекта и не принимают входящие сетевые подключения. Исключение — сервер знаний: он обращается к службе документации и хранит локальный кэш.
вы
|
AI-чат (CAM Agent или чат-расширение в VS Code)
|
+--> читает входные данные CLData MCP (InpCoreMCP.exe)
+--> читает и правит SPPX-пост InP MCP (inp-mcp-server.exe)
+--> управляет CAM-системой CAM MCP (cam-mcp-server.exe, по желанию)
+--> ищет по документации knowledge MCP (rag-mcp-server.exe, по желанию)
+--> показывает вам данные CLData Inspector
+--> показывает код и запускает SPPX Tools, DotNet Posts
|
v
InP (SPPX-посты) / InpCore.exe (.NET-посты) ---> УП
|
v
симуляция и ваша проверка
Из чего всё состоит
| Часть | Что это | Что она вам даёт |
|---|---|---|
| CAM Agent | Расширение CAM-системы | Чат внутри CAM-системы с доступом к проекту и постпроцессору |
| Skills (навыки) | Текстовые файлы | Написанные словами инструкции, которым следует ассистент, поэтому цикл каждый раз одинаков |
| CLData MCP | Программа на вашем компьютере, которую запускает чат-клиент | Позволяет ассистенту читать входные данные: файлы, секции, команды, параметры, станок. Ничего не изменяет |
| InP MCP | То же | Позволяет ассистенту работать с SPPX-постпроцессором: структура, код, регистры, компиляция, запуск |
| CAM MCP | То же, по желанию | Позволяет ассистенту заглянуть в исходный проект — станок, операции, инструменты — и подготовить входные данные: пересчитать траектории, выгрузить CLData, создать тестовый проект |
| Knowledge MCP | То же, по желанию; единственный, кто обращается в сеть | Ищет по снимку публичной документации и skills — по тому, что умеет продукт. То, что решила ваша команда, живёт в ваших собственных заметках |
| CLData Inspector | Расширение Visual Studio Code | Показывает вам команды и параметры, о которых говорит ассистент |
| SPPX Tools | Расширение Visual Studio Code | Поддержка редактирования *.sppx и панель Generate NC |
| DotNet Posts | Расширение Visual Studio Code | То же для постпроцессоров на C#: навигация, сборка, запуск |
| InP | Приложение CAM-системы | Исполняет SPPX-постпроцессоры; он же — среда, за которой можно наблюдать |
InpCore.exe |
Программа CAM-системы, работает без окна | Исполняет .NET-постпроцессоры |
Не путайте три названия: InP.exe — среда разработки и исполнитель SPPX-постпроцессоров; InpCore.exe — пакетный исполнитель .NET-постпроцессоров; InP MCP — сервер, через который ассистент управляет экземпляром InP. Если экземпляр недоступен, InP MCP сообщает об этом, а не запускает молча другой постпроцессор.
Оконный и безоконный режим
SPPX-постпроцессор исполняет InP, и ассистент может запустить его двумя способами.
Оконный открывает среду, за которой можно наблюдать: изменённый код, сообщения компиляции, сформированную УП. Используйте его, когда хотите следить за ходом работы и когда ассистент застрял, — вы можете продолжить сами в том же экземпляре.
Безоконный работает без окна. Он быстрее и допускает несколько параллельных прогонов, но на экране ничего нет, поэтому в вашем распоряжении только отчёт и сформированный файл.
Если ассистент сообщает, что не может запустить экземпляр, откройте InP из CAM-системы сами и дайте ему подключиться.
CLData одинаков для обеих подсистем
Обе подсистемы постпроцессирования читают одни и те же команды и параметры; различается только синтаксис обращения к ним. Поэтому ассистенту следует всегда читать фактический проект, а не рассуждать по названию команды: документация объясняет смысл команды, а проект показывает, что в ней действительно есть.
Что ассистент делает хорошо, а что не может
Он хорошо находит команду, породившую конкретный кадр УП, объясняет незнакомый обработчик, готовит небольшое изменение в стиле окружающего кода, перечисляет случаи, которые обработчик не учитывает, и сравнивает две УП кадр за кадром.
Он не может знать поведение станка, которого нет ни в данных, ни в документации, гарантировать компилируемость сформированного кода, судить о безопасности перемещений и отвечать за постпроцессор, выпущенный в производство. Успешная компиляция и успешный запуск доказывают, что сработали программы, а не что программа верна.