Як писати ефективні промпти для AI: практичний гайд для інженерів
Сьогодні швидкість роботи інженера залежить не лише від того, наскільки добре він володіє Revit, AutoCAD чи Civil 3D. Важливо також уміти використовувати сучасні технології, які скорочують години рутинної роботи до кількох хвилин.
AI-плагіни та AI-агенти вже можуть допомагати інженерам автоматизувати повторювані операції, створювати й перевіряти код, знаходити помилки, аналізувати технічну інформацію та швидше виконувати повсякденні завдання. Проте навіть найпотужніший інструмент не дасть якісного результату, якщо поставити йому нечітке завдання.
Між відповіддю, яку можна одразу використати в роботі, і результатом, який доведеться повністю переробляти, часто є лише одна різниця — якість сформульованого запиту.
Для технічного спеціаліста промпт — це не просто запитання до штучного інтелекту. Це коротке технічне завдання, у якому потрібно чітко визначити, що саме необхідно зробити, з якими даними чи об’єктами працювати, які вимоги врахувати та в якому форматі надати результат.
У цій статті спочатку розглянемо типові помилки у формулюванні промптів, а потім покажемо підхід, який допомагає отримувати від AI точніші, професійніші та справді корисні для інженерної роботи відповіді.
Частина 1. Як не потрібно писати промт
Помилка №1. Давати занадто загальну команду
Найпоширеніша помилка — використовувати короткі запити без контексту:
- “Оптимізуй модель”
- “Виправ креслення”
- “Зміни труби”
- “Розстав мітки”
- “Напиши плагін для AutoCAD”
Для людини, яка працює над проєктом, такі формулювання можуть здаватися зрозумілими. Але AI не бачить повної картини.
Він не знає:
- які саме елементи потрібно змінити;
- у якій системі вони знаходяться;
- які параметри є важливими;
- яких об’єктів не можна торкатися;
- що ви вважаєте правильним результатом.
Тому запит:
Change sewage pipes
може бути інтерпретований десятками різних способів.
AI може запропонувати змінити діаметр, матеріал, тип системи, розташування або навіть створити нові елементи. Якщо це не зазначено в промпті, модель змушена здогадуватися.
Як краще ✅
In System Type PL_Sewage, find pipes where System Name begins with SW.
Change Diameter from 160 mm to 110 mm.
Modify only elements that meet these conditions.
Тут уже зрозуміло:
- з якою системою працювати;
- як знайти потрібні труби;
- який параметр змінити;
- яке значення встановити;
- які елементи не потрібно обробляти.
Помилка №2. Не вказувати конкретні об’єкти
Запити на кшталт:
- “Зміни елементи”
- “Оброби текст”
- “Розстав блоки”
не пояснюють, про які саме об’єкти йдеться.
Наприклад, в AutoCAD текст може бути представлений як:
- MText;
- DBText;
- атрибут блока;
- текст розміру;
- текст у таблиці.
Якщо не визначити тип об’єкта, AI може створити рішення, яке працюватиме не з тими елементами.
Як краще ✅
Process only MText entities.
Do not process DBText, block attributes, dimensions or tables.
Або для Revit:
Process only Pipes from System Type PL_Sewage.
Ignore all pipes from other systems.
Якщо об’єкти мають вибиратися вручну, це теж потрібно зазначити:
Apply the operation only to elements selected by the user.
Помилка №3. Використовувати приблизні назви параметрів
У технічних завданнях точність назв має значення.
Наприклад, якщо в Revit параметр називається System Type, не варто замінювати його загальним формулюванням «тип системи». Якщо атрибут в AutoCAD має назву VG-1, потрібно використовувати саме цю назву.
Невдалий запит ❌
Зміни параметр системи та коментар.
Кращий варіант ✅
Set the Mark parameter to SW-1.
Set the Comments parameter to Sewage Pipe.
Назви параметрів, сімейств, типів, шарів і властивостей бажано копіювати безпосередньо з програми або робочого файлу.
Помилка №4. Не вказувати одиниці виміру
Формулювання:
Change Diameter to 110
є неповним. Значення 110 може означати міліметри, сантиметри, метри або навіть внутрішні одиниці програми.
У технічному промпті число без одиниці виміру може призвести до неправильної логіки або помилки в коді.
Як краще ✅
Change Diameter from 160 mm to 110 mm.
Move the blocks 500 mm to the right.
Rotate the elements by 90 degrees.
Align the labels with a 2 mm offset.
Для Revit API також варто додати:
Convert all millimeter values correctly to Revit internal units.
Помилка №5. Не встановлювати обмеження
Навіть правильно описана дія може дати небажаний результат, якщо не зазначити, чого AI робити не повинен.
Наприклад, запит:
Change the diameter of sewage pipes
не пояснює, чи можна:
- змінювати всі системи;
- створювати нові типи;
- видаляти елементи;
- змінювати фітинги;
- обробляти заблоковані параметри.
Як краще ✅
Modify only pipes that match the specified conditions.
Do not create or delete elements.
Do not change element types.
Ignore all other systems.
Skip elements with missing or read-only parameters.
Такі обмеження захищають модель або креслення від зайвих змін.
Помилка №6. Не пояснювати очікуваний результат
Запит:
Додай текст до MText
не дає відповіді на кілька важливих питань:
- текст потрібно додати на початку чи в кінці;
- чи потрібно зберегти форматування;
- як має виглядати результат;
- чи можна змінювати інші властивості.
Найкращий спосіб уникнути непорозуміння — показати приклад «до» і «після».
Текст, введений користувачем: (test)
До виконання:
MText.Contents = "12321qqq"
Після виконання:
MText.Contents = "12321qqq(test)"
Такий приклад часто пояснює задачу точніше, ніж кілька абзаців тексту.
Помилка №7. Об’єднувати багато дій в одне речення
Складний запит, написаний суцільним текстом, важко правильно зрозуміти навіть людині.
Наприклад:
Запитай текст, потім дай вибрати MText, додай текст, нічого іншого не змінюй, зупини команду по Enter і покажи кількість змінених об’єктів
У такому формулюванні легко пропустити частину логіки.
Як краще ✅
Workflow:
1. Ask the user to enter a text string.
2. Allow the user to select MText entities.
3. For each selected MText object:
- Read the current Contents value.
- Append the entered text.
- Save the updated value.
4. Stop when the user presses Enter or Esc.
5. Show the number of modified objects.
Коли кожна дія записана окремим кроком, AI значно легше відтворити правильний процес.
Помилка №8. Писати лише «не працює»
Коли згенерований код містить помилку, повідомлення:
- “Не працює”
- “Виправ код”
майже не дає AI інформації для аналізу.
Причина може бути в:
- неправильній версії API;
- відсутній бібліотеці;
- типі об’єкта;
- одиницях виміру;
- параметрі лише для читання;
- синтаксичній помилці;
- невідповідності версії програми.
Як краще ✅
The generated AutoCAD .NET code does not compile.
AutoCAD version: 2026
Programming language: C#
Compiler error:
[insert the complete error message]
Expected result: The command should append user-defined text only to selected MText entities. Actual result:
[describe what happens]
Please fix the error without changing the existing workflow. Do not add new features. Return the corrected complete code.
Чим більше релевантного контексту отримує AI, тим швидше він може знайти причину проблеми.
Частина 2. Що ефективно працює
1. Починайте з контексту
На початку запиту коротко поясніть:
- у якій програмі ви працюєте;
- яка версія використовується;
- з якою моделлю або кресленням працюєте;
- яке завдання потрібно вирішити.
Наприклад:
I am working in Revit 2026 with a plumbing model.
The project contains several pipe systems.
The operation must apply only to the PL_Sewage system.
Контекст допомагає AI правильно обрати підхід ще до початку виконання завдання.
2. Сформулюйте кінцеву мету
Не починайте одразу з переліку технічних дій. Спершу поясніть, який результат потрібно отримати.
Наприклад:
Create a Revit tool that updates the diameter and selected parameters of sewage pipes.
Або:
Create an AutoCAD command that appends user-defined text to selected MText objects.
Кінцева мета допомагає AI розуміти загальну логіку завдання, а не лише виконувати окремі команди.
3. Визначте критерії відбору
Опишіть, як саме знайти потрібні елементи.
Наприклад:
Process only Pipes where:
- System Type equals "PL_Sewage";
- System Name begins with "SW";
- Diameter equals 160 mm.
Для AutoCAD це може виглядати так:
Process only blocks where:
- Block Name equals "Zinor koltan";
- attribute VG-1 equals "Glass";
- the block is located in the current drawing space.
Чим точніше визначені критерії, тим менший ризик змінити зайві об’єкти.
4. Опишіть необхідні зміни окремими пунктами
Замість довгого речення краще створити окремий блок:
Required changes:
1. Change Pipe Diameter from 160 mm to 110 mm.
2. Change the Radius of R1 Connector fittings to 55 mm.
3. Set Mark to "SW-1".
4. Set Comments to "Sewage Pipe".
Такий формат легко перевірити перед відправленням і зручно використовувати під час тестування результату.
5. Додайте правила та винятки
AI повинен знати не лише основний сценарій, а й те, як діяти у нестандартних ситуаціях.
Наприклад:
Rules:
- Modify only elements that match all selection criteria.
- Skip elements with missing parameters.
- Skip read-only parameters.
- Continue processing if one element cannot be updated.
- Record every skipped element and the reason.
Це особливо важливо для великих моделей, у яких різні елементи можуть мати різну структуру параметрів.
6. Визначте формат результату
Поясніть, що саме ви хочете отримати від AI.
Наприклад:
Provide complete compilable C# code.
Do not include unrelated helper methods.
Або:
First explain the proposed workflow.
Then provide the code.
At the end, add a short testing checklist.
Для завдань без програмування:
Present the result as a step-by-step instruction.
Use a table with the columns: Step, Action, Expected Result.
7. Просіть звіт після виконання
Після автоматичного внесення змін корисно отримати короткий підсумок.
Наприклад:
After completion, show:
- number of updated pipes;
- number of updated fittings;
- number of skipped elements;
- list of errors.
Такий звіт допомагає швидко перевірити, чи відповідає результат очікуванням.
Універсальна формула ефективного промпту
Для більшості інженерних завдань можна використовувати таку послідовність:
- Role — Ким має виступати AI: Act as an experienced Revit API developer and BIM automation specialist.
- Context — У якій програмі, версії та середовищі виконується завдання.
- Goal — Який кінцевий результат потрібно отримати.
- Objects — Які об’єкти необхідно обробити.
- Selection criteria — За якими умовами потрібно знайти ці об’єкти.
- Required changes — Які параметри або властивості потрібно змінити.
- Units — У яких одиницях задані значення.
- Restrictions — Чого не можна змінювати, створювати або видаляти.
- Error handling — Як діяти у випадку помилки або відсутнього параметра.
- Output format — У якому вигляді потрібно надати відповідь.
Приклад: слабкий і сильний промпт
Як не потрібно ❌
Change sewage pipes and fittings, add marks and comments and write code for Revit.
У цьому запиті не зрозуміло:
- які труби обробляти;
- які фітинги змінювати;
- які параметри встановити;
- які одиниці використовувати;
- яку версію Revit враховувати;
- що має робити код у разі помилки.
Як ефективно ✅
Role:
Act as an experienced Revit API developer and BIM automation specialist.
Context:
I am working in Revit 2026 with a plumbing model.
The project contains several pipe systems.
The operation must apply only to the PL_Sewage system.
Goal:
Create a Revit tool that updates the diameter and selected parameters of sewage pipes and fittings.
Selection criteria:
1. Process only Pipes where:
- System Type equals "PL_Sewage";
- System Name begins with "SW";
- current Diameter equals 160 mm.
2. Process only Pipe Fittings where:
- Type Name equals "R1 Connector".
Required changes:
1. Change Pipe Diameter from 160 mm to 110 mm.
2. Change the Radius of matching Pipe Fittings to 55 mm.
3. Set Mark to "SW-1".
4. Set Comments to "Sewage Pipe".
Units:
All values are specified in millimeters.
Convert them correctly to Revit internal units.
Restrictions:
- Do not modify elements from other systems.
- Do not create or delete elements.
- Do not change element types.
- Skip missing or read-only parameters.
- Do not add unrelated functionality.
Error handling:
- Continue processing if one element cannot be updated.
- Record skipped elements and the reason for each failure.
Result:
After completion, show:
- number of updated pipes;
- number of updated fittings;
- number of skipped elements;
- list of errors.
Output format:
1. Briefly explain the proposed logic.
2. Provide complete C# code for Revit 2026.
3. Add a short testing checklist.
У другому випадку AI отримує не абстрактне прохання, а структуроване технічне завдання.
Готовий шаблон промпту для щоденної роботи
Цей шаблон можна адаптувати для Revit, AutoCAD, Civil 3D та інших інженерних програм.
Role:
Act as an experienced [specialist role].
Context:
I am working in [software and version].
The current project contains [brief project description].
Goal:
I need to [describe the final result].
Objects:
Process only [specific objects, categories, families, types or entities].
Selection criteria:
- [criterion 1]
- [criterion 2]
- [criterion 3]
Required actions:
1. [action 1]
2. [action 2]
3. [action 3]
Parameters and values:
- [parameter name]: [value]
- [parameter name]: [value]
Units:
Use [millimeters, meters, degrees or other units].
Restrictions:
- Do not modify [objects or parameters].
- Do not create or delete [elements].
- Process only [selected or matching elements].
- Do not add unrelated functionality.
Error handling:
- Skip elements with missing or read-only parameters.
- Continue processing after individual errors.
- Record all skipped elements.
Expected result:
[Describe what should happen after successful completion.]
Output format:
Provide [code, instructions, table or workflow].
Add [explanation, report or testing checklist].
Чекліст якісного промпту
Перед відправленням запиту перевірте:
- Чи вказана програма та її версія?
- Чи зрозуміла кінцева мета?
- Чи визначені конкретні об’єкти?
- Чи правильно написані назви параметрів, сімейств і типів?
- Чи зазначені одиниці виміру?
- Чи описана послідовність дій?
- Чи встановлені обмеження?
- Чи наведений приклад очікуваного результату?
- Чи пояснено, як обробляти помилки?
- Чи вказаний потрібний формат відповіді?
- Чи потрібен звіт після виконання?
Чим менше AI має здогадуватися, тим більше шансів отримати рішення, яке справді можна використати в роботі.
AI не замінює професійні знання інженера, але може значно посилити спеціаліста, який уміє правильно ставити завдання. Добре сформульований промпт допомагає скоротити рутинну роботу, швидше перевіряти ідеї та ефективніше використовувати автоматизацію в щоденних проєктах.
