Разработка интерпретаторов
  • Разработка интерпретаторов
v3.0.3
Search Results for

    Show / Hide Table of Contents

    Организация рабочего пространства

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

    Поэтому рабочая папка — это не порядок ради порядка, а память ассистента. Несколько часов, потраченных на неё однажды, экономят одни и те же объяснения в каждой следующей сессии.

    Что в ней держать

    Одна папка, открытая в Visual Studio Code:

    work\
    ├── AGENTS.md         что ассистент должен знать каждый раз
    ├── interpreters\     исходники интерпретаторов, по папке на интерпретатор
    ├── programs\         настоящие УП станка и ожидаемые результаты
    ├── projects\         проекты CAM системы со станком
    ├── manuals\          руководство по программированию стойки
    └── notes\            ваши практики и разобранные случаи
    

    Имена не важны, важно разделение: исходники отдельно от тестовых данных, ваши знания отдельно от официальной документации.

    Программы и станок

    Положите в programs\ несколько настоящих УП этого станка, а не одну: сформированные его постпроцессором, написанные вручную, из других CAM систем. Написание слов ассистент берёт из них: одна и та же ось может встретиться как B90, B=90 и B1=90, и интерпретатор должен понимать каждое написание, которое встречается в ваших программах. Если есть постпроцессор, который формирует эти программы, положите и его: по нему видно, какие варианты слов появятся.

    Рядом держите проект CAM системы с этим станком (*.stcp) и, если есть, ожидаемый результат: что станок делает с программой. Руководство стойки в manuals\ — главный источник смысла слов; без него ассистент будет угадывать.

    Попросите ассистента составить перечень слов по всем программам — это делает навык inspect-nc-programs. Перечень показывает, какие слова интерпретатор уже понимает, а какие нет, и служит списком того, что нужно проверить после каждого изменения.

    AGENTS.md — короткая постоянная памятка

    Этот файл читается в начале каждой сессии, поэтому держите его коротким — не больше страницы, — а подробности выносите в notes\. Что заслуживает места в нём:

    • станок, стойка ЧПУ и её версия, какой интерпретатор её обслуживает;
    • версии CAM системы и NC Тюнера, в которых интерпретатор должен работать;
    • где что лежит: программы, проекты, руководство, заметки;
    • правила работы — сначала прочитать программы и руководство, изменение делать минимальным, после каждого изменения прогонять все программы и сравнивать с предыдущим результатом;
    • ограничения, которые вы уже однажды сформулировали, — записанные так, как вы их сказали. Иначе через месяц ассистент снова предложит идею, которую вы обоснованно отвергли.

    Попросите ассистента составить черновик и поправьте его — это быстрее, чем начинать с пустого файла.

    notes — где накапливается ваш опыт

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

    • Одна тема — один файл, а не один растущий: маленький файл легко найти и дёшево прочитать.
    • Описывайте текущее состояние. Оговорки вроде «раньше было иначе» со временем портятся; если папка под контролем версий, история и так есть.

    Держите в notes\ и письменный список просьб и решений по текущей задаче. Длинный разговор ассистент сжимает, и подробности из него выпадают; список — нет. Перед докладом «готово» попросите ассистента пройти по нему пункт за пунктом и показать подтверждение по каждому.

    Когда порядок работы начинает повторяться — одна и та же проверка, одна и та же последовательность для семейства стоек, — запишите его как свой навык: папку с файлом SKILL.md, как у поставляемых навыков. Клиент находит навыки только в своей папке навыков, поэтому кладите свой навык туда же, куда установлены остальные (см. расширенную настройку); файл в notes\ ассистент прочитает, только если вы на него укажете. Навык, в котором названы заказчики или особенности именно ваших станков, не передавайте вместе с интерпретатором и не публикуйте.

    Два способа хранить историю

    Папки и копии — историю ведёте вы сами

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

    Git — историю ведёт инструмент

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

    Учить git для этого не нужно. Просите словами, а делает ассистент:

    • «зафиксируй, ось B1 читается» — он фиксирует изменение с сообщением о том, зачем;
    • «сравни с тем, что было в пятницу» — он показывает, что изменилось;
    • «найди, когда перестал моделироваться цикл G83» — он ищет по истории;
    • «верни как было до последней правки» — он восстанавливает из истории, а не набирает заново.

    Если git не установлен, попросите ассистента его установить — официальная загрузка на git-scm.com. Попросите заодно исключить из истории результаты сборки (bin, obj) и журналы.

    Когда открытой папкой должна быть папка интерпретатора

    Для интерпретатора на C# Visual Studio Code должен быть открыт на папке самого интерпретатора — так работают сборка и отладка клавишей F5. Памятка и заметки при этом оказываются выше открытой папки. Достаточно двух приёмов:

    • Держите всё в одном репозитории. Пусть репозиторием будет папка work\ целиком, а папки интерпретаторов лежат внутри неё. Git работает из любой вложенной папки, и история остаётся одна.
    • Сделайте памятку видимой из папки интерпретатора. Claude Code сам читает файлы инструкций в папках выше открытой, ему ничего не нужно. Kilo Code читает только открытую папку: укажите памятку в его настройках или положите в папку интерпретатора короткий AGENTS.md из двух строк: правила — в ..\..\AGENTS.md, заметки — в ..\..\notes\. Подробно — в расширенной настройке.

    Навыки ставьте для пользователя, а не для рабочей папки: тогда они доступны при любой открытой папке, и их достаточно положить один раз.

    Чего в ней быть не должно

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

    In this article