Михаил Омельченко | AI&IT
4.67K subscribers
806 photos
171 videos
4 files
576 links
Меня зовут Михаил Омельченко.
Предприниматель в сфере внедрения ИИ в бизнес-процессы. 20 лет в IT.

Рассказываю о нейросетях, веб разработке, программировании и IT простым языком.

YouTube - https://www.youtube.com/c/DjangoSchool
Download Telegram
Хотел сегодня написать про автоматизацию, но продолжу отвечать на комментарии.

Автор снова "слышит звон...")))

промты типа = "ты – опытный преподаватель" или "играй роль пиратского рассказчика" = Бесполезный шлак!

хочешь задать роль, чтобы было эффективно?
- найди Конкретную личность (известную ии) - задай эту роль (например, роль автора книги "Пиши сокращай")
- найди описание вакансии или резюме конкретное (например, маркетолога ibm)- предварительно попроси нейронку составить детальный портрет этой личности
- однозначно уточни компетенции или прошлый опыт в роли, если ты сам нифига не понимаешь в этом

с таким подходом - роль работает, да

а ""ты – опытный преподаватель" - Х***a


Соглашусь с автором комментария.
В своем посте, что бы это были не мои слова, я сделал ссылку на документацию OpenAI и Anthropic. Где объясняется как верно задавать роль.

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

Там же есть шаблон базовой структуры ролевого промпта
Выступи в роли [эксперт/специалист]. [Дополнительный контекст о роли]. [Конкретная задача].


Обратите внимание на [Дополнительный контекст о роли], это то о чем говорит автор комментария.

Теперь разберем приведенные мною примеры, на которые отреагировал автор комментария, "ты – опытный преподаватель" или "играй роль пиратского рассказчика".

Нужно понимать, в какой ситуации и для какой задачи, вам может потребоваться описание роли именно таким образом, без уточнения деталей.

На скриншотах приведен пример как пишет опытный и не опытный преподаватель. Обратите внимание, что есть контекст и задача.

В примерах с преподавателем, меняется подача и стиль.

Такую роль можно использовать для задачи, где нужен диалог преподавателя и учеников. Например в сценарии или рассказе, или сами придумайте задачу.


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

Примерах на скриншоте с "играй роль пиратского рассказчика", мне нужна просто идея или вдохновение. Но ролью я задал нужный стиль.
Обратите внимание на скриншот без этой роли.

Когда вы решаете более сложную задачу или нужно задать верное направление диалога, то давайте контекст и больше деталей для роли.

Какой я хочу сделать вывод, задавать роль нужно так, как требует того задача.


Комментарий
Я всегда за диалог и итерации. Как по мне любой промпт больше 2 предложений это или новичок, или втюхивают "инсайт")

Не соглашусь. Всё зависит от задачи. В примерах на скриншоте хватило и двух - трех предложений. Но есть более сложные задачи, где нужно уточнить детали. Писал об этом в этом посте и ссылался на документацию OpenAI и Anthropic.

Есть задачи которые повторяются и решать их каждый раз диалогом не разумно.

Например, у меня есть текст который был транскрибирован из аудио записи. В записи 10 человек рассказывают о проблемах в их районе. И мне нужно найти повторяющиеся проблемы и выстроить их по важности и по количеству (на самом деле задача может быть сложнее).

Я подготовлю один промпт, и буду его переиспользовать, так как такая задача у меня частая. Смысла в диалоге нет.

А таких задач которые мы хотим автоматизировать, у нас с вами много.

По поводу написания такого промпта. В том же посте я дал советы, как в режиме диалога прийти к нужным инструкциям и готовому промпту.


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

вставляете свой промт в его начало (там место есть) - получаете развернутую инструкцию (ее нужно вычитать предварительно перед отправкой ии)

Это иногда ошибка. Не всегда сгенерированные промпты получаются верными и решающими задачу пользователя нужным образом.

Без минимального понимания промпт-инжиниринга скорректировать промпт будет сложно. Проверено десятками примеров разных людей.
1🔥12👍51
Как писать промпты для думающей модели

Модели о-серии (o3, o4-mini) описываются самой OpenAI как reasoning models. Они решают сложные задачи, "думая" внутри себя, а не только генерируя текст.

OpenAI прямо предупреждает: не добавляйте в запросы фразы вроде "Давай подумаем шаг за шагом". У таких моделей уже есть внутренний chain-of-thought. Дополнительная инструкция может ухудшить ответ.

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

