Богомерзкiй ИИ - 13. Что дѣлать
Apr. 12th, 2026 09:07 pmНа выходныхъ сидѣлъ съ богомерзкимъ ИИ. За нѣсколько часовъ реализовалъ интерпретаторъ небольшого игрушечнаго языка программированiя.
Получилъ отвѣты на вопросы типа: какая библиотека быстрѣе для парсинга, имѣетъ ли смыслъ использовать Parametric HOAS или простой HOAS въ разныхъ варiантахъ.
Но совершенно ничего не узналъ и не понялъ собственно про технику реализацiи языковъ программированiя. Читать кодъ - "некогда, пилить надо". Да и недостаточно это - читать кодъ. Кодъ надо писать самому.
Собственно не получилъ никакихъ знанiй, скажемъ, про HOAS, какъ и почему онъ работаетъ, можно ли его упростить или ускорить, гдѣ слабыя мѣста. На бенчмаркахъ увидѣлъ, что HOAS въ 100 разъ быстрѣе наивной ADT-реализацiи (data Term = Var a | Lambda Term Term | App Term Term) на одной бенчмаркѣ и на 50% медленнѣе на другой. Почему? Можно ли какъ-то поправить дѣло? Пока неизвѣстно. Бенчмарки пришлось править вручную - богомерзкiй ИИ накосячилъ такъ, что за всю ночь такъ и не заканчивался процессъ.
Пока что два практическихъ вывода:
- При пользованiи ИИ полезно всегда видѣть, сколько стоилъ каждый запросъ. Видѣть, сколько еще осталось за мѣсяцъ. Это сильно помогаетъ принять рѣшенiе не использовать ИИ для той или иной конкретной задачи.
- Использовать ИИ только какъ справочникъ, замѣну гуглу. Какiя опцiи въ такой-то программѣ, почему не устанавливается, что означаетъ такая-то ошибка. Все остальное думать и писать самому.
Получилъ отвѣты на вопросы типа: какая библиотека быстрѣе для парсинга, имѣетъ ли смыслъ использовать Parametric HOAS или простой HOAS въ разныхъ варiантахъ.
Но совершенно ничего не узналъ и не понялъ собственно про технику реализацiи языковъ программированiя. Читать кодъ - "некогда, пилить надо". Да и недостаточно это - читать кодъ. Кодъ надо писать самому.
Собственно не получилъ никакихъ знанiй, скажемъ, про HOAS, какъ и почему онъ работаетъ, можно ли его упростить или ускорить, гдѣ слабыя мѣста. На бенчмаркахъ увидѣлъ, что HOAS въ 100 разъ быстрѣе наивной ADT-реализацiи (data Term = Var a | Lambda Term Term | App Term Term) на одной бенчмаркѣ и на 50% медленнѣе на другой. Почему? Можно ли какъ-то поправить дѣло? Пока неизвѣстно. Бенчмарки пришлось править вручную - богомерзкiй ИИ накосячилъ такъ, что за всю ночь такъ и не заканчивался процессъ.
Пока что два практическихъ вывода:
- При пользованiи ИИ полезно всегда видѣть, сколько стоилъ каждый запросъ. Видѣть, сколько еще осталось за мѣсяцъ. Это сильно помогаетъ принять рѣшенiе не использовать ИИ для той или иной конкретной задачи.
- Использовать ИИ только какъ справочникъ, замѣну гуглу. Какiя опцiи въ такой-то программѣ, почему не устанавливается, что означаетъ такая-то ошибка. Все остальное думать и писать самому.