Как передать_to_agent при эскалации в LoopAgent с помощью Google-ADKPython

Программы на Python
Ответить
Anonymous
 Как передать_to_agent при эскалации в LoopAgent с помощью Google-ADK

Сообщение Anonymous »

Возвращает ли LoopAgent управление родительскому элементу после эскалации в Google ADK?
Я использую 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))
Проблема: после эскалации цикла последний видимый агент является критиком, а не root_agent. Я хочу, чтобы root_agent:
  • вернул управление после завершения цикла
  • Читал session.state['current_code'] и другие результаты
  • Обобщал и представлял окончательный ответ пользователю
Вопросы:
  • Да LoopAgent автоматически возвращает управление родительскому элементу (root_agent) после эскалации?
  • Как обеспечить обработку результатов root_agent? С помощью инструкции/подсказки или программно?
  • Должен ли я использовать EventActions.transfer_to_agent в своем пользовательском агенте или ADK автоматически обрабатывает переходы между родительскими и дочерними элементами?
Я знаю, что инструменты могут использоватьtool_context.actions.transfer_to_agent, но я использую BaseAgent, а не инструмент.

Подробнее здесь: https://stackoverflow.com/questions/798 ... google-adk
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»