14 промтов для оптимизации производительности кода

Введение

Оптимизация производительности кода — это не магия, а системный процесс, основанный на данных. Согласно отчету Google Web Vitals (2026), 53% пользователей покидают сайт, если загрузка занимает более 3 секунд. При этом, по данным исследования Akamai (2025), задержка в 1 секунду снижает конверсию на 7%. Чтобы избежать таких потерь, разработчики используют профилирование — сбор метрик времени выполнения, памяти и загрузки ЦП. Однако даже опытные инженеры тратят часы на ручной анализ логов. Здесь на помощь приходят промты — готовые инструкции для AI, которые автоматизируют поиск узких мест и генерацию оптимизированного кода.

В этой подборке — 14 конкретных промтов для разных языков и сценариев. Каждый промт готов к копированию, содержит пример и пояснение. Используйте их как шпаргалку: вставьте в ChatGPT, Claude или локальную LLM.

1. Промт для поиска узких мест в Python-коде

Для чего: Выявление функций, которые потребляют больше всего времени.

Промт:

Проанализируй следующий Python-код с помощью встроенного модуля cProfile. Найди три функции с наибольшим временем выполнения (кумулятивным). Предложи конкретные оптимизации: замена циклов на list comprehensions, использование deque вместо list для операций pop(0), кэширование результатов. Верни исправленный код и оценку ускорения в процентах.

Код:
import time

def slow_function(n):
    result = []
    for i in range(n):
        result.insert(0, i)
    return result

start = time.time()
slow_function(10000)
print(time.time() - start)

Пример использования:
После запуска промта AI вернет: "Функция slow_function тратит 0.45 сек на 10 тыс. элементов. Основная проблема — insert(0) с O(n). Оптимизация: заменить на collections.deque с appendleft(). Ускорение: ~85%."

2. Промт для оптимизации SQL-запросов

Для чего: Ускорение запросов к базам данных.

Промт:

Объясни план выполнения (EXPLAIN ANALYZE) для SQL-запроса. Найди операции Full Table Scan или Nested Loop. Предложи индексы (CREATE INDEX) или рефакторинг JOIN. Верни оптимизированный запрос.

Запрос:
SELECT u.name, o.total
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE o.created_at > '2025-01-01'
ORDER BY o.total DESC;

Пример использования:
AI укажет, что отсутствует индекс на orders.created_at и orders.user_id. Предложит: CREATE INDEX idx_orders_user_date ON orders(user_id, created_at). Время запроса снизится с 12 мс до 1.5 мс.

3. Промт для анализа памяти в JavaScript

Для чего: Поиск утечек памяти в Node.js или браузере.

Промт:

Проанализируй heap snapshot (формат JSON) из Chrome DevTools. Найди объекты, которые не освобождаются (retained size > 1 MB). Укажи причину: замыкания, глобальные переменные, слушатели событий. Предложи исправления: удаление addEventListener, обнуление ссылок, использование WeakMap.

Пример использования:
AI обнаружит 5 МБ утечки из-за setTimeout без clearTimeout. Рекомендация: сохранить идентификатор таймера и очищать в componentWillUnmount.

4. Промт для рефакторинга циклов на C++

Для чего: Замена медленных циклов на алгоритмы STL.

Промт:

Замени ручной цикл for на алгоритмы STL (std::transform, std::accumulate, std::copy). Убедись, что используется move-семантика и reserve() для векторов. Верни код с комментариями о сложности.

Исходный код:
std::vector<int> v = {1,2,3,4,5};
int sum = 0;
for (int i = 0; i < v.size(); ++i) {
    sum += v[i] * 2;
}

Пример использования:
AI заменит на std::accumulate с лямбдой. Ускорение: ~40% на 10 млн элементов.

5. Промт для профилирования Java-приложений

Для чего: Анализ CPU-профилей из JFR (Java Flight Recorder).

Промт:

На основе JFR-файла (или лога) найди методы с наибольшим self time. Укажи, какие из них синхронизированы (synchronized) и могут быть заменены на Lock-Free структуры (AtomicInteger, LongAdder). Предложи использование ThreadLocal для избежания contention.

Пример использования:
AI выявит, что метод incrementCounter() тратит 60% времени из-за synchronized. Рекомендация: заменить на AtomicLong. Ускорение в 10 раз на 100 потоках.

6. Промт для кэширования в веб-приложениях

Для чего: Уменьшение времени ответа API.

Промт:

Добавь кэширование в HTTP-эндпоинт с помощью Redis или in-memory cache (lru_cache). Установи TTL = 300 секунд. Учти инвалидацию при изменении данных. Верни код на Python (FastAPI) или Node.js (Express).

Пример использования:
AI сгенерирует декоратор @cache(ttl=300) для FastAPI. Время ответа снизится с 200 мс до 3 мс.

7. Промт для оптимизации изображений

Для чего: Сжатие изображений без потери качества.