OpenAI советует начинать промпт с основной инструкции (роли, задачи), а потом при необходимости добавлять уточнения или контекст, так модель быстрее "понимает" цель.

Чек-лист
▪️ Роль → задача → (при необходимости) дополнительный контекст.
▪️ Никаких "Думай пошагово"
▪️ Формулировки чёткие, без "воды".
▪️ После ответа уточняйте запрос, а не переписывайте его заново, итерации полезны.

Источник
Cookbook

#ai #нейросети #chatgpt
1🔥83
Как писать промпты для "не думающих" моделей

Под "не думающими" моделями OpenAI подразумевает GPT-4o, GPT-4.1 и их mini-версии. Эти модели не создают скрытую внутреннюю цепочку рассуждений, поэтому им полезно давать подсказку "думай пошагово" и задавать чёткую структуру.

Фраза "Давай подумаем шаг за шагом" (chain-of-thought) помогает модели разложить задачу на этапы, улучшая качество ответа.

Совет: поместите эту фразу в конце промпта, чтобы сначала дать инструкции, а затем указать, как рассуждать.


OpenAI рекомендует начинать промпт с главной инструкции и отделять её от контекста символами ### или """. Так модель быстрее улавливает задачу.

Уточняйте желаемый формат, длину, стиль и т. д. Чем точнее описание, тем меньше "творчества" и лучше результат.

Модели лучше следуют формату, если вы показываете пример (few-shot). Например, показать шаблон JSON или образец списка.

Начинайте с одного короткого запроса (zero-shot). Если ответ неточный, добавьте пару примеров (few-shot). Это официально рекомендуемый порядок итераций.

Даже без скрытого "рассуждения", GPT-4.1 подчиняется чётким инструкциям. Достаточно одного ясного предложения, чтобы "перенастроить" модель на желаемое поведение.

Источники
GPT-4.1 гайд
Best practices


#ai #нейросети #chatgpt
🔥63
Полноценный промпт — это не всегда просто две-три фразы.

Он похож на чёткое техническое задание: сначала задаёт роль модели, затем формулирует задачу, перечисляет ограничения и описывает формат ответа.

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

Такой промпт часто длиннее, потому что каждое требование или пример экономит вам итерации: модель сразу понимает, что от неё ждут.

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

Но длина не равна пользе. "Вода" — это текст без новой инструкции, контекста или формата. Создаёт шум, сдвигает внимание модели.

Если начать с обращения "Привет, мой дорогой и любимый ИИ, надеюсь, у тебя отличное настроение…", токенов станет больше, а смысл тот же. Убирайте такие части.

Пример из Cookbook о "meta prompting" показывает, как из короткого запроса ("Сделай резюме статьи") поэтапно строится длинный, но структурированный промпт.
Ответ становится лучше именно потому, что каждый элемент служит цели.

Чёткий промпт
Ты — HR-менеджер международной компании. Подготовь письмо-отказ кандидату на позицию data-аналитика.  
Тон: уважительный, деловой.
Язык: русский.
Структура:
1) благодарность, 2) краткая причина отказа, 3) пожелание успехов.
Длина: 120–150 слов.
Не упоминай внутренние процессы отбора.



Источники
Best practices for prompt engineering with the OpenAI API (п. 2 "Put instructions at the beginning…")

GPT-4.1 Prompting Guide (раздел Prompt Organization)

Enhance your prompts with meta prompting

#ai #нейросети #chatgpt
👍10🔥3
Работаю сейчас с Codex от OpenAI.

Для лучшей работы агента, советуют добавить файл agents.md в котором описать: структура проекта, стек, стиль кода, работа с Git, настройки проекта, запуск, тестирование и т.д.

Эта информация помогает Codex понять структуру кодовой базы и как генерировать код, который интегрируется с существующей кодовой базой.

В общем, файл agents.md помогает Codex понять как принято работать у вас в проекте.

У OpenAI есть несколько примеров таких файлов и один из них это проект на Django. Конечно есть моменты с которыми я не согласен (например где должна быть бизнес логика), но это уже моя проблема 😂.

Ссылка на все файлы
Ссылка на Django


Кто создаст файл agents.md для FastAPI?

#ai #нейросети #chatgpt #codex
👍64🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Интересная анимация у Codex
7👍3🔥1
Media is too big
VIEW IN TELEGRAM
Написал agents.md для Codex.
Есть инструкция, чтобы он запускал скрипт и если будут ошибки исправлял их.

