Заметки LLM-энтузиаста
518 subscribers
144 photos
17 videos
1 file
175 links
Дмитрий Жечков @djdim
архитектор в Yandex Cloud,
ex. VMware NSX specialist, ex. Cisco SE

Здесь пишу свои заметки по LLM (большим языковым моделям) и AI-разработке.

Это личное мнение и не отражает официальную позицию компании, в которой я работаю.
Download Telegram
#cursor #instruction #prd #prompt

Простой пример структуры технического задания для написания софта при помощи AI-помощника

Product Requirements Documentation (PRD)

# Project Overview
xxx
xxx

# Core functionalities
1. xxx
2. xxx
3. xxx

# Documentation
xxx

# Project file structure
xxx


Как заполнить техническое задание на генерацию кода при помощи AI-помощника?

1) В секции Project Overview указывается какую задачу решает софт и какой стек технологий используется
Примеры:
- gpt extension for google docs using AppScript
- gpt telegram bot which works with text, images and voice for input/output and supports threads and streaming mode
...

2) В секции Core functionalities более детально раскрываются основные функции софта - как он решает поставленную задачу (подробное описание ключевых функций, опций меню, алгоритма взаимодействия с пользователем, указание среды запуска и т.д.)

Для брейнсторма по первым 2-м разделам PRD и консультаций по стеку технологий можно использовать обычные и reasoning модели.

3) После заполнения первых двух разделов можно определяться со структурой проекта.
Вот простой промпт для anthropic модели, который позволит определиться с оптимальной структурой проекта.

This is the project I would like to build
How should I structure my project files?
(try to create as few files as possible)

После этого результат (структуру проекта) необходимо внести в оригинальный md-файл с техническим заданием.

4) В секции Documentation имеет смысл приводить примеры работающего кода по всем разделам секции Core Functionalities
Такие примеры можно получить при помощи следующего простого промпта прямо из консоли AI-помощника в отдельной Chat сессии:
Please provide examples of implementation for all # Core Functionalities
Do not create actual files, provide only valuable examples

Примеры рабочего кода можно также получать через AI-поиск: perplexity/openai deep research и т.д.
Проверку работоспособности можно проводить в рамках отдельных мини-проектов используя Cursor Composer - это имеет смысл, только если исходный проект очень большой и валидация примеров кода может значительно упростить последующий траблшутинг всего проекта.

Как запустить генерацию кода по заранее подготовленному ТЗ?

После того как все разделы технического задания заполнены можно приступать к реализации проекта в Cursor Composer агенте. Простейший промпт выглядит следующим образом:
Read carefully instructions in the file @PRD.md and build project step by step
22🔥2
#prompt #prd #howto #improve

Полезный промпт для улучшения любого другого промпта при помощи o1/o3/R1 (reasoning) моделей

Step 1. please evaluate the prompt on a scale from 0 to 100
Step 2. if prompt score is less then 90 then improve the prompt and repeat step 1 until it scores > 90
Step 3. if prompt score is equal or more than 90 then provide the result in markdown format


Можно еще добавлять в конце:
please reason slowly, take your time when answering, the quality of the answer is my priority


Интересный факт:
- при работе с reasoning моделями промпты в стиле "делай по шагам" (step by step) либо не работают, либо ухудшают результат
- гораздо лучше написать модели, чтобы она не торопилась и потратила на свои рассуждения столько времени, сколько нужно.
Именно эту особенность reasoning моделей и использует фрагмент промпта выше.

Техническое задание на разработку софта (PRD) также является частным случаем промпта для решения задачи.
И его также можно попробовать улучшить при помощи данного подхода.

Вот как я обычно делаю, когда финальный PRD сформирован и его надо "шлифануть".
1) Выбирается reasoning модель (ceйчас лучше всего использовать o3-mini: по reasoning метрикам превосходит все остальные reasoning модели, контекст в 2 раза больше, чем у DeepSeek-R1, стоимость всего в 2 раза выше)
2) Пишу ей следующий промпт:
Here is a prompt you should work with: 
<здесь вставляю текст PRD, который ранее был сформирован>

Step 1. please evaluate the prompt on a scale from 0 to 100
Step 2. if prompt score is less then 90 then improve the prompt and repeat step 1 until it scores > 90
Step 3. if prompt score is equal or more than 90 then provide the result in markdown format

Please reason slowly, take your time when answering, the quality of the answer is my priority

В результате получаю более компактный PRD промпт.
Но его имеет смысл внимательно прочитать, чтобы случайно не выпали важные детали (фрагменты правильного кода) из раздела Documentation.
3🔥32