Как передать_to_agent при эскалации в LoopAgentPython

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

Сообщение Anonymous »

# Возвращает ли LoopAgent управление родительскому элементу после эскалации в Google ADK?
Я использую Google ADK со следующей структурой:
root_agent (LlmAgent)
└── цикл (LoopAgent)
├── генератор

├── критик

└── status_checker (BaseAgent)
Моя `status_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))
**Проблема**: после эскалации цикла последним видимым агентом является `critic`, а не `root_agent`. Я хочу, чтобы `root_agent`:

1. Верните управление после завершения цикла

2. Прочтите `session.state['current_code']` и другие результаты

3. Подведите итог и предоставьте окончательный ответ пользователю.
**Вопросы**:

1. Возвращает ли LoopAgent **автоматически** управление родительскому агенту (root_agent) после эскалации?

2. Как гарантировать, что root_agent обрабатывает результаты? По инструкции/подсказке или программно?

3. Должен ли я использовать EventActions.transfer_to_agent в своем пользовательском агенте, или ADK автоматически обрабатывает переходы между родительскими и дочерними элементами?
Я знаю, что инструменты могут использовать `tool_context.actions.transfer_to_agent`, но я использую BaseAgent, а не инструмент.

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

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

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

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

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

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