Сайт - це двері для людини: сторінка з версткою, меню, кнопками. API - двері для програм: на запит у визначеній формі приходить відповідь у визначеній формі, зазвичай як структуровані дані. Замість сторінки з тендером - запис із полями: назва, сума, статус, перелік документів з адресами.
Для асистента різниця принципова. Сторінку він читає як текст із втратами - верстка, таблиці, обрізка. Відповідь API він читає без втрат: кожне поле на своєму місці, кожен документ за прямою адресою. Тому там, де є API, результат точніший і швидший, ніж будь-який пошук.
Відкритість джерела - це рішення його власника, і причини бувають чотирьох типів. Закон: державні дані в Україні за замовчуванням відкриті, тому Prozorro, декларації НАЗК і тексти законів на rada мають публічні входи без ключа. Бізнес-модель: агрегатори реєстрів продають доступ, тому OpenDataBot дає API лише за ключем, а свій сайт закриває від автоматичних запитів. Захист: великі сервіси на кшталт EUR-Lex ставлять перевірку "ви не робот" перед кожною сторінкою - для людини вона невидима, для агента це стіна. Архітектура: частина реєстрів віддає дані лише після заповнення форми, і програмного входу в них просто не передбачено.
Практичний наслідок: питання "чи дістане це асистент" - це питання про власника джерела, а не про модель. Та сама модель за хвилину читає Prozorro і не може відкрити EUR-Lex.
Рівень перший - відкрита сторінка: агент читає її своїми інструментами пошуку і завантаження, нічого налаштовувати не треба. Рівень другий - відкритий API: агент підключається сам, досить назвати джерело і форму результату; практика 3 вересня показала - під п'ять хвилин від запиту до папки з документами. Рівень третій - API з ключем або джерело за захистом: потрібен окремий інструмент, який тримає ключ і знає формат; його збирають один раз, і далі він працює для всіх у команді.
| Джерело | Рівень | Що потрібно | Час |
|---|---|---|---|
| zakon.rada.gov.ua | 1 · сторінка | нічого | 0 |
| Prozorro | 2 · відкритий API | назвати джерело і форму результату | хвилини |
| Декларації НАЗК | 2 · відкритий API | те саме | хвилини |
| HUDOC · ЄСПЛ | 2-3 · відкритий, зі своїм синтаксисом | інструмент зібрано: пошук, справа, текст | кілька годин, один раз |
| OpenDataBot | 3 · ключ | інструмент зібрано, ключ на сервері | день, один раз |
| EUR-Lex | 3 · захист | обхідний вхід через CELLAR, інструмент | пів дня, коли знадобиться |
| Ліга, Zakon Online | нема API | лише браузер із власним логіном | - |
Запит: підключися до публічного API Prozorro, візьми свіжий тендер з документами, завантаж документи в папку, склади summary. Агент прочитав опис API, зробив запит до стрічки тендерів, відкрив перший з документами, завантажив шість файлів - тендерну документацію, проєкт договору, додатки - і записав summary.md з метаданими і посиланням на джерело. Хвилина роботи, без ключа, без налаштувань.
Далі це звичайна робота з документами: файл проєкту договору лежить у папці, і до нього застосовується будь-який процес - рев'ю за позиціями компанії, порівняння з попереднім тендером того самого замовника, витяг штрафів і строків.
API віддає дані; форму продукту задає запит. Той самий доступ до Prozorro дає папку з документами, таблицю скарг замовника за рік, порівняння проєктів договорів різних замовників або щотижневий моніторинг нових тендерів у галузі клієнта - залежно від того, яку форму названо. Перший крок кастомізації - опис результату в запиті.
Коли форма повторюється, запит стає рецептом: збережений промт або скіл з фіксованими полями і форматом. Коли рецепт потрібен усій команді однаково і щодня, він стає інструментом - як hudoc-mcp: фіксований набір операцій, спільний для всіх, з ключами на сервері, а не в чаті. Кожен наступний рівень коштує більше часу і дає більше стабільності; переходити на нього варто тоді, коли попередній почав повторюватися.
Доступ через API не заповнює форми, не вводить логін і не проходить капчі - це межа інструмента, а не налаштування. Платні бази без API лишаються роботою в браузері з власним логіном, і агент з браузером тут теж працює лише під наглядом людини. Ключі від платних API живуть на сервері інструмента: у розмову вони не потрапляють, і відкликати їх можна одним рухом. І останнє: API дає дані, а не висновки. Перевірка за першоджерелом стосується завантаженого файлу так само, як і будь-якої відповіді.