Навички, інструменти MCP і правила: три способи дати агенту можливості
Агенти отримують можливості по-різному. Правило обмежує те, що вони роблять, навичка підказує, як виконати роботу, а інструмент MCP дозволяє викликати функцію. Кожен із трьох має власний ризик, тож фіксуйте всі три в реєстрі й перевіряйте тестом, що нічого не існує поза ним.
🎯 Для Розробник або керівник, який розширює можливості агентів
- Чим відрізняються правила, навички та інструменти і що кожне з них може зламати
- Як вносити кожне до реєстру з повноваженнями та класом ризику
- Як виглядають наші власні підрахунки
🧰 Три види можливостей
Правило — це інструкція, яка діє завжди: «ніколи не додавай усе до індексу», «числа потребують артефакту». Воно обмежує поведінку й саме собою нічого не робить. Воно має доходити до кожного виконавця, зокрема дешевого, і до скриптів.
Навичка — це упакований спосіб виконати роботу: тека з інструкціями, які агент завантажує, коли завдання збігається. Навичка може веліти агенту запускати команди або змінювати файли. Вона може мати повноваження, наприклад бути нашим обов'язковим методом, або лише радити.
Інструмент — це функція, яку агент викликає через протокол, як-от MCP. У нього є назва, параметри та значення, що повертається. Інструмент діє: читає базу даних, шукає документи, записує запис.
Розрізнення важливе, бо кожен вид відмовляє по-своєму. Погане правило ігнорують, погана навичка вводить в оману, а поганий інструмент діє.
📒 Один реєстр для всіх трьох
Ми фіксуємо наші навички в одному файлі реєстру. Кожен запис має домен, повноваження (наш власний канон чи зовнішня порада), клас ризику, найнижчий рівень виконавця, якому дозволено його використовувати, ознаку потреби в людині та ознаку того, чи він діє, чи лише викладає правило. Тест падає, коли тека навички існує без запису або запис існує без теки.
3 листопада 2026, 21:53 UTC у реєстрі було 32 записи: 14 канонічних і 18 дорадчих; 24 діють і 8 лише викладають правила.
Наш сервер MCP — окрема поверхня з власним контролем. Того самого дня його код визначав 21 функцію-інструмент. Та, що пише до бази знань, запускається лише коли ввімкнено навмисне налаштування, а кожен виклик записується до бази аудиту зі своїм статусом і тривалістю.
🔗 Як вони поєднуються
Правило може веліти агенту скористатися навичкою. Навичка може веліти агенту викликати інструмент. Інструмент може повернути текст, який намагається дати агенту нове правило. Ставтеся до цього останнього шляху як до ворожого — так само, як до будь-якого зовнішнього тексту.
Реєстр — це місце, де ланцюжок стає видимим. Якщо навичка викликає інструмент, що пише до віддаленої системи, клас ризику навички має це відображати, а сама навичка має вимагати людину.
🛠️ Практика: складіть перелік своїх можливостей
- Перелічіть свої правила: файли, які завантажуються в кожну сесію.
- Перелічіть свої навички: теки з інструкціями. Дайте кожній домен, повноваження та клас ризику.
- Перелічіть свої інструменти: кожну функцію, яку можуть викликати ваші агенти. Позначте, які читають, які пишуть і які дістаються назовні.
- Зведіть три переліки в один реєстр з колонкою для виду.
- Напишіть тест, який порівнює реєстр із тим, що існує на диску або в сервері, в обидва боки.
- Для кожного запису, що діє на віддалену систему, встановіть «потрібна людина» та мінімальний рівень виконавця.
- Додайте запис аудиту до кожного виклику інструмента: назва, аргументи, статус результату, тривалість.
✅ Перевірте себе
- Додайте нову теку навички без запису. Тест падає й називає її.
- Додайте інструмент на сервер, не внісши його до переліку. Рев'юер або тест це помітить.
- Візьміть будь-який запис і скажіть, який найгірший випадок, хто погоджує та який виконавець може його запускати.
- Знайдіть запис аудиту для виклику інструмента, зробленого вчора.
🚧 Коли це не працює
- Застарілі записи. Реєстр, який ніхто не оновлює, описує систему, якої вже немає. Прив'яжіть тест до збирання.
- Підрахунок інструментів за кодом. Інструмент, визначений динамічно, текстовий підрахунок не знайде. Використовуйте власний перелік сервера.
- Правила, які ніхто не читає. Правило у файлі, який агент ніколи не завантажує, не має жодного ефекту. Перевіряйте тестом, що воно є в стартовому контексті.
- Зовнішні навички. Сторонні навички можуть просити потужних дій. Позначайте їх як дорадчі й ніколи як обов'язкові.
- Занадто грубі класи ризику. Чотири класи — це лише початок. Додавайте деталі там, де від них залежать рішення.
📊 Докази
| Що ми виміряли | Записи реєстру за повноваженнями та за поділом на дію й правило, а також функції-інструменти в коді нашого сервера MCP |
| Коли | 3 листопада 2026, 21:53 UTC |
| Артефакт | Наш реєстр навичок і його тест, а також модуль сервера MCP у нашому приватному репозиторії |
| Обмеження | Підрахунок функцій-інструментів — це текстовий підрахунок функцій з декораторами. Він виявився більшим за число з наших давніших нотаток, що показує, як швидко такі цифри застарівають |
➡️ Далі
Запишіть, кому що можна використовувати, у Політика використання AI та реєстр, який може забезпечити невелика команда, а про те, як працює MCP, читайте в Що таке MCP?.
Джерела
- Політика використання AI та реєстр, який може забезпечити невелика команда: реєстр.
- Що таке MCP? Сервери, клієнти та безпечні з'єднання: основи MCP.
- AGENTS.md і файли правил: правила.
- Чек-ліст безпеки сервера MCP: перевірки.
🔗 Зв'язки статті
Відкрити повний граф знань ↗Зв’язки опублікованих статей. Виберіть вузол, щоб відкрити статтю біля заголовка.
Зв’язки статей · клавіатура / текст
Та сама тема
- Векторна база — це мапа, а не джерело: що ми з'ясували про пошук
- Коли невідомо, скільки коштував виклик моделі: заморожування, потім звіряння
- Розбиття великого завдання для дешевої моделі: урок про 24 000 байтів
- Вісім помилок з shell і git, яких припускалися наші агенти, і правило для кожної
- Кілька агентів, один репозиторій: правила володіння з реальних інцидентів
- Не тримайте ключі провайдера в агенті: один шлюз, один токен на завдання
Наступні кроки
Пов'язані матеріали
Векторна база — це мапа, а не джерело: що ми з'ясували про пошук
Векторна база знаходить уривки, близькі за змістом до вашого запиту. Вона не знає, які з них правдиві чи актуальні. Сприймайте кожен результат як вказівник: відкрийте названий файл, перевірте хеш і беріть числа з артефакту, а не зі знайденого абзацу.
AI agents and MCP explainedКоли невідомо, скільки коштував виклик моделі: заморожування, потім звіряння
Іноді виклик моделі перевищує час очікування, і ви не знаєте, чи провайдер списав кошти. Ніколи не записуйте це як нуль. Позначте витрату як непевну, зупиніть нові платні виклики й доручте названій людині звірити її з випискою провайдера. Виняток — відмови, що сталися до генерації.
AI agents and MCP explainedРозбиття великого завдання для дешевої моделі: урок про 24 000 байтів
Дешева модель добре дає раду з однією невеликою чітко окресленою роботою, але погано з великим нагромадженням. Ми обмежуємо завдання 24 000 байтами і відмовляємо більшим ще до виклику моделі. Діліть на одиниці — один файл або одна країна на завдання — і перевіряйте розмір до початку.
AI agents and MCP explainedВісім помилок з shell і git, яких припускалися наші агенти, і правило для кожної
Агенти пишуть команди shell швидко й упевнено, і частина збоїв повторюється. Ось вісім реальних помилок за жовтень 2026 року, що саме кожна зламала і правило в один рядок, яке ми записали після неї. Скопіюйте ці правила у власні інструкції для агентів.
💬 Коментарі