Двигун знань від Web до MCP: реєстри джерел, подвійні експерти та механізми захисту приватності
Як реєстр джерел, зберігання типу «persist-first», редакційний підхід із двома експертами та сервер MCP з режимом лише для читання перетворюють щоденні зміни в Інтернеті на надійну, захищену приватністю базу знань.
Джерела: Building an Authoritative Web-to-MCP Knowledge Engine
Дослідники, які вивчають наявну літературу, пацієнти, які порівнюють нові дослідження зі своїми медичними записами, а також координатори з підтримки людей з обмеженими можливостями чи опікуни, які стежать за швидко змінюваною політикою, мають одну спільну щоденну задачу. Їм потрібно дізнаватися, що змінилося, коли це сталось та хто це сказав, і вони б не хотіли щоранку переглядати Інтернет, щоб дізнатися про це. Існуючі інструменти не впораються з цим завданням. Попередження за ключовими словами ставлять блог виробника та офіційну правову зміну на один рівень, не запам’ятовують нічого окрім контенту поштової скриньки та не можуть переглядати приватні записи. Чат-боти з функцією пошуку узагальнюють лише те, що мало найвищий рейтинг того ранку, спираються на застарілу ієрархію, закладену в їхні дані навчання, забувають вчорашні документи, а іноді помиляються чи вигадують дати та факти.
Одним із способів є система, яку фахівці називають «сканування горизонту». Вона функціонує як база знань, створена на основі інформації з Інтернету, щоденний огляд новин та сервер, який підтримує протокол Model Context Protocol (MCP) та дозволяє ставити запити. Вона збирає дані лише з надійних джерел, перевірених людьми, дотримується умов підписок та ліцензій, а також утримує базу даних, яка розширюється з кожним запланованим запуском. Коли доказів для певного дня недостатньо, експерт може вирішити нічого не публікувати, залишивши лише запис про запуск із поясненням причин. Ця база даних існує довше, ніж будь-яке окреме видання, і її можна запитувати в будь-який час з певного кута зору щодо власних даних користувача, завжди за захисним бар’єром приватності. Контекст користувача долучається до обговорень, але ніколи не завантажується до бази даних. Оскільки особисті, клінічні та деталі справ ніколи не потрапляють до неї, така схема відповідає Австралійському закону про приватність 1988 року, тоді як публічна база даних залишається доступною для всіх у цій галузі.
Перше розгортання відстежує правила та ціни для Національної програми страхування осіб з обмеженими можливостями Австралії (NDIS), де неправильна дата початку чи ліміт цін може завдати шкоди людям. Запуск відбувається о 06:00 за часом Сіднея. Редакційний відділ або публікує, або не публікує інформацію та щоразу записує чітку причину у журналі операцій, тоді як база даних продовжує рости незалежно. Інформація потрапляє у канал Slack, де користувачі можуть шукати потрібні дані в базі знань, позначивши Claude, який потім звертається до сервера MCP. Наприклад, у інформації за тиждень йшлося про те, що дані учасників могли потрапити на аналітичну платформу Palantir, разом із рішенням Комісії з справ праці щодо звільнення через порушення Кодексу поведінки NDIS.
Дати та посилання в кожному виданні беруться з збережених даних, і будь-яка цитата має відповідати уривку, який зберігся в системі. Цей реєстр створений навколо NDIS, але заміна рядків дозволить цьому ж механізму відстежувати певну галузь досліджень, стан здоров’я чи регулюючий орган.
Збірка, керована реєстром джерел
Збірку керує реєстр джерел – таблиця конфігурації контрольованих кінцевих точок – а не те, що пошукова система вважає найбільш значущим. Кожен рядок описує одне джерело за фіксованою схемою: назва видавця, спосіб доступу, частота звернень, рівень авторитетності, обмеження щодо повторного використання, умови та правила ліцензування для отримання дат.
Існує чотири рівні авторитетності:
- T1 охоплює основні реєстри певної галузі, такі як законодавство, офіційні записи судових рішень чи індекси цитувань.
- T2 охоплює офіційні урядові органи та регулюючі організації.
Кожен рядок також містить один із трьох обмежень щодо повторного використання, щоб дотримуватися умов видавців:
- REUSE_OK означає, що повний текст можна зберігати, оскільки це дозволяє відкрита ліцензія.
- LINK_SUMMARISE_ONLY означає, що зберігається лише гіперпосилання та короткий уривок.
- NO_BULK видаляє кінцеву точку з автоматичного пошуку та надсилає її на ручну перевірку.
У рядках також записується інформація про хост, наприклад затримки під час сканування або обмеження для центральних сторінок, наприклад менше трьох статей із датою. Без цих приміток рядок є статичною закладкою, яку збирач не може безпечно використовувати.
Та сама структура реєстру застосовується й до інших полів:
- Для наукових досліджень рядки T1 вказують на індекси цитування, такі як MEDLINE, Crossref та OpenAlex, у поєднанні з репозиторіями повного тексту відкритого доступу та каналами журналів, налаштованими для показу лише анотацій чи посилань.
- Для керування особистим здоров’ям рядки вказують на офіційні рекомендації щодо лікування певного захворювання та інформацію про медичні препарати від регулювальних органів, а також перевірені клінічні канали.
- Для відстеження юридичних справ та судових процесів основний рядок T1 відстежує офіційний канал публікацій судових рішень.
Динамічний механізм пошуку доповнює фіксований список, щоб база даних не ставала застарілою. Щоранку він виконує кілька цілеспрямованих пошуків у другорядному списку джерел, обмежуючись лімітами кількості слів, мінімальною кількістю спроб отримання інформації з кожного джерела та загальним лімітом сторінок за один запуск. Для забезпечення часової точності будь-яка сторінка без підтвердженої дати публікації або з майбутньою датою автоматично відкидається. Єдиним винятком є консультації з кінцевою датою: вони потрапляють до списку спостереження, щодня знову отримуються та позначаються як актуальні проблеми. Сторінки з хостів, які не входять до списку, отримують низький рівень авторитетності, тож коментарі ззовні позначаються такими, якими вони є.
Читання реєстрів найвищого рівня безпосередньо
Кожна галузь має основне джерело інформації, яке має вищий пріоритет серед інших — чи то реєстр законодавства, основний індекс цитувань чи потік даних судів. Збирач інформації отримує її через структуровані API. Наприклад, система NDIS отримує основне законодавство з API OData Федерального реєстру законодавства. Вона віддає перевагу структурованим файлам EPUB перед PDF та щодня перевіряє зміни за допомогою постійно зберіганого „курсора“, щоб визначити нові дані. Довгі тексти законодавчих актів розділяються на фрагменти по 60 000 символів та витягуються по частинах, щоб не перевищувати обмеження моделі.
Чіткі ідентифікатори дозволяють відрізнити справжні зміни в законодавстві від звичайної перепроцесування індексів:
- Щойно прийняті законодавчі акти — це нові закони, ухвалені парламентом, і вони запускають сповіщення про активні зміни.
Обробка окремо від публікації
Необроблені дані генерують хеш SHA-256 та зберігаються у Postgres ще до початку будь-якої обробки, тому база даних розширюється при кожній інстанції, незалежно від того, чи буде опубліковано нове видання. Статус публікації визначається детерміністично за допомогою обмеження UNIQUE(briefing_date, channel), яке зберігає серіалізований вміст та його JSON-хеш. Якщо обробка зазнає невдачі або доставка до каналу не відбувається, наступна інстанція знаходить відкладену резервацію та завантажує заморожений вміст замість того, щоб створювати новий текст.
Три типи ранкових обробок залишають різні сліди:
- У тихому ранку без нових даних документи позначаються як оцінені в одній транзакції та видаляються.
- У ранок, коли текст відхилено критиком, стовпець з оцінкою не заповнюється, і документи повертаються до черги наступного ранку.
- У ранок, коли текст опубліковано, зазначені документи позначаються як оброблені та видаляються.
Зберігання первинних даних забезпечує сувору часову простежуваність. Запитання, поставлене у березні про те, що відомо у січні, відповідається строго на основі фрагментів, збережених у січні, які не змінювалися пізнішими правками у живому веб-сайті.
Редакційний стіл
Щоб уникнути хибних припущень, під час створення тексту дотримується одне суворе правило: модель ніколи не працює безпосередньо з фактами, підтвердженими реальністю.
Код видаляє всі буквальні дати та URL-адреси з пакету доказів ще до того, як він потрапляє до автора проєкту. Детерміністичні перевірки шаблонів відхиляють будь-який проєкт, який містить інформацію про юридичний чи операційний статус, такий як «у силі» чи «розпочато». Перевірені дати повертаються лише після прийняття проєкту, додаваючись знову з полів бази даних, щоб їхнє походження залишилося в тексті. Це правило допомагає у всіх згаданих сферах: розміри вибірок, оцінки ефекту та дози ліків залишаються прив’язаними до записів бази даних та не потрапляють до параметричної пам’яті моделі.
Робочий процес ґрунтується на детерміністичній, багатоетапній схемі:
- Планування та виключення. Планувальник призначає кожен документ певній справі або записує чітку причину його виключення, наприклад, дублікат, незначні чи недостатні докази.
Схеми JSON, детерміністичні валідатори, два критики та один рендерер визначають контракт. Публічний текст можна обробляти за допомогою інференсу, розміщеного будь-де, проте сховища, що містять приватну медичну інформацію чи непубліковані дослідження, повинні виконувати інференс у межах локальних систем.
Запити через MCP та об’єднання приватного контексту за сеансом
Тільки для читання сервер, який реалізує протокол Model Context Protocol, надає доступ до постійного сховища через три інструменти: search_knowledge_base, get_document та list_changes. Для збереження достовірності фактів уривки, отримані на серверній стороні під час пошуку, мають закінчуватися на межах слів. Уривок, обрізаний посеред слова, змушує генеративну модель правдоподібно доповнити відсутній текст на рівні представлення, що є небезпекою, яку не можна допускати у випадках з дозами ліків чи юридичними обмеженнями.
Публічні дані є ідентичними для всіх у певній галузі, але кожен користувач має свій приватний контекст. Команда з контролю дотримання правил хоче, щоб нове правило оцінювалося з урахуванням внутрішньої політики, а клініцист — щоб оновлені дослідження аналізувалися з урахуванням історії одного пацієнта. Змішування публічних даних та конфіденційних місцевих записів у єдиній базі даних створить серйозні проблеми з простежуваністю даних та конфіденційністю.
Тому архітектура розділяє публічний сховище від приватного контексту. Конфіденційні особисті та клінічні дані залишаються у автентифікованих місцевих середовищах за суворими межами довіри. Перевірені публічні факти надходять за запитом з сервера MCP з режимом лише для читання, а асистент поєднує їх із місцевими записами виключно під час поточної сесії користувача. Приватний контекст ніколи не потрапляє до спільного сховища, що дозволяє публічну базу даних використовувати кільком користувачам.
Чому відкритий пошук та звичайне отримання інформації не виправдовують очікувань
Використання автономного агента безпосередньо з відкритим пошуком у Інтернеті чи зі стандартним конектором RAG не задовольняє вимогам до надійності у сферах з високим ризиком. Функція живого пошуку ігнорує обмеження щодо повторного використання інформації видавцями, не зберігає хешовану інформацію про походження даних, яку міг би перевірити аудитор, та не може вказати, що змінилося з минулого дня. Коли до неї ставлять запитання, що виходять за межі індексованого діапазону, асистент без достатньої основи схильний вгадувати чи доповнювати факти, що є неповними, а ці помилки потрапляють у подальший аналіз.
Така сама концепція застосовується у кількох ситуаціях:
- У сфері NDIS та інших програм для людей з обмеженими можливостями зміни в законодавстві та ціноутворенні становлять політичний контекст, а бюджети учасників та записи їхніх справ відповідають цьому контексту лише під час прямої сесії.
Покладатися на точність фактів у непідкріпленому мовному моделі — це ризик. Структурований реєстр джерел, база даних, яка існує на першому місці, редакційний відділ із двома критиками та сервер MCP з правами лише на читання, який працює під асистентом, разом перетворюють тимчасові оновлення з Інтернету на базу знань, яка є авторитетною, захищає приватність та надійною.