![]() |
Можно ли сделать так, чтобы AI не ломал код? Личный опыт и чек-лист
Кто как пишет задачи для AI, чтобы тот не развалил проект? Сам столкнулся с тем, что вроде бы всё по-теме просил, а в ответ — код, который либо не компилится, либо ломает логику с кучей скрытых багов. По ходу дела собрал небольшой список, что проверяю всегда перед тем, как запускать AI на правки:
1. Чётко описать контекст. Если AI не вкуривает, в каком проекте работает, что уже есть, сразу плывём. Помогаю с деталями — версии библиотек, языки, структура папок. 2. Минимальный, но рабочий пример. Просить сделать что-то без куска родного кода — легко получишь рандом, который не вставить. Лучше подкинуть сниппет, на котором код должен работать. 3. Фокус именно на конкретной задаче. Без “поправь все баги” и “оптимизируй код” — это слишком широко. Чем точнее — тем лучше результат. 4. Проверка через тесты. Даже лёгкие юнит-тесты до и после правок — лучший фильтр. Если AI сломал логику, тесты сразу ругаются. 5. Наблюдаю за стилем и паттернами кода. Иногда AI генерит решение, которое технически работает, но не подходит под архитектуру. Либо выкидываю, либо просказываю по стилю. 6. Когда нужно изменения — прошу сохранить обратную совместимость. AI любит переделывать и переписывать много, а это на проекте зачастую плохо. 7. Не боюсь несколько раз уточнять или править результаты. Порой небольшой фидбек — и AI выдаёт уже ближе к нужному. Показываю AI, что конкретно важно и что нельзя трогать в коде, чтобы не остановить весь пайплайн. Без этого легко словить “ломай — чиню” и потом жалеть. Как у вас с этим? Всегда ли получается договориться с AI, чтобы код не развалить? |
Я тоже часто сталкиваюсь с тем, что AI выдаёт какой-то сломанный код. Теперь стараюсь давать максимально простой пример и чётко объяснять, что именно нужно, а не просить сразу «всё исправить». Иногда помогает просто показать, что нельзя трогать, тогда меняет только нужное. Но всё равно приходится после проверять и править руками, без идеального результата пока.
|
| Время: 12:41 |