четверг, 16 июля 2026 г.

При общении с ИИ не усложняйте вопрос, это сожрет лишние токены

 Я тут код исправляла грязными ручками. Скрипт заполнения таблицы составляется примерно так:

insert into table
( column_1, column_2, column_3, column_4)
select 'SYSTEM_A', 'ANY', 'ANY', 30 from dual union select 'SYSTEM_B', 'ANY', 'ANY', 60 from dual union select 'SYSTEM_C', 'ANY', 'ANY', 60 from dual;

Мне надо было его поправить — тут удалить строчку, там добавить, тут значение обновить... Вроде все сделала, а у меня автотесты перестали запускаться, падая на создании контекста.

Я вроде понимаю, что где-то в скрипте "typo-fix" нужен, опечатка какая-то, но какая и где? Скрипт большой, самой искать не хочется. Решила сходить к Курсору за советом. И я же научена вводить в контекст, так что подсветила ему, какая именно ошибка мне выдается при сборке:

Проверь файл C:\tmp\schema\init\my_script.sql. При сборке мавеном падает на создании контекста: Caused by: org.hsqldb.HsqlException: unexpected end of statement : line: 96. Что не так в скрипте?

Курсор ушел в себя на час! Он насоздавал 17 файлов, запустил 69 команд, перебирая скрипт и всё, что лежит вокруг. Сожрал кучу токенов, что тоже важно.



А ошибка оказалась банальной, это как внутри JSON-запроса обычно бывает, когда местами строки меняешь:
  • в последнюю строку накопипастил запятую в конце
  • в непоследнюю строку скопипастил БЕЗ запятой в конце
Тут аналогично, непоследняя строка должна быть с union и без точки с запятой, последняя — наоборот. А я в одном или двух местах сделала криво.

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

А тут я подсказала, что собираю мавеном, номер строки, на которой падает. Поэтому робот проверил эту строку — не на ней. Пошел изучать контекст, из чего скрипт в мавене собирается... И все это сожрало кучу времени и токенов =))

И ведь была у меня мысль просто попросить проверить скрипт на ошибки, вне контекста. Задать вопрос попроще. Не стоило ее отметать 🙋

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


PS — эта статья написана в помощь студентам моего курса «Применение ChatGPT в тестировании» 

Комментариев нет:

Отправить комментарий