Контрибутор AG2 Семён выкатил статью на Habr, которую я давно должен был написать сам
Статья про интеграцию бекенд-агентов с Web UI через AG-UI протокол. Ну, и конечно, про DI (ваш любимый dishka) в агентах.
DI в LLM-агентах - больная тема, с которой я сам регулярно сталкиваюсь в агентских приложениях. Никто особо не думает о том, как прокидывать данные в агента из внешнего контекста (например, из HTTP запроса), как организовать бизнес-логику внутри инструментов. В общем, как подружить LLM логику с детерминированным кодом приложения.
Семён разбирает, как это делать правильно через dishka-ag2 — мост между AG2 и Dishka от другого контрибутора (спасибо Данил).
Особенно рекомендую раздел про транзакционную семантику tool calls — что происходит, когда модель параллельно вызывает 3 инструмента, и один падает. Спойлер: общей транзакции нет.
Внутри полный код, паттерны и антипаттерны, ссылка на репозиторий, где вы сами можете поиграться с кодом.