Там ruff, black, mypy, import-linter, тесты и т.д и т.п.

Но в скрипте который он запускает есть ошибка, которая связана не с самим скриптом. Например, в зависимостях не та версия mypy. Но это не единственная проблема.

На видео, процесс того, как он пытается решить эти проблемы.
По сути, он сталкивается с ошибкой, переписывает настройки и проверяет всё ли работает. Если опять сталкивается с ошибкой, тот же процесс. Делает исправления в других файлах проекта.
И так до тех пор, пока не останется ошибок.

Имеет доступ к интернету и может устанавливать зависимости. В pre-commit добавлена библиотека bandit, чтобы проверять код на уязвимости.


Видео ускорено в 5 раз.
👍1264
В клубе по веб разработке делаем с ребятами игру.
Для реализации клиента взяли движок Godot.

И конечно я нашел MCP для Godot. На днях буду пробывать.

Две реализации
GitHub Godot MCP 1

GitHub Godot MCP 2

#ai #нейросеть #mcp #godot
👍12
Я всё ищу способы и темы, на которые GPT сможет писать шутки.

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

Есть шутки которые вызвали улыбку.
Вот несколько из них:
Вечное противостояние
Программист: «Я знаю, как это работает».
Вайб‑кодер: «Я чувствую, что оно работает».
QA: «А я знаю, что оно не работает».


— А зачем у тебя в проекте папка __vibe__?
— Там всё, что я не понял, но работает.
— Там весь проект.
— Ну вот.


Конфуций сказал:
Если долго сидеть на проекте и ничего не делать — рано или поздно придёт вайб‑кодер и напишет говнокод за тебя.


Подобные шутки выкладываю в канале Бредовые истории
😁19👍2
Когда Codex наговнокодил, а я его прошу сделать рефакторинг и привести всё к архитектуре прописанной в файле agents
👍4😁1
Самое интересное, что Codex не нужно указывать в каких файлах что есть. Он сам анализирует репозиторий и находит нужный код или его отсутствие.

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

Еще из интересного, он анализирует миграции.

И главное чтобы проект был настроен как для реальной командной разработки со всеми линтерами, pre-commit и т.д. (смотрите скрин 😁)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
CAG (Cache-Augmented Generation)

CAG позволяет добавить внешние знания к модели. Делает это через кеширование, а не запрос к базе как RAG.

Cуть CAG в том, чтобы заранее подгрузить все необходимое данные в контекст модели.
Потом модель при генерации просто обращается к этому кешу.

Преимущества CAG:
▫️ Нет задержки на поиск и загрузку документов при каждом запросе.
▫️ Модель оперирует одним и тем же набором данных в любом запросе, снижается риск выдергивания нерелевантных фрагментов.

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

CAG подходит для: гайдов, FAQ, коротких справочников и т.д. То что может поместиться в контекстное окно, например Gemini.

#ai #нейронныесети #CAG #RAG
👍7
KAG — Knowledge-Augmented Generation

Это фреймворк, который соединяет большие языковые модели (LLM) с knowledge-graphs, чтобы генерировать ответы, основанные не только на текстовой похожести, как в RAG, но и на логически связанных фактах из графа знаний.

Почему возникла необходимость в KAG
RAG (Retrieval-Augmented Generation) достаёт фрагменты текста через векторный поиск и передаёт их LLM. Это снижает галлюцинации, но:
- сходство векторов ≠ логическая релевантность
- плохо работает с числами, датами, правилами
- сложно выполнять многошаговый вывод

CAG усиливает генерацию за счёт уже имеющегося контекста без внешнего поиска, но не решает проблему фактологической точности.

KAG появился, чтобы закрыть оба пробела: объединяет векторный поиск и графовую логику, добавляя слой символического/числового рассуждения.

Как попробовать
Соберите knowledge-graph (RDF/Property-Graph) из своих данных.
С помощью KAG-Builder создайте mutual-index между графом и текстом.
Разверните KAG-Solver + LLM (локально или через API).
Настройте шаблоны промптов.

Репозиторий GitHub

#ai #нейронныесети #CAG #RAG #KAG
👍11🔥1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
MCP для работы с Figma

Теперь я знаю как делать дизайн в Figma с помощью AI.

Ссылка на GitHub

#ai #нейронныесети #figma #mcp
👍19🔥72