Промт:

Напиши скрипт на Python, который конвертирует все PNG в WebP с качеством 80%. Используй библиотеку Pillow. Добавь обработку ошибок и поддержку пакетной обработки. Выведи статистику размера до/после.

Пример использования:
Скрипт уменьшит размер папки с 50 МБ до 12 МБ (сжатие 76%).

8. Промт для асинхронного кода

Для чего: Конвертация синхронного кода в asyncio.

Промт:

Перепиши синхронные вызовы HTTP (requests.get) на асинхронные (aiohttp). Используй asyncio.gather для параллельных запросов. Убедись, что таймауты (5 сек) и повторные попытки (3 retry) добавлены.

Пример использования:
Время выполнения 50 запросов снизится с 25 сек до 2 сек (асинхронно).

9. Промт для анализа Big O сложности

Для чего: Определение алгоритмической сложности.

Промт:

Определи временную сложность (Big O) следующего кода. Объясни каждый шаг. Если сложность выше O(n log n), предложи альтернативу (например, замена вложенных циклов на хеш-таблицу).

Код:
for i in range(n):
    for j in range(n):
        if arr[i] == arr[j]:
            print(i,j)

Пример использования:
AI укажет O(n^2). Рекомендация: использовать словарь для поиска дубликатов за O(n).

10. Промт для оптимизации CSS

Для чего: Ускорение рендеринга в браузере.

Промт:

Найди в CSS-коде селекторы с высокой специфичностью (более 3 классов) и замени их на классы. Удали unused CSS с помощью PurgeCSS. Объедини медиа-запросы. Верни оптимизированный CSS.

Пример использования:
Размер CSS уменьшится с 150 КБ до 45 КБ (70% экономии).

11. Промт для оптимизации Docker-образов

Для чего: Уменьшение размера контейнера.

Промт:

Проанализируй Dockerfile. Предложи multi-stage сборку: используй базовый образ alpine, установи зависимости в build stage, скопируй только бинарник в финальный слой. Вычисли экономию места в МБ.

Пример использования:
Образ уменьшится с 1.2 ГБ до 150 МБ (87%).

12. Промт для анализа сетевых запросов

Для чего: Оптимизация времени загрузки страницы.

Промт:

На основе HAR-файла (экспорт из Chrome DevTools) найди запросы с временем > 500 мс. Предложи: объединение запросов (bundle), использование CDN, HTTP/2 multiplexing. Рассчитай потенциальную экономию времени.

Пример использования:
AI выявит 3 запроса к API без кэширования. После настройки Cache-Control время загрузки упадет с 2.3 сек до 0.8 сек.

13. Промт для оптимизации сборки Webpack

Для чего: Ускорение времени сборки.

Промт:

Проанализируй webpack.config.js. Предложи: использование thread-loader для многопоточности, замена TerserPlugin на esbuild, включение cache.type = 'filesystem'. Оцени ускорение в процентах.

Пример использования:
Время сборки снизится с 45 сек до 12 сек (73% ускорения).

14. Промт для оптимизации Go-кода

Для чего: Уменьшение аллокаций памяти.

Промт:

Проанализируй Go-код с помощью pprof (профиль памяти). Найди объекты, которые аллоцируются в куче (escape analysis). Предложи: использование sync.Pool для временных буферов, замена map на slice для маленьких наборов данных. Верни исправленный код.

Пример использования:
AI уменьшит количество аллокаций с 10 000 до 500 на 1000 итераций. Время выполнения сократится на 60%.

Заключение

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

Попробуйте применить любой из промтов к своему коду прямо сейчас — и вы увидите, как AI может ускорить ваш рабочий процесс. Делитесь результатами в комментариях!

← Все статьи

Комментарии

Читайте также

Как научить ИИ понимать графики: разбор набора данных ChartNet от MIT

17 июля 2026

Почему OpenAI продаёт баскетбольный мяч ChatGPT? Разбираем феномен Vibe Coding

17 июля 2026

Почему OpenAI продаёт баскетбольный мяч ChatGPT? Разбираем фишку Vibe Coding

17 июля 2026

Ускорьте свой email-маркетинг: как интегрировать Unisender с AI-агентом для автоматизации без кода

17 июля 2026

Брешь в безопасности агентов: 54% предприятий уже столкнулись с инцидентами AI-агентов, и большинство всё ещё позволяет им использовать общие учётные данные

17 июля 2026

Как мы отдаём интернет-магазин клиенту как репозиторий, который дорабатывает AI-агент: новый стандарт разработки

17 июля 2026

Как AI-агент ASI Biont интегрируется с OPC-UA (SCADA, DCS): автоматизация в реальном времени без программирования

17 июля 2026

Управление стрессом и устойчивость: тренды 2026 года и как курс на Asibiont поможет не выгореть

17 июля 2026

Математика Data Science: почему без нее не работает даже Vibe Coding

17 июля 2026