Search
Write a publication
Pull to refresh

Всем привет!

Небольшая ремарка по использованию Copylot, ChatGPT и аналогов.
На мой взгляд самая большая проблема с ними возникает не тогда, когда они генерируют ерунду - это сразу видно. Ну например, отсутствующие классы или методы. Такой код или отбрасывается, или благодаря подсказкам IDE дописывается.

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

Да, часто ошибки находятся благодаря тестам. И конечно же сгенерированный код надо проверять. Но, например, есть тривиальный код, который с одной стороны не хочется писать самому, т.к. он тривиальный, а с другой стороны он часто покрывается не модульными, а интеграционными тестами. А condition coverage у интеграционных тестов по понятным причинам хуже, чем у модульных.

Можно ли решить эту проблему - не уверен. Суть работы LLM в том, что они дают не точный ответ, а выведенный из данных модели под конкретный контекст. Поэтому добавление второй модели, которая будет проверять ответы первой, кажется не поможет. Добавлять валидаторы ответа - потребуется очень много валидаторов...

Tags:
Total votes 3: ↑3 and ↓0+3
Comments0

Articles