# Automatic Prompt Engineer (APE)

import { Callout, FileTree } from 'nextra-theme-docs'
import {Screenshot} from 'components/screenshot'
import APE from '../../img/APE.png'
import APECOT from '../../img/ape-zero-shot-cot.png'

<Screenshot src={APE} alt="APE" />
Источник изображения: [Zhou и др., (2022)](https://arxiv.org/abs/2211.01910)

[Zhou и др., (2022)](https://arxiv.org/abs/2211.01910) предлагают Automatic Prompt Engineer (APE) – фреймворк для автоматической генерации и выбора инструкций. Проблема генерации инструкций формулируется как синтез естественного языка, решаемая как задача оптимизации в черном ящике с использованием LLM для генерации и поиска вариантов решений.

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

APE находит лучший zero-shot CoT запрос, чем созданный человеком "Let's think step by step" промпт([Kojima и др., 2022](https://arxiv.org/abs/2205.11916)).

Запрос "Let's work this out in a step by step way to be sure we have the right answer." вызывает цепочку мыслей и улучшает результаты на бенчмарках MultiArith и GSM8K:

<Screenshot src={APECOT} alt="APECOT" />
Источник изображения: [Zhou и др., (2022)](https://arxiv.org/abs/2211.01910)

Эта статья затрагивает важную тему, связанную с промпт-инжинирингом, а именно идею автоматической оптимизации запросов. Хотя мы не углубляемся в эту тему в данном руководстве, вот несколько ключевых статей, если вас интересует данная тема:

- [AutoPrompt](https://arxiv.org/abs/2010.15980) – предлагает подход к автоматическому созданию промптов для разнообразных задач на основе поиска, направляемого градиентом.
- [Prefix Tuning](https://arxiv.org/abs/2101.00190) – легкая альтернатива тонкой настройке, которая добавляет обучаемый непрерывный префикс для задач генерации естественного языка.
- [Prompt Tuning](https://arxiv.org/abs/2104.08691) – предлагает механизм для обучения гибких запросов с использованием обратного распространения ошибки.