Перейти к содержимому
EN
Масштаб
Плотность
Тема
Акцент

Агентный слой

Агентный слой

Пятнадцать компонентов, и все они про одно: показать человеку работу машины, которая идёт прямо сейчас. Отсюда и различия — не в виде, а в том, что именно показывается: единица работы, её вывод, её время или её цена.

единица форма
Прогон фаза, попытка, шард счётные точки
Строка очереди задача плоская строка, их сотни
Шаг вызов инструмента раскрывается, внутри вывод
Лог строка от машины поток с уровнем и временем
Диф правка в файле две стороны
Дорожки исполнитель отрезки на общей оси
История попытка с исходом ряд равных событий
Бюджет ресурс с лимитом расход против предела
Дерево узел иерархия неизвестной глубины
Согласование решение человека остаётся в потоке
Отказ сбой причина и повтор

Сравнение стоит здесь, а не на страницах: «возьмите другое» — это утверждение о СОСЕДЯХ, и повторённое пятнадцать раз оно расходится с ними по одной строке за правку.

Что показать

Что нужно Возьмите Почему не соседа
Задачи списком, их сотни, у каждой состояние Очередь Строка плоская: у шага есть тело, и на сотне строк оно не читается
Вызов инструмента со входом и выводом Шаг В очереди вывода нет, а сворачивать нечего
Однородный поток строк от машины Лог У шагов тело, у ленты разный состав
Что агент изменил в файле Диф Диф без изменений — это просто код
Параллельных исполнителей на общей оси Дорожки У очереди нет оси времени
Ряд равных попыток с исходом Историю У спарклайна важно значение, а не исход
Расход против явного лимита Бюджет У метрики нет предела, у меры нет прогноза исчерпания
Счётные единицы работы: фазы, шарды Прогон Пятьдесят точек глазом не считаются — там нужна мера с числом
Иерархию неизвестной глубины Дерево Дерево на одном уровне — это список с лишними ролями
Один шаг обмена, который держит всё перечисленное Реплику Строка очереди плоская, а шаг — один вызов: ответа не держит ни то ни другое
Черновик, который машина сделала перед ответом Размышление Шаг это вызов с результатом, который может провалиться; здесь статуса нет вовсе
Поле, в котором пишут следующую реплику Поле ввода Поле рядом с панелью инструментов — два объекта, и фокус подсвечивает половину одного

Что делать, когда работа встала

Что случилось Возьмите Почему не соседа
Агент ждёт разрешения продолжить Согласование Модалка блокирует всё остальное, а решение здесь часть ленты
Агент упал Отказ В согласовании нет причины и того, что уже пробовали
Решение обязано быть принято немедленно модалка Согласование остаётся в потоке и ждёт
Сообщение без выбора баннер с тоном warn У согласования есть варианты, и они перечислимы

Когда ни один не подходит

Что нужно Возьмите Почему не отсюда
Именованные шаги, известные наперёд шаги мастера Там конечная последовательность, здесь состав приходит из работы
События с разным составом ленту У лога однородные строки и колонки
Непрерывную величину меру Прогон считает единицы, а не проценты
Сравнение записей по полям таблицу Дерево про структуру, а не про сравнение
Свойства одного объекта список свойств У дерева узлы раскрываются, у свойств нечего раскрывать

Общее для всех двенадцати

Состояние живёт в data-state, а не в классе. Словарь закрытый: значение вне его не даёт ошибки нигде — оно просто ничего не делает, и потому сторожится реестром.

Бесконечное движение означает «идёт». Пульсирующая точка, вращающееся кольцо, бегущая каретка — всё это при prefers-reduced-motion замедляется, но не останавливается: остановленный индикатор сообщает «ничего не происходит» ровно тогда, когда происходит.

Узлы приходят во время работы. Строки очереди, шаги и узлы дерева появляются по одной, поэтому instrument.js работает делегированием и следит за появлением групп наблюдателем — подробнее.

Почему кит устроен именно так — конституция · Открытый код под MIT, github.com/keshon/instrument