The Agent Development Kit (ADK) is an infrastructure framework that simplifies AI agent development by providing tools for agent creation, tool integration (such as web search, database connections, and code execution), workflow management, and multi-agent system coordination, enabling developers to overcome challenges in managing multiple models, connecting agents to external tools, monitoring agent activities, and deploying agents in production environments.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Get started with Agent Development Kit (ADK) | Evren ÖzkipAdded:
Greetings everyone.
Welcome to another event. I hope you are all well. As you can see, I'm participating from outside again, but... well, we started a little late today without much of an announcement. I can say that I'll quickly introduce our guest and then I'll step back to the back.
Yes, we have a teammate with us today. That's why we're excited, to be honest. I'll invite him too, right away.
Greetings, Eren. Welcome. How are you?
Hello. Nice to meet you, Serkan. Can you hear me?
Yes, it's coming now.
Welcome back. Thank you. Hello.
Thank you for taking the time to speak with us today. If you want, share your screen so we can test the backend right away.
Let's start the broadcast then. Ok. Where can I share it? From here?
You can think like me. The share screen is located just below. Is he coming right now?
Yes, he arrived. Ok. Ok. I wish you good explanations.
See you later.
Thank you. See you later. Good evening.
Hi everyone. Welcome.
I hope you are all well. Can you hear me?
Now, friends, today we're going to talk about the Agent Development Kit. We will work together.
Yes, it's coming. Okay, thank you.
Meanwhile, I'm looking at the YouTube screen. Okey. Okay, first of all, let me introduce myself. I'm... uh... I've been working with artificial intelligence and data science since 2010.
I completed my PhD in mathematical statistics in 2015. Then, in 2018, I founded the eTrend Academy channel. So, here I've created content and given training courses related to data science, machine learning, and deep learning.
Lately, I've been creating content about AI agents, generative AI, and e-automation, and I also provide training in these areas.
Hey guys, you can reach me on LinkedIn or the Trend Academy YouTube channel. Well, I'll send the links to them via chat. If you have any questions after the lesson, I will try my best to answer them here.
Okay, now, if you'd like, let's slowly get to the point.
Uh, it won't be too long, uh, a detailed explanation.
We will complete our e-transactions quickly. First of all, let me tell you, what is uh, what is 'ag' or what is 'ag'? Uh, I want to talk about these.
Then we'll move on to our lab.
We'll move on to our project. Now, friends, earlier we were talking about artificial intelligence.
We were chatting with them. We were asking questions.
They were answering our questions as well.
But after 2015, in early 2016, activist AIs began to emerge. Well, we call them AI agents. So what is an AI agent? AI agents, my friends, are autonomous systems that can make their own decisions and think for themselves. It's become very trendy lately. Many companies, many, uh, individuals, practitioners, uh, then uh, developers, have started adding these AI agents to their work.
So, what is an e-agent? We saw it. So, what are the challenges in agent development?
If you'd like, let's take a look at these. Okay, everyone wants to develop agents, but developing agents is n't easy. Developing AI agents, artificial intelligence agents, is not easy. Well, first of all, when we develop AI agents, we work with multiple models.
And managing these models is really difficult.
For example, one model conducts research, another model performs data analysis, and yet another model writes a report. We need to manage these things.
To manage things, we need an environment... These agents then want to establish contact with the outside world.
For example, they want to do a web search. They want to connect to the database. They want to run Python code.
They want to connect to and interact with e APIs. So, we want to connect these agents to the tools. To connect it, uh, we need to manage this. Here, another challenge arises. Then, after we develop the AI agent, we would like to monitor these developments. What step did this agent take?
Which vehicle did he use? So, where did they go wrong? Which E-commerce processes are being followed?
We need to track these. So, these are the challenges you'll encounter when developing E-agents, folks. At the same time, we also need to deploy AG. Well, deploying it is another challenge altogether, I'd say.
So, to overcome these challenges, we use the Aged Develop Kit e- environment.
We are using its framework. Actually, we call this ADK for short. When I say ADK, you can understand it as AG KIT. E ADK is an infrastructure, or framework, for developing aged products.
So, what can we do with this ADK (Advanced Development and Control Center)? First, we can create an eee agent.
We can develop agents. For example, we say you are a research assistant. We can say, "Analyze the data and then prepare a report." This is how we can create an agent.
Then, we can attach tools to these agents within the ADK. As I said a moment ago... Agents need tools to communicate with the outside world. So, we can connect these tools to agents within the ADK. For example, a web search tool.
For example, AI is good in certain areas, but it can't access up-to-date information. Sometimes he/she experiences hallucinations. To ensure access to up-to-date information, we will be doing this in today's project as well. Uh, he needs to do a web search. We need to add a tool for web search.
We're going to do this today. For example, we'll add the Google Search tool.
Then, friends, uh, we can connect to the database.
We can run Python code. So, by connecting the tool, we can enable them to communicate with the batteries.
We can also manage agents and friends through ADK.
Uh, for example, we have our main agent. And, under this main agent, there are other agents.
We can track these agents.
We give the main agent their assignment. And then the sub-agents take over this task. The main agent actually distributes the tasks. So we're not actually setting up an agent.
We are forming a team.
We are building a team of agents, a team of agents.
So, for example, what can the main agent do?
He can assign a task to an agent for the research.
It can assign tasks to a data analysis agent for data analysis. For other reasons, they can assign the task of writing a report to a report writing agent. The control agent can also assign tasks to the agent himself.
Then, friends, we can manage workflows within ADK. So, we don't want Agent acting on his own accord here. For example, we say, first go and read the data, then analyze the data, then write a report, and finally check it. Or, for example, Aycit could start by writing a report or doing an analysis. So, it might try to analyze the data without actually reading it. This is how we can assign tasks to agents.
So, for example, we say, do these things in order. We can say, "Read the data, analyze it, write the report, and then check that report." Of course, while performing these steps, the AI agent can make decisions on its own. He can still make decisions on his own. Well, they can think and make decisions. For example, it can perform a web search when needed.
Python can run eee code anytime.
Here's how they can call another agent for help. This is how we, as ADK, can manage workflows.
We also developed the EI agent. Okay, that's great. Uh, yes, aged works, but we need to test it. Well, we can still use the ADK environment for testing.
Uh, for example, we encountered an error there. We noticed that the AI agent went crazy, it started making decisions in a different, uh... way. This is where we come in; when an error occurs in the agent in such situations, we can fix that error and deploy it back into the ADK. So we can deploy this agent live. Okay everyone? If there's anything you don't understand, feel free to ask. Uh, I'm reading the chat right now. I see the chat. Evren Öskip, uh, I'll answer.
So, friends, what are we going to do in this lesson? In this lesson, we will set up the ADK work environment. First, we will set up our work environment. So if we can't set up our work environment now, of course we can't do anything.
First, we need to set up our eee agent work environment.
Next, we'll look at the architecture of the agents. Next, we'll look at ADK's interface. So we're not just running the ADK in the terminal.
This ADK also has an interface.
We'll look at its interface. Next, we will run the eee agent programmatically. We will run it not only through the interface but also programmatically.
Other colleagues, uh, we, uh, need to run our agent in the terminal ourselves to test it. Therefore, we will also run and use our agent from the terminal and test it there. Finally, friends, we'll look at multiagent systems.
We will examine multi-agent systems. Is it okay?
Okay everyone, after this introduction, let's gradually move on to our eee lab.
Let's do our research in the lab.
Now, this is how I'll open it.
Uh, you can enter from here. I'll send the link via chat.
You can enter from here. So, we'll have a temporary lab here, folks. We'll have a 1.5-hour lab session, but we'll finish it in about an hour.
I share my notes in class.
Well, I'll try to get it to you somehow.
I will share these notes.
Now, everyone, open this page, click this link, and come here. Let 's work on our project together, step by step. We'll have about five or six missions here. We will complete these 56 tasks together. Is everyone hungry? Can our colleagues who opened it say, "Okay, we're ready"? Who's ready? There are 17 of us right now.
Taner, "How about you come from a teaching background?" Yes, thank you. Thank you very much. You are great. Thank you.
We're ready, sir. Ok. I've run out of credit.
Well, if you've run out of credit, you can get credit from another account.
Our credit link is available in our WhatsApp group. I can access the link from there and click on it, or I can even send it from here myself.
Here I come.
Let's see if I can find it. Ok. I'll take this. Throw it from here. You can get a new loan from here. You can log in from a different account and apply for a new loan. Okay?
Now, let's refresh the page, guys. Let's refresh the page.
Now, here's the situation. Well, first of all, we need to get our loan here. Okay, we already received our loan, but we need to... well, define it here.
I've done this before, but I took a screenshot for you. You can easily activate your loan by following these steps. Let me explain it this way.
Here I come.
I took a screenshot. Now I'll show you. Let me do this. Ok.
First of all, when we say "start lab," a place like this will open up for us. Is it ok? A place like this will open. In this way. Now we say buy credit. Ok.
uh, we say buy credits.
We are buying credit. Then we see a screen like this. This is what the screen looks like. Well, there are various training programs here.
To do these trainings, we need to load eee one dollar. But we can also use it for free. We were given a loan. A loan of 5 dollars was given.
We will use this credit to log in here. Is it ok? Approximately how many credits did we get? What were the 32 credits they offered?
They were giving out around 30 credits. Our lab uses 7 credits.
After you use up 7 credits, you can do this lab again and again if you want, or you can use it elsewhere.
Okay? Here, friends, is the no-cost section. You click on the "No cost" option. Ok.
Check the "no cost" section; it already gives 35 credits. He says it here.
You click on the "No cost" option.
Then, friends, you need to verify your account to access this skill. You say continue.
Continue. Then, a form opens up, folks.
A form titled "Gemin Enterprise Agent Ready" opens.
You are filling out this form.
You are filling out this form.
After filling it out, you click join.
join.
Then you'll see a screen like this.
You can join our training program from here. You can now access the training by clicking the link I provided. Is that okay?
You will then enter the Get started with agented development kit (EEE) training lab.
I hope that's clear. If you have any questions, feel free to write them in the comments. I try to answer as best I can.
I'm shutting this down, guys. The form didn't open for me here.
So, has that thing arrived yet? Has the buy credit arrived? Has BY Credit arrived? Look at this. I repeat. I repeat. Ok.
Mr. Credit has arrived. You also press the button for Mr. Credit.
You press buy. Okey. It came at no cost. Ok. So, you click on "no cost" here.
You click on "No cost".
You're saying to continue in this way.
Uh, when I say "continue," this is where it should lead. This form needs to arrive.
So I tried it two or three times. It arrived for me too. The form needs to look something like this.
Once you arrive, you'll fill this out and click "join," and then you'll come to this screen, folks. It didn't come to me.
I don't know why Buran didn't come to you. It should open normally. The form needs to be opened. Are there any friends who have arrived? Could our friends who are coming please write something?
Teacher, can I write that I also arrived? Did nobody come? So how should we do it then? Let me try to show you, but first let me try to open my own account. I'll try opening it from another account.
Here I come.
I'm copying this. Copy. Come here.
I'm opening this.
HS.
One minute, guys.
Where are we now? I'm copying this. Did you copy it? You copied it. Ok.
I've arrived here.
I pasted this. Okey.
I'm coming now.
I'm logging into my email.
Of course not, if you only have 3 credits left. 7 credits are needed. You can log in again with a different account.
Now, did I do it right, guys? Let me see.
I choose the stairs. That's how I chose it. Okey.
Now let's do it together. Ok. I'll do it from here too.
Look. BY credit, it says. I pressed it. Okay? I selected it. I chose no cost.
I'm selecting the account from here. I selected it.
Look, I have one too, come here now.
Maybe it didn't work because I tried it before?
Normally, credit would have been defined here. Should I log into another account from here? Let me try logging into another account.
Let me fill out this form.
Okay, I'll change this to 01. Let me do it this way. Ok. Ok.
I choose these. I choose these.
Then I say okay. I accepted.
Okey.
Now, friends, this is how I choose.
I said continue.
I hadn't tied up a loan with this.
What is the professor saying?
They're probably giving away the free version for new accounts. That doesn't happen to us, sir. So, I bought it, guys. I bought it, but it 's not showing up right now because I bought it from another account, I guess. But I'll show you again. Now you can watch the video later and do that.
I'll show it again quickly.
So, we're saying continue from here, after no cost. After clicking "Continue," the following point appears. So, this has happened twice before. So, this is the screen that appears.
Once the screen appears, we fill out this form. We say "Join" and we participate. Well then, let those of our friends who can do it, do it.
Those of our friends who can't do it should listen too.
We'll look at it again after class. Uh, 35 credits are given out every month.
Cratings.
Yes, they give 35 credits. Okay friends, those of you who can do it, please do, and those who can't can watch the video later. So, by following along from there, by doing what I do, and so, by finishing the project.
Now, now I'm opening this part.
I said start up. I clicked this.
I choose the lights.
I confirm this.
Look, I had 35 credits back then. 5 are gone. Uh, 28 credits left.
I've set up this lab a couple of times before. And now it's down to 21 credits. Seven more credits will be spent.
I say start, and it's started right now, folks. Our lab has now officially started.
We will proceed with the process step by step from here. Is it ok?
First, we need to establish our ADK (Advanced Development Agency). We need to install the Agent Develop kit. We need to open this in incognito mode when friends open it.
Pay attention to this. Now I right-click here and... uh... open it in private message. Why am I opening it in Incognito mode? Because we open it in private so that our friends don't use our account information. So, we log in with our Stuent account, that account that was given to us for free, that account with credits.
Otherwise, if we don't open it in incognito mode, then credits can be deducted from our own credit balance, from our original credit balance.
So our money can... well, it can go somewhere.
Therefore, we're opening it in incognito mode here.
I agree with this and I'm proceeding. And friends, our Google console is now unlocked.
I agree to the terms and conditions here and will proceed. I'm closing this now, guys. We can close this place.
We can close the helper windows.
Let's close this section as well. Right now we're on the Google console. Look, it's clear from here that we're in our e-lab. Uh, our project is a lab project. Uh, loans will be deducted from here. Our time is up, folks. Our time limit is 1 hour and 28 minutes. This closes when this time is up. Is that okay?
First of all, we need to open the terminal, guys. First, we will perform all our operations in the terminal. We need to turn on the terminal.
Look, the terminal section is in the upper right corner.
I'm opening this terminal. Is it ok? Cloud shell terminal.
I say continue. I say, keep going.
I agree, guys.
We approved it. Ok. Now, as you can see, our terminal is open.
Beautiful.
He says the problem occurred when he opened Creatings from a different email address. Even 70 grams. That's wonderful. Very good. They gave 35 72 loans. You're the ones who got involved in this back then.
Now, folks, our terminal is up and running. This terminal runs in the cloud. Is it ok?
We can open this terminal in a new window from here.
We can work better and more efficiently if we open it in a new window.
We can work more comfortably.
I'm opening this in a new window. Ok. We have now opened a new window of opportunity. So, folks, we're going to write our code and keep track of our files.
We will organize our files. So it would be great if we could work with an editor here. That would be great. Thankfully, Google has given us this opportunity. Someone has put a place here for us to open an editor section. Look, it says "open editor" here.
We open our editor from here. We are presented with an editor similar to VS COD.
We can close this. I'm closing this for now.
Yes, this is our friends editor.
From here, just like in the vi editor, we can manage our files.
Look, we're writing our code right here.
We can also manage our files from here. Is that okay? Now, let's open our file, guys.
Let's open our project file. I say open folder.
Look, our project file is already automatically generated here. Now we have to choose. We select our project file for this project, which starts with Student. Okay, I say.
And now, friends, our project file has been opened here.
Okay, our project file is now open. From now on, we will perform our eee operations in this eee directory.
Okay guys, I'm closing this window so I can work in a more spacious and comfortable environment.
I'm closing this as well.
Now I can see this place more clearly. In fact, if I zoom in a little more, you can see it more clearly.
Now, folks, let's do this... First, let's take a look at our account. Which account are we on? That's why I recommend G cloud. In the terminal, I type `out`, then `list`, and press Enter.
Look, the loan has been secured, it's been secured here. It says it's active.
He says he's active. It starts with Stut and tells us that our account is active and also that it's a credited account.
Okay? Now, we can use the `clear` command to clear this terminal. I have now cleaned the terminal myself. The first thing we need to do is this. Uh, downloading ADK files, uh, from here, guys, from the internet repository. Is it ok? All the processes, look, all the processes—and if you follow this later—all of them are already shown and explained here.
You will essentially be following these steps one by one. Is it ok?
First, let's see what he says? In Task 1, install the eee ADK and build the eee environment.
Now look, this is right here. Uh, look, this... I mean, the one where ADK is... uh, this... we need to download it to our sequence.
I copied it from here. Is it ok?
I copied it. I'll be coming here next.
Where? There. Let me do this so you can see it even better.
Okay, I'll choose the light theme. So you can see more clearly. Ok.
Now I'm pasting this here, friends. Is it ok? I'm pasting it here and pressing enter.
I pressed Enter and now this is loading. We have uploaded our information. Look guys, here are some files with the project name ADK.
There is ADK Unit, there is app agent, there is LM Editor. I have My Google Search Agent. These are our work files, our work folders. Our agents are here.
Here, folks, there are four agents.
ADK, UTIS eee assistant.
Uh, there are already cashed-in answers here. We will ask the agent questions.
We will ask him to answer those questions.
Here are some predefined answers. Our app agents are our main agents.
We will activate this agent shortly. Uh, our agent is defined here.
I am an audit agent at LM outorder. We have two agents here. an agent who does critical analysis, i.e., checks and verifies. The other one, friends, is the agent who revises or corrects things.
We will also put these into operation. We'll look into those as well.
Then we have our My Google Search agent. And this is the agent used for searching the web. Okay? So what have we done now? We downloaded the ADK files and Python files from the directory. Now we need to upload these. I'm cleaning the terminal from here now. I pressed Enter.
I cleaned the terminal. Okay?
I'm coming now.
Now, let's get to the point.
I actually have the code to follow from here, but I'm doing it alone here so you can see it.
First, we're going to create a variable named `pat`. Is it ok? Uh, then we'll upload this Python 3, uh, code, and our Python code. So, look, here Google says ADK.
We will install Google ADK. And also, we'll be installing the Python libraries for this project.
Look, I copied it from here. I've arrived here.
I've arrived here. I entered Ctrl+V here.
I pasted it and pressed enter.
As you can see, the files are being uploaded.
Both the agent development kit and the software are being installed.
Development kit is being installed.
Python libraries are also being installed. As you can see, it's pretty much like a CIT learn, and it's Python, which is widely used in data analysis.
And this is how we developed our e-environments. Thank you.
Creating Creatings. Thanks.
So, here we are, folks, libraries. There's P Arrow. MCP is available.
Notice that Google Cloud Trades is there. So here you'll find many libraries related to both ADK and Python.
These are loading. We will use these.
Yes. Very good. Great. It's currently loading.
The libraries and packages we will use have been installed. I said clear.
I've cleaned my terminal, guys.
I'm lowering it a bit.
Yes. I said we have four agents here. If you'd like, let's examine the My Google Search agent folder here. Look, here's the init.p file.
There is a single line of code in init.p.
from.impimport agent var. So what are we doing here?
We import the agent file from directory E. We are importing this.
This is the job of the `alt tire altire init altre.pay` keyword. Then there's agent.p. This agent.pda file contains our defined agent.
Notice how classes and then functions have been imported from Google ADK. The required functions have been imported. Look, uh, Google Search Tool has been imported from Google ADK Tools.
We will use this as well.
Uh, this tool isn't currently added, guys. And we already see that in that situation. Well, we see it in the project as well.
We need to add this now. Now, let 's look at it this way. For example, there's the root agent. The agent has been identified here. The agent has a name. Well, it has a definition. There is a model. Look, here's the model being used. Well, the model here is defined, but we can change it dynamically.
We will define the environment variable shortly, arkadaşlar. There, we can use whichever model we want. We don't stick to just one model.
For example, there are instructions; friends say, " Here, we're assigning a role to the agent."
We say you are an expert researcher.
So, you stick to the effects, that is, follow the facts. We call it a detachment from reality. It already says here, " add the Google search tool below." Now we need to add our Google search friends here. Look, I'm coming over here. I'm coming to our lab. I'm going downstairs.
Look, I'm adding this here.
For Agent to be able to use the tool, I need to add this tool myself, guys.
Okay? Yes, we've added it now.
Great. I go to the File section and save the changes I made. Is it ok?
Sometimes the auto-save feature is enabled. Sometimes it's not clear.
Pay attention to it. If it's not already enabled, you need to save it. Yes. We completed our second task with our friends.
Yes, now ADK, which stands for e-aged development kit, provides us with an interface for developing and testing our agents. Is it ok? Let's take a look at this interface now, shall we?
What is this interface, and what isn't it?
Let's see how the interface works.
In this interface, we can see what the agent is doing, how it works, and, if there are different agents, how they communicate with each other.
We are able to track these things.
Let's open this interface now.
First, friends, we need to configure some of our environments.
For example, we need to determine which E.G. model we will use, which project we will use. I 'm going to LA now to set these up, guys. Look, there are environments over there.
So, here we'll save these environments to the noNV environment variable in the environment file. So Google says gen AI use vertex AI, right? So, uh, we're saying here that we're going to use Vertex AI.
We are presenting our project here. And, we're stating the location here.
We are stating the model we will be using here.
And these are, well, more structural adjustments.
Now I'm going to copy this.
I'll be back there later.
Where was it? It was right there, was n't it? Heh. Great. Ok. Hey guys, I'm coming over here.
I'm pasting with Control V. Then I press enter. Look, right now these environment variables are saved to our ENV file. It's that simple. If there 's anything on your mind, feel free to ask. If there 's anything unclear, feel free to ask, friends. I'm following the chat.
I'm looking at Chaten. If you have any problems, you can message me in the chat.
I will answer to the best of my knowledge.
Now, friends, look at our file, it's the ADK project file. So, we've currently set the series up like this.
If you happen to be in a different directory while making adjustments, then you can just say "uh, this is the CD" and that's it? You need to configure the Tilda/ADK project settings. Since we already had this setting, we used it directly. So, if you're in a different directory, you can come to this one.
Now let's start the ADK interface, which is the agent development kit interface. That's why we're coming here, friends.
We're arriving here.
We copy this command.
Then we come here. Then we paste it here.
Then we press enter. It's that simple.
This code will open the interface, guys.
We can now perform tests on the interface. Look, right now our ADK interface, our UI, is running on port 127.0.0.1 8.000. So our local host is running on port 8000. I'm opening it now.
I pressed Shift+Click to open it, and that's how our interface opened.
Here, friends, we have our apps.
Look, we can choose an app from here. We will choose our Google Search app from here. Is it ok? Now we can write a prompt here.
We can write a question here. Now, we want to use the Google Search tool here, right? So, let's ask our friends for this up-to-date information. Let's say I know that the 2028 Summer Olympics will take place. I know it will be done.
I'm copying it like this. In fact, I'm using the exact same example, guys. Look here, I'm copying this from here.
I'm coming to the interface here. And I'm pasting this and sending it. This is what we mean here. I know that the 2028 Earth Olympics will be held, so people will search for it on Google. Please tell me which countries will participate and what events will be held.
Look, our agent here did a Google search and gave us the information.
He normally didn't know this information.
This information was not within his knowledge.
We asked for up-to-date information. Since he didn't have this up-to-date information, he went and did some research online. They did the research and got back to us with the answer. Now, look, we can track this using these traces, guys. For example, we can see how many seconds it takes to complete a task, how it works, and which vehicles it uses, all from here, via Traffic.
We can track it from here. Okay?
Yes, that's all, folks. Well, that was our task. And with that, we've completed this task as well.
We can now close this interface.
I'm closing it by clicking the X here. From here, friends, to exit, our interface is currently running in the terminal. I press Control C to exit from here as well. Look, I've arrived here.
I pressed Control C and that's how it came up. If it gave an error, ask again, Taner. Ask again. He/She will probably answer.
You connected it to that, right? You connected the tool.
There were tools over there.
We've added the Google search tool here.
We added this to line 35. You should have added this. If you haven't added this, then you can't use this 'to'.
So, folks, uh, we've accomplished this task. Is it ok? We have completed this task.
Now let's go over there. Look, there are currently 1 hour and 10 minutes left until our lab ends. Now we come to the point where we say, uh, check my progress. We click on this. Look, as you can see, the light turned green. So we have accomplished this task. Okay?
Now let's move on to our fourth task. In this mission, we will operate our agent programmatically.
Now, ADK UI, or ADK ARU, is very useful for testing and debugging. As we just saw, it's good to see how the agent works, to test it, to see if it has any bugs. We can track it from here.
But we might want to expose our agent to multiple users in a colleagues deployment environment.
For this reason, we might want to run this agent programmatically.
We might want to run it directly from the terminal rather than through the interface.
For this, friends, we need to make some adjustments.
So, we need to adjust the environment variables here. To set this up, friends, I'm copying this. After copying, I come to this point. I'm typing 'clear' into my terminal.
I'm cleaning my terminal.
Then I copy it here and press enter. Ok. This is how we created our environment variables.
Now let's look at another agent.
We just looked at our Google Search Agent, didn't we? Now let's look at our e app agent. So let's look at our main agent. Our main agent is here too, look, we had four app agents. Our app agent is here too.
Here, our agent is being imported into init.payda again. It exists. Ok. This is being imported. The program that runs when we call this folder starts automatically.
Now, let's take a look at the code, guys. Let's take a look.
As you can see, various classes have been imported from Google ADK. Uh, here's the load for the environment variable.
The function has been imported. Okay?
These were imported. We have an app here, guys. If you notice, there's a runner app on the E68. In memory runner. This makes the app work.
You can think of it as having a manager running this agent. So, what is this guy doing, guys? It receives the question from the user. Then he sends it to the agent.
He gets the agent's response and passes it back to us. That's what it does. So we are creating a runner here.
Next, we create a session here, friends.
We are creating a discussion session. So what does this session accomplish? It memorizes the topics we've discussed before. It keeps it in memory.
In fact, the agent has developed a memory.
This is very important, friends. Giving the agent a memory is very important.
Agents normally don't have memory. And we need to give them a memory.
Yes, that's right, folks. Look, if you pay attention, there's a query here. So, there's a question that's being asked.
The question asked is "what is the capital of France?". So, the question is, what is the capital of France?
When you run this file now, this query runs. Right now, we're going to run the query here. Next, we will write our own query, that is, our own question, and ask it to answer that question. So, what do we do to make this work now? To make this work, we just need to run the `dotp` command here. That's why I recommend Python 3, guys.
Because we use a Linux-based operating system. So, we need to say Python 3.
If it were Windows, we would have to say Python here. We mentioned Python 3.
Then we talked about app agents. So, we summoned agent.p from within it. And we made it work.
Let's see what comes up when we ask what the capital of France is.
Yes. Here's what the user is saying, guys. The user asked, it says.
He asked us what the capital of France is, he says. If you notice, here, a travel agent, or rather, a researcher named Trevia Aged, investigated this and told us that the capital of France is Paris. In this way, he answered the question that was asked. We received this kind of answer, and now we can edit the output that yielded this result.
We can get the answer in a straightforward manner.
There's a library called Paydentik, folks. Perhaps you know. This gives us much better output. Uh... uh... it's giving it to them in a way that even the agents can understand.
When we do it this way, we do n't normally need to set a data type like 'eee' in Python. We don't need to say things like "this is a number, this is a string, this is a list," and so on. But if we say it this way so that the agents understand it, then we enable them to work better, more efficiently, more beautifully, and faster.
Here, we're discussing with our colleagues what the output will be and what kind of structure we want it to have. If we say it here, our transactions will be processed more quickly. For this, let's go to line 28, folks.
Let's go to line 28.
Let's paste our P-dentik codes here and there. We have these codes in our lab. We do n't need to take them down one by one.
We're going to this lab. Look, we're copying this here. We're coming here.
We paste it here. We're pasting it here.
Yes. We are importing the base model and field classes from Penting.
Next, we define a class here. We're saying that the capital will be a string (e) and the eee field will be a field in the country capital here. Is it ok?
Let's even record it like this.
Let's save it. It might be saving automatically, but let's be on the safe side. Then, friends, we need to add this now. We need to tell the Root Agent that we want this kind of output. Now we go to line 62. Look, we're going over there.
We're coming down, guys.
We are assigning the country capital class that we created earlier to Outbostimea. Okay?
We add this to the root agent. Ok. We added this. Very good. Let's run it again and look at the output. Has the output improved?
Let's see.
Here I come.
I'm running this file again. Let's see how it turns out this time.
Yes. The user says they asked about the capital of France.
Notice that the capital [eee] was given to us in dictionary format. It appeared before us in the form of Capital Paris. This way, we can adjust the output ourselves.
Okay, we've completed this task in this way as well.
So, can we run this in the LAB session using deep learning and computer vision?
For example, if an agent finds a PDF on the web, will they be able to read it using OCR? Yes, of course we can. Of course we can. So we can run all kinds of agents, but we need to define them ourselves. We need to create it. That's the whole point, Cihan.
Uh, this ADK thing, its purpose is to create agents. We can create our agents using this ADK.
Thank you for the problem. Thank you very much.
Okay guys, we've now completed that task, let's go! Let 's say we've completed our project.
Let's say "Check my progress". Let's see what happens. Yes, we saw the green. Okey.
If it sees green, it means everything is fine, everything is good, everything is alright. We've accomplished this task as well, folks. We have two tasks left. Let's do these quickly too. Then let's close our e-lab.
Yes. I think we can do that in about 10 minutes.
Now, folks, we can also chat with the agent via the command line. So we can chat with the eee Agent via the command line without a UI.
What did we just do?
There was a query within the network. We ran that query. But we can ask these questions ourselves.
We can also speak directly from the terminal in our agent. For this, friends, we need to open our terminal using the eee interaction. Is it ok? For this, all we need to do is run this in the sheld. I'm copying this. Look, I'm copying this. I came here.
I pasted it here. I pressed Enter.
Now, look, a user has arrived here. The user interface has arrived. Now I can ask any question I want here.
Since we're following the e-lab here, let's ask the question and send the message directly. Or maybe we should ask him to tell us which popular movies will be released in India this year.
I copied this. I've arrived here, guys.
I've arrived here. I pasted it into User.
I pressed Enter.
Yes, our agent is working right now. He got Prompu. This prompt model is being evaluated. Then we received a printout and it said yes.
As you can see, this year, my friends, they're showing us a lot of the films released in India.
Actually, we could also ask this: So, we can also ask about popular films that have been released in Türkiye.
Let's try this one too. Let's ask about this too.
Now, to avoid making mistakes in the lab, I don't go outside the lab too much.
I pressed Enter.
Let's ask about popular films released in Türkiye this year, for example.
This lath, of course, gave an error here because we could only perform certain operations in a specific way. Ok. Let's start again now. Let 's start again, guys.
Now, there are certain questions here.
Certain questions and answers are recorded.
Now I'll come over here.
I'm running this again.
I'm pasting it here.
Yes. He's thinking here.
I'm not sure if the problem was with Turkish characters.
Well, there's no problem here for India. India is giving us the answer.
He is turning the answer around for India. Anyway, we'll look at that again later, if it doesn't work out, then no problem.
I'm working on my own system, but I ran the Turkish version without any problems.
But there was a problem with Turkish. Let's run this again and see what happens.
These films released in Türkiye are causing an error. Why is it giving this error? Google Search Agent says Google Search couldn't find anything, guys.
It says it couldn't find the tool.
So, it answers in English but not in Turkish. But he had answered before when I was working there.
I couldn't understand why he didn't answer.
It gave an error. Uh, it says "Google Search couldn't find it". Could it be that the Turkish language couldn't find it because we answered in Turkish?
I don't know for sure. Anyway, let 's not waste any more time then. Okay, let's run this one more time. Let me show you the exit. I'm taking your prompt again, I'm taking your prompt right here.
I'm running it again right here.
Yes, but guys, there's no standard answer. Ultimately, because these are based on probabilistic models, models that work with probability, and because they make token predictions, we don't always get the results we want. The more control we have over the agent, the better projects we can create.
These agents... well, they can make decisions on their own.
They can think for themselves, but we can still... well, guide them.
We can control these things.
We have just given our answer. Ok. To get out of here, I'll show you this, guys. We just need to type "exit". Is it ok?
If we type 'exit', it means we're leaving this place. Ok. We've just left.
Now we come to our final task.
We've reached our sixth assignment. So far, friends, we've only managed to run one age group, but we can run more than one age group. If you look closely, you'll see a folder called NLM editor.
There are sub-agents under this folder. So, for example, what does this agent do? He criticizes it. So you're asking a question.
You enter a prompt. He's checking it. The inspector, my friends, are... well, they're correcting it.
Our critical agent is checking.
Our referral agent will also correct any incorrect prompts entered after this check. That's why I'm coming over here now.
I'm coming over here.
I'm copying this. After copying this, uh, I'm coming here.
Let's clean our terminal.
I say clear. Ok. I'm coming over here and pasting it here. I just need to paste these.
First, we set up our directory.
Next, we copy our `My Google Search agent` into the `environment` variable here. Next, we want to open the interface here.
CP stands for copying. What do we do with this copy here, for example?
Uh, where were our environment variables in that thing? Yes. We are copying our environment variables from My Google Search Agent to the LLM Editor's 'eee' element, to the 'agent', and then to the ' e' environment variable under the agent. Is it ok? Then this command opens the interface. Our interface is now up and running, folks.
I press Shift + eee and click to open the interface like this. Okay?
Our interface is now open.
Let's choose our agent from here.
I'm selecting the multi-agent folder right now. Here, I can chat with multiple agents, I mean, with multiple agents.
Remember, we have two of our agents here.
Our first agent, our number 1 agent is making a critical hit.
Our second agent is also correcting the question we provided.
Me too, yes. He worked for you.
Beautiful. Uh, I've worked there before, but uh, I'm not working there now.
I don't understand why it's not working. You wrote it in English.
He studied in English. I wonder if it didn't work out because I'm currently studying Turkish. I don't know if the problem was with Turkish characters.
It might have worked if we had written it in English. Ok.
Now, folks, let's insert one incorrect prompt here. Let's say, for example, that Earth is closer to the sun than Mars.
Let's say we check this. Is it ok? We have it in our lab.
Here I come. To the lab.
I'm copying the front file from the lab.
I'm specifically monitoring it from here so that when we check the progress, it turns completely green. You can try different things later.
Where is he now? Where? Where? There.
I'm coming over here. I'm pasting this here and sending it. Ok. We will have two agents working for now.
Our first agent will be critically reviewing and checking this, folks.
Our second agent will also make corrections based on this critical situation. Yes, as you can see, the correction has been made.
Hmm, so you're saying it happened after that attempt?
Yes. Ok. I gave up after two attempts.
Maybe it would happen on the third try.
Now, yes, as you can see, our agent, our previous critical hit agent, has landed a critical hit here. Then our other agent fixed it.
It says Earth is closer to the sun than Mars. So he's saying that Earth is closer to the sun than Mars, and he's corrected himself.
We can include another example if we want. For example, we can say this. Why is the sky blue?
Well, I wonder if it's because the sky reflects the colors of the ocean? Is it ok?
Let's ask him to check it. Let's see. So, will our critical agent, the agent that criticizes and controls, be able to see and understand this? Then, uh, will our agent who's revising it be able to fix it? Let's want to see this. Yes, our first agent worked. Look, if you pay attention here, you can also see how the agent works. But here's the problem. I'm having a little trouble going uphill. Look, UI is eating up some cafe food here.
Yes, as you can see, friends, it's actually not because of that; in other words, the reason the sky is blue is n't because of the color of the ocean, he told us scientifically. So, we had two agents working here. Yes, that's how we can work with multi-agents, folks. The multi-agents are monitoring each other. This is actually a really great feature.
So I recommend you use this as well. This is also present in network architectures. A network, for example, is working. The network is working, but it's incredibly difficult for you to control it. You tell another agent to check this. That agent goes and checks it too. So, for example, you can do this iteratively. I had done another project related to this. I also had an agent write a social media post for me.
Then the other agent checks on him.
He sees his shortcomings. He says, for example, that there are shortcomings here and there. He's reorganizing the posts based on other observations. Then he sends it to that thing again. Uh, he sends it to the agent who's checking it.
It's a cycle like this, and these agents keep working like this until, well, the post is written. Now, the trend is that you can run not just one agent, but multiple agents. So you can operate agents as a team. Is that okay? Yes. Ok.
Let's go to our lab without wasting any time.
We can close this.
We can exit the control room from here, guys. Then let's go to our lab from here.
Let's say "Check my progress". Yes, that's done too. Very good.
They had given us a time limit of 1.5 hours. We've completed it 100%. They gave us 1.5 hours. We finished with 50 minutes to spare. So, what approximately did he do? So, we finished the process in 40 minutes.
We could have finished even faster, but we managed to complete these tasks here while talking and chatting. Yes. Is there anything unclear, guys?
There's something bothering me.
You can ask.
I'm coming from here.
Yes. What did we do in class today, guys? It's been an hour and 15 minutes, but we started a little late, didn't we? It's been 57 minutes now. So, we've established the ADK working environment. Next, we looked at the architecture of the agents. Next, we looked at the ADK interface, guys.
We looked at U. How to use the UI?
We saw it.
We ran the agent programmatically. Next, we looked at using the agent in the terminal. Ok. Multi-track at the very end.
Okay guys, uh, you can send me your questions via LinkedIn.
You can ask me questions on LinkedIn or on my YouTube channel. I'm sending these again.
I'm throwing it from here.
We can access the connection from here.
Let's not lose contact.
Let's connect with each other from here, guys.
Let's connect with each other.
I'm also looking forward to my YouTube channel. I also create content there. You can follow me from there too.
Okay, let's say that's enough for today, folks.
If you have any questions, you can ask them.
If you have no questions, let's gradually wrap up the broadcast.
Yes, thank you for participating.
I hope it has been an enjoyable and useful problem. That's become a real problem.
Thank you.
See you later. Thank you for your kind words.
Thank you. Thank you so much, Can. I also thank you, Can.
I wish you success in your studies. Okay guys, done. I wish you all a good evening. See you later. Goodbye.
Related Videos
VALORANT's Latest 'Exclusive' Tier Bundle is Rough...
KangaValorant
17K views•2026-05-28
Flight Attendant Mocks Poor Looking Black Woman — Mid Air Announcement Exposes Her Real Power
SkyboundStories-b4r
184 views•2026-05-28
I FIXED My Friend’s Blown Turbo RX-8… Then Sold It
Cameron-RX8
134 views•2026-05-28
NewsWatch 12 at 5: Top Stories
NewsWatch12
1K views•2026-05-28
Simon Jordan & Danny Murphy deliver PREDICTIONS for Arsenal's Champions League FINAL with PSG
talkSPORTArsenal
6K views•2026-05-28
Botting is OUT OF CONTROL in Classic WoW (Again)...
SolheimGaming
108 views•2026-05-28
The "AI Job Apocalypse" is CANCELLED!
WesRoth
9K views•2026-05-28
STREET FIGHTER 6 - INGRID Story Walkthrough @ 4K 60ᶠᵖˢ ✔
RajmanGamingHD
12K views•2026-05-28











