Требования, а не решения
В разработке ПО есть классический антипаттерн: сразу предлагать решения, не потрудившись четко сформулировать требования. Часто задача настолько ограничена, что стоит выписать все требования — и решение становится очевидным. А без требований легко увязнуть в бесплодных спорах о том, какое решение лучше.
LLM ничего не знает о ваших требованиях. Когда вы просите сделать что-то, не указав ограничения, модель заполнит пробелы самыми вероятными вариантами из тренировочных данных. Иногда это нормально. Но если нужно что-то кастомное — надо об этом сказать. Если дали слишком расплывчатую задачу и модель поняла не то, лучше переписать изначальный промпт и начать заново. Оставлять неправильное понимание в контексте — себе дороже, модели будет сложнее попасть в нужную область latent space.
Кстати, если вы точно знаете, как должны работать некоторые части решения — обязательно скажите об этом LLM. Это поможет направить её в нужную сторону latent space. Но будьте осторожны: важно быть правым, потому что модель будет изо всех сил стараться следовать вашим указаниям, даже если они неуместны.
Примеры
- Попросите Sonnet сделать визуализацию — скорее всего получите SVG. Но стоит добавить "интерактивная" — и вам нарисуют React-приложение. Огромная разница из-за одного слова!