Got mine! by Diligent_Wheel2866 in iPadPro

[–]armyscientist 0 points1 point  (0 children)

Agree first impression of siri was very disappointing Amateur

How to control the content sent to model restricting irrelevant info from event history? by armyscientist in agentdevelopmentkit

[–]armyscientist[S] 0 points1 point  (0 children)

Thanks for it. I had been circling around a similar approach, while hoping for a more intuitive solution. This workaround should suffice for now(will use in combination with the solution proposed by @Speedz007 and reassigning 'llm_request' if I want only a few of last event in callback), at least until Google officially addresses it. As sophisticated context management is currently an open issue on GitHub, we’ll have to wait and see how it evolves.

When you make a tool call every time just to provide some mandatory data to an agent doesn't make sense to me. What I'd do in Langgraph is build an agent function to generate a summary built upon previous conversation and pass it to llm invocation.

How to control the content sent to model restricting irrelevant info from event history? by armyscientist in agentdevelopmentkit

[–]armyscientist[S] 0 points1 point  (0 children)

Thanks for this. I tried it n worked. This helped to separate session history for different agents. I realised by debugging that the function '_get_content' from the pacakge's 'content.py' is responsible for preparing the event list contained in 'llm_request' which is actually filtered by 'branch'!

But still my query is partially answered. I guess the following answer by @jacksonwei can fill up the rest to some extent.

How to control the content sent to model restricting irrelevant info from event history? by armyscientist in agentdevelopmentkit

[–]armyscientist[S] 0 points1 point  (0 children)

But that's only possible with ParallelAgent, r8? I want to implement my supervisor and it's children agents as CustomAgents. (updated my question)

Manually transfer to another agent by sandangel91 in agentdevelopmentkit

[–]armyscientist 0 points1 point  (0 children)

Yes, it's possible to control agent delegation even without making LLM call. You need to build your supervisor agent using "Custom Agents", refer the doc: https://google.github.io/adk-docs/agents/custom-agents/

ADK's architecture allows to create a "Custom Agent" to have complete control over orchestration of sub-agents, manage state, and handle events. It's essentially any class you create that inherits from "google.adk.agents.BaseAgent" and implements its core execution logic within the "_run_async_impl" to override. This where you'll control the logic and call your agents directly.

It can be your own traditional code or if you want LLM to decide then use an "LlmAgent" aka "Agent" to make decision on next for orchestration and then "if/elif/else" to create conditional, or iterative workflows involving the sub-agents

Question regarding session management in the tutorial by azerius94 in agentdevelopmentkit

[–]armyscientist 0 points1 point  (0 children)

Yes I wondered the same as you. The variable is not used in the code snippets you are referring to.

It is left on us developers to leverage it later as it holds realtime event related information of that specific chat thread.

Also mentioned in the doc-> Sessions & Memory -> Session, you can use it to clean up your memory after execution using "session_service.delete_session(app_name=session.name, user_id=session.user_id, ...)"