Мультиагентні робочі процеси зараз домінують на GitHub. Розробники поєднують великі мовні моделі у ланцюжки, призначаючи кожному агенту вузьку спеціалізацію та оркеструючи їхні результати для виконання завдань, з якими жодна окрема модель не впоралася б самостійно. Результати можуть бути вражаючими. Один агент проводить дослідження, інший пише чернетку, третій перевіряє факти, а четвертий форматує кінцевий результат. Але за всією цією координацією криється крихка залежність. Якщо найперший крок — перетворення людського вводу в зрозумілі машині інструкції — є повільним або неточним, увесь ланцюг розпадається. Агент, що стоїть далі за ланцюгом, не може виправити сміття. Він може лише поширити його далі.
Саме в цьому вузькому місці на допомогу приходить Iflytek/domux. Це модель з відкритим вихідним кодом, створена саме для одного критично важливого завдання: швидкого розуміння команд. Замість того, щоб генерувати есе або вести вільні розмови, domux парсить природну мову та експортує жорсткі структуровані дані, які інші агенти можуть використовувати миттєво. Будь-яка система, якій потрібні структуровані вхідні дані в реальному часі — від хабів розумного будинку до промислових панелей керування — може використовувати її як шар сприйняття.
Найслабша ланка в ланцюгу
Розглянемо, що відбувається, коли користувач дає просту команду, наприклад: «зроби тут світліше». У мультиагентній системі це висловлювання може потребувати проходження через контролер освітлення, монітор енергоспоживання та логер безпеки. Якщо початковий парсер повертає розмите речення на кшталт «користувач хоче більше світла», кожен наступний агент має заново інтерпретувати значення. Деякі можуть зупинитися в очікуванні точних параметрів. Інші можуть припустити тип кімнати або рівень яскравості і помилитися. Робочий процес зупиняється.
Затримка (latency) лише погіршує проблему. Додайте кілька сотень мілісекунд затримки парсингу на вході, і до того часу, як інформація дійде до третього агента, система вже здаватиметься несправною. Середовища реального часу не прощають повільного старту. Розробники виявляють, що фреймворки оркестрації чудово виглядають на архітектурних діаграмах, але розвалюються, коли отримують неоднозначні або повільні вхідні дані. Вам потрібен спеціалізований шар, який стандартизує команди ще до того, як решта робочого процесу почне «думати».
Domux розроблений саме як такий шар. Він приймає заплутану людську мову та перетворює її на чисту схему, яку наступні агенти можуть сприймати як істину (ground truth).
Швидкість, структура та точність
Проєкт заявляє про три характеристики, які безпосередньо впливають на поведінку в реальних умовах (production).
По-перше, він відповідає менш ніж за 150 мілісекунд. Цей поріг має значення. В інтерактивних середовищах відповідь швидше ніж за чверть секунди сприймається як миттєва, тоді як усе, що наближається до цілої секунди, привчає користувачів відмовлятися від інструменту. Незалежно від того, чи надходить вхідний сигнал через голос, чи через чат-інтерфейс, domux забезпечує безперервність конвеєра.
По-друге, він зіставляє вхідні дані з суворою схемою з семи полів. Для систем, що стоять далі за ланцюгом, немає вільного тексту, який потрібно було б декодувати. Кожна команда вписується у передбачувані колонки.
По-третє, він заявляє про точність 98,37 відсотка разом зі 100-відсотковою відповідністю формату. Точність означає, що модель зазвичай правильно розуміє користувача. Відповідність формату означає, що вихідні дані є структурно валідними щоразу. Парсер, який має точність 99 відсотків, але час від часу пропускає поле або вигадує нове, є ризиком для автоматизованого ланцюга. Один некоректний рядок може призвести до збою агента-споживача.
Ось як насправді виглядає результат. Коли модель обробляє команду, вона повертає запис, розділений символом '|' (pipe-delimited):
action|device|attribute|value|unit|room|floor
turnOn|light|brightness|80|percent|living room|ground floor
Цей формат є навмисним. Текст, розділений вертикальною рискою, дуже легко парсити будь-якою мовою програмування без важких залежностей. Це дозволяє уникнути роздуття JSON та затримок через вкладену серіалізацію. Агент освітлення може прочитати колонки action та device і діяти негайно. Агент логування може витягти room та floor, не запускаючи ще один прохід інференсу. Структура усуває неоднозначність за своєю природою.
Обробка нечітких людських намірів
Справжні люди не розмовляють як документація API. Вони кажуть речі на кшталт «зроби світліше» або «зроби тут тепліше». Крихкий парсер на цьому б спіткнувся. Domux справляється з невизначеністю, зіставляючи намір із дією коригування та дозволяючи наступним системам визначати точне значення. Якщо хтось каже «зроби світліше», модель ідентифікує дію як збільшення яскравості. Конкретний числовий рівень залишається на розсуд агента освітлення, який визначає його на основі поточних показників, часу доби або
