Suspended conversations

I have a team with multiple agents in it. It often happens me that the coordinator says something like:
”I asked this to MyAgent. I’ll notify you as soon as the response is ready.”
And then from my logs I see that MyAgent has answered, but the Team never give a response to the user. The user waits undefinitely… How can I solve this’?

Best Regards,

Rita

Hey @rbeltrami, thanks for reaching out and supporting Agno. I’ve shared this with the team, we’re working through all requests one by one and will get back to you soon.If it’s urgent, please let us know. We appreciate your patience!

Hi @rbeltrami , Can you please share your team config so that I can replicate it on my end? Thanks

Yes @monalisha , here you are.

shared_file_tool = SharedFilesTool()

# shared context
shared_storage = PostgresStorage(table_name="sixster_team_sessions", db_url=db_url, auto_upgrade_schema=True, mode="team")
shared_memory = Memory(db=PostgresMemoryDb(table_name="sixster_team_memory", db_url=db_url))

equipment_agent = get_team_equipment_agent(shared_storage=shared_storage, shared_memory=shared_memory)
serial_kit_agent = get_team_serial_kit_agent(shared_storage=shared_storage, shared_memory=shared_memory)
output_agent = get_output_agent(shared_storage=shared_storage, shared_memory=shared_memory)


def get_sixster_team(
    model_id: Optional[str] = None,
    user_id: Optional[str] = None,
    session_id: Optional[str] = None,
    debug_mode: bool = True,
):

    return Team(
        name="Sixster Team",
        team_id="sixster-team",
        #mode="route",
        members=[equipment_agent, serial_kit_agent, output_agent],
        instructions=[
            "You are a team of agents working in the sterilization center of an hospital.",
            "equipment_agent is the business logic agent specialized sterilization, washing or moving equipments.",
            "serial_kit_agent is the business logic agent specialized in managing surgical kits and their tracking.",
            "output_agent is the general purpose agent specialized in making data analysis, generating csv reports and visualizations.",
            "# STEPS TO FOLLOW",
            "1. Analyze the user request.",
            "2. Delegate to the agent that is best suited for data retrieval (equipment_agent, serial_kit_agent).",
            "3. If you are requested for visualization / data export, delegate to output_agent.",
            "4. Return to user an organic response.",
            "# RULES AND CONSTRAINTS",
            "* Do not ask business logic agents to do things they are not specialized in.",
            "* Do not ask business logic agents to create visualizations or csv reports or dataframes."
            "* If there is some issue with CSV files, use proper tools for debug",
            "* Don't mention to user the tools or agents you used: user is NOT a technical person.",
            "* If output after a while output_agent does not give a result, ask him to go on",
            "* Se un agente ti sta chiedendo se vuoi riprovare ad eseguire una operazione fallita, digli di sì; se invece l'errore non è risolvibile, comunicalo all'utente.",
            "* Never say to user SIMPLY 'I asked this to another agent'. Always provide a complete answer to user question. If runs in an error, inform the user, but don't let him wait forever.",
            "# CONTEXT",
            "* If user refers to 'articles', he means 'products'"
        ],
        session_id=session_id,
        user_id=user_id,
        tools=[shared_file_tool], 
        description="You are a team of agents working in the sterilization center of an hospital. You must deliver information about traceability of surgical kits and equipments.",
        model=get_model(),
        success_criteria="A good answer to user question.",
        enable_agentic_context=True,
        expected_output="A good answer to user question. If user required a specific output format, it must be respected.",
        storage=shared_storage,
        share_member_interactions=True, 
        memory=shared_memory,
        # Add these parameters for conversation history
        add_history_to_messages=True,
        num_history_runs=3,
        stream_intermediate_steps=True,
        stream_member_events=True,
        debug_mode=True,
        mode="coordinate",
    )

Tell me if you need further information.

Thank you so much for your help,

Rita

Hi @rbeltrami , This should not be a case for a team not responding and can be a model specific issue.
Thanks for raising the issue ,our team will work on having a timeout feature to resolve the long waits , so that the leader can handle it properly. Meanwhile, can you please try Agno 2.0 and see it it solves the issue.

Hi @monalisha ,

I tried different models, but it sometimes happens with almost all of them.

Thank you for your interest,

Rita

Hi @rbeltrami , We are working on adding a timeout support for handling it better. It will be out soon . Thanks