---
title: "Лучшие практики разработки с ИИ: Из моего опыта"
description: "Практические советы по разработке с ИИ: использование существующего кода, модульная реализация, тесты, планирование и обмен контекстом через Repomix."
---

# Лучшие практики разработки с ИИ: Из моего опыта

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

## Базовый подход к разработке

При работе с ИИ попытка реализовать все функции сразу может привести к неожиданным проблемам и застою проекта. Поэтому более эффективно начинать с базовой функциональности и строить каждую функцию по очереди, обеспечивая надёжную реализацию перед продвижением вперёд.

### Сила существующего кода

Этот подход эффективен, потому что реализация базовой функциональности позволяет воплотить ваш идеальный дизайн и стиль кодирования в реальном коде. Самый эффективный способ донести ваше видение проекта — через код, который отражает ваши стандарты и предпочтения.

Начиная с основных функций и обеспечивая правильную работу каждого компонента перед переходом к следующему, весь проект поддерживает согласованность, что облегчает генерацию ИИ более подходящего кода.

## Модульный подход

Разбиение кода на небольшие модули критически важно. По моему опыту, поддержание файлов размером около 250 строк кода упрощает предоставление чётких инструкций ИИ и делает процесс проб и ошибок более эффективным. Хотя количество токенов было бы более точной метрикой, количество строк более практично для работы человека-разработчика, поэтому мы используем его как ориентир.

Эта модуляризация — не только разделение фронтенда, бэкенда и компонентов базы данных — это разбиение функциональности на гораздо более мелком уровне. Например, внутри одной функции вы можете выделить валидацию, обработку ошибок и другие специфические функциональности в отдельные модули. Конечно, высокоуровневое разделение тоже важно, и постепенная реализация этого модульного подхода помогает поддерживать чёткие инструкции и позволяет ИИ генерировать более подходящий код. Этот подход эффективен не только для ИИ, но и для человека-разработчика.

## Обеспечение качества через тестирование

Я считаю тестирование критически важным в разработке с помощью ИИ. Тесты служат не только мерой обеспечения качества, но и документацией, которая чётко демонстрирует намерения кода. При просьбе к ИИ реализовать новые функции существующий тестовый код эффективно действует как документ спецификации.

Тесты также являются отличным инструментом для проверки корректности кода, сгенерированного ИИ. Например, при просьбе к ИИ реализовать новую функциональность для модуля, предварительное написание тестовых случаев позволяет объективно оценить, ведёт ли сгенерированный код себя ожидаемым образом. Это хорошо согласуется с принципами разработки через тестирование (TDD) и особенно эффективно при работе с ИИ.

## Баланс между планированием и реализацией

Перед реализацией крупномасштабных функций я рекомендую сначала обсудить план с ИИ. Организация требований и обдумывание архитектуры ведёт к более плавной реализации. Хорошая практика — сначала собрать требования, а затем перейти в отдельную сессию чата для работы по реализации.

Важно иметь человеческую проверку вывода ИИ и вносить корректировки по мере необходимости. Хотя качество кода, сгенерированного ИИ, в целом умеренное, он всё равно ускоряет разработку по сравнению с написанием всего с нуля.

## Заключение

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