Я использую Google ADK со следующей структурой:
root_agent (LlmAgent)
└── цикл (LoopAgent)
├── генератор
├── критик
└── status_checker (BaseAgent)
Мой статус_checker увеличивается при прохождении проверки:
Код: Выделить всё
class StatusChecker(BaseAgent):
async def _run_async_impl(self, ctx):
should_stop = ctx.session.state.get("quality_status") == "pass"
yield Event(author=self.name, actions=EventActions(escalate=should_stop))
- вернул управление после завершения цикла
- Читал session.state['current_code'] и другие результаты
- Обобщал и представлял окончательный ответ пользователю
- Да LoopAgent автоматически возвращает управление родительскому элементу (root_agent) после эскалации?
- Как обеспечить обработку результатов root_agent? С помощью инструкции/подсказки или программно?
- Должен ли я использовать EventActions.transfer_to_agent в своем пользовательском агенте или ADK автоматически обрабатывает переходы между родительскими и дочерними элементами?
Подробнее здесь: https://stackoverflow.com/questions/798 ... google-adk
Мобильная версия