 Okay, all right, so my name is Han. I'm from Gina AI. So we are like, you know, AI startup based in Berlin. We have about 50 people right now. And we mainly work on embedding, tuning, embedding, serving, prompt, tuning, and prompt, tune, prompt, tuning and prompt serving. Right. So I want to also, you know, I previously was also part of like, LRFAI when I work at Tencent. And so I want to also share about some kind of open source efforts that we, you know, we work on the agents stuff, right? So you know, if you look back in 2023, right, in the first half year of 2023, we start with chat GBT, all this kind of stuff, and then people found this prompt becomes very interesting. So they're like emerging interest of using prompt to build applications, right? Instead of using Kubernetes, like ML, all the good old ML stuff, we also realize this train, right? So if you look back, I don't know how many of you realize that this remembers this chat PDF, right, which was very popular back in back in, you know, January or February this year, right? So the idea is you upload a PDF and then you're able to ask a question about the content inside the PDF and it will return you some answer, right? And back in March or April, right, or April or May, there was a kind of viral project called AutoGBT, right? So the idea is you kind of use divide and concur, this philosophy to kind of break up the very complicated problem and ask something called an agent, right, to solve this problem, right? And after that, there is a baby AGI and now this agent topic, like kind of back to the AI field, right? I remember like I've been working in the AI since like 2009. And I remember back in days when we talk about some agent system is mostly a very negative terms, because it's kind of related to a very old style of artificial intelligence, right? So it's kind of expert system, agent system, very old style. But now it's coming back, right? So now in order to be a cool startup, like you have this vibe, cool vibe of about large language model, you have to talk about agents, right? So that's why we talk about agents right now. So to give you some ideas, because I don't have like a slide so I can only like try to formalize my content a little bit. So to give you kind of the idea about what is an agent, right? So agent basically you can for those who play games is a very good metaphor. Our example is the NPC is a non-playable game character in the games, right? So especially in the role play game where you have a lot of like characters moving around, they have their own activities, they have their own thinking, right? The way of thinking or the way of doing some actions, right? They also have their own properties, right? A characteristic such as, you know, health, magic numbers, those kind of things, velocity, all this. So there are some characteristics to specify how this agent, like what is kind of how the agents behave and the agent has its own kind of thinking and actions, all these kind of things. And when you can, of course, the most interesting part of the agency is that you can interact with those agents, right? It's just like when you play a game, you can interact with those characters inside the game, right? And then the character will behave differently according to, you know, which dialogue you select to reply or, you know, like whether you decide to attack this NPC or not, right? So this will give you some response. And the idea, so basically if you summarize everything, so I highly recommend you to, okay, so we are, oops, where is it? Oh no, is this the, so there is a, oh, there's a mirror option, that's good, yes. So there is a very nice blog post from Lillian Wong. She is a researcher at OpenAI, which she gives a very good overview about how this agent system look like, right? I highly recommend this blog post, right? So to help you understand, you know, why, you know, today this large language model can be served as the brain of this agent, right? Because it's actually enables the agent to do more sophisticated planning, right? Based on the reasonability of the large language models, right? And then you can also program it to choose from different actions, right? So what is interesting here is, so we also have this kind of open source project, it's just called SyncGBT, try to build kind of formal framework for defining the agents, especially defining how the agents sync, retrospect, and react based on, you know, based on the memory. And the memory is actually the kind of interactive, interaction history of the environment and other agents, right? And here is a very kind of interesting kind of two directions here, right? So one is that you can make an agent very powerful, right? So basically by adding a lot of tools there, right? A lot of function in the tools. So for example, you can allow the agents to turn on, turn off the light, you can allow the agent to do Google search, right? So basically call in Google search API or whatever, open search API, and then return some results so that this agent can have some external memory, external knowledge, right? So this is one direction. So for example, if you look at back in April or May, there's all two GPT stuff, right? There's all two GPT project, which is basically going into that direction. So it uses this divide and concur method, right? And basically follow this philosophy and then apply it to one single very powerful agent, which has access to a lot of tools, right? It can, you know, generate Python code, it can do Google search, it can, you know, run some Python function, it can also like interact with even Raspberry Pi, right? So it has some hardware IO stuff, right? So it's going to that direction. So, but what I want to point out is, so in Lillian's blog post, she also mentioned about, you know, how this agent interacts with environment and so on to get reward. So it kind of reminds you the history of the research of reinforcement learning, right? But what I want to point out is kind of the very interesting direction that only emerges, emerged since probably August or July is this, how multiple agents working together on same goal, right? So this is a very, very interesting topic. So what I want, what I want to, you know, focus on inside our company is not about having a very super powerful agent that has access to super versatile tools. I don't want to see that, right? That is, I don't want to build a super mind. I want to build a kind of environment, a same city, right? If you want to say, right? So a same city where you have a lot of agents working together to solve one problem, right? And whether it is doable or not, right? So this is basically based on our, like since GPT, this project, and then we kind of having this, we put that into the prompt perfect, but right now it's only run locally. So you are the first person to really see this idea, right? So it's not, I'm not really sure it is runable. I don't want to, I don't want to kind of break the credibility of our, you know, humble startup, right? But the idea here is the following, right? So you have this, you can create a lot of agents, right? So each agent has their own description and their own internal goal, right? So the description is visible to other agents, right? But the goal, the intention of this agent is not visible, right? So for example, the description could be, oh, Florian is a very nice guy, principal engineer of Gina AI, and the goal is, okay, so here is a pretty like a benign goal. The goal is he wants to enjoy the life, right? But his goal can be also very evil and hidden from other people, right? So his goal can be, oh, you know, I want to be the CEO. I want to replace the CEO and so on, right? So basically they're like you can create this agent which has this public and private properties, and public properties are visible to other agents and visible to the environment, and private properties are only visible to yourself, right? And each agent can also take some actions, right? So the basic action is basically if you go back to the Lilia's blog post, so basically the action can be kind of like as part of this tools or action, this part, right? So the basic action of large language model is of course just say something, right? So you output some text messages, you say, oh, you know, I'm doing fine, you know, I'm not happy or this kind of things, right? This is one basic action, right? But of course you can also allow the agents to have more other actions, right? But I think here what I want to kind of categorize this into two kinds of agent, right? One is something that internally we call is conversational agent. The other is tooling agents. So the difference between conversational agents and tooling agents is that conversational agents can do some virtual stuff, can have some virtual actions, but it only happens in the virtual environment. So it does not reflect it to the real world, right? So to give you an example, right? So tooling agents can turn on and off the light, right? Using Raspberry Pi or this IO stuff, right? But conversational agents will just say, oh, I am going to turn on the light, but nothing happens unless the environment is saying that, oh, you turn on the light, right? So it never kind of interacts with the real world. It only happens, you know, kind of like a text message. So in that sense, whatever conversational agent is doing, is saying, or is taking some action, is killing someone, is everything is virtual, right? So it's kind of under a simulation, right? So this is a conversational agent and right now we only focus on conversational agent because as I said, I'm not really interested in one super powerful agent that have access to a lot of tools, right? And so you can define a lot of agents and the most, and the very, like, and there is another component, there are not another concept here is basically the environment, right? So environment is basically like a city, a kind of a place, a zoo, right? Where you put all these agents in, right? And then let all these agents interact with each other and interact with the environment, right? So environment also, like, agent has certain properties, but in the first version we don't want to kind of expose too, you know, too much concepts there. And basically you can see there is an environment called spacecraft, there is an environment called our office, and there is like an inhabable earth and so on, right? So there's different kind of environment, right? So right now, as I said, we don't have any other properties of the environment. Here we only have the description of the environment. Whoops. Yeah, I think from time to time I have to unplug and plug in again. It should be back, yes. Okay, so this is another concept, right? So environment's description is visible to all the agents, right? And now comes the real fun part, it's basically the simulation part. So in the simulation you can create a simulation by, you know, of course you can name the simulation as something, right? So here you can choose to select from one of the predefined or you define a new environment, right? I'm not really sure this works. Yeah, I think there are some like, oh, here we can do, right? So, okay, so let's, for example, choose to go for spacecraft, but there are some UI problem, it should be also like an environment is unique, right? So it can be like this simulation can only happen in one environment, right? And then for the agents, we can basically choose to add those agents into the environment. So we can add myself, Susanna is one of our product managers and both cat, both cat is one of our cat from one of our developers, right? And then we can create this simulation, right? And the idea here is, because every agent has its own goal, right? We basically can see how these agents interact with each other and to achieve their own goal, right? So let's see if there is some like, things going on here. Okay, so where's my simulation created? I remember I called it test, but oh, here, okay. So let's see. I mean, this is really the first time I clicked this button, so my team just told me, oh, it's ready for you to demonstrate today. And I said, yeah, sure, good job. And this is the first time I clicked this button. And of course, it doesn't work. Well, the idea here is, so I mean, to be honest, there is, even, oh, it works. Good job. I mean, looks like I, you know, I have to give some bonus to the team. Okay, so but what does, what does it say? So basically, you can, for those who are very familiar with also log system, it's basically like a log, right? It's a log that emitted from different agents, right? So you can see there's some basically abuse the log system, right, to have this info level, debug level, and so on, right? And so basically, this is what will happen when you'll put these three agents together in one room, right? So of course, right now, it's not really readable because like ideally we should have some color highlight on the actions on, you know, how each turn, you know, what agents say, what agents do, these kind of things, right? But right now it's, I think it's very hard to read, but I think you get the idea that, so it's basically a record, a history of logs of what each agents think and act and choose their next action, right? And then you can also see that they interact with each other. So in real time, right? And in general, this looks like, if you play this RPG game, you know that there is a term based system, right? So basically for each turn, all the characters in this game will move, right? Will take actions based on their, let's say, speed, all this kind of things. So it basically simulates this kind of system, right? And everybody like, okay, so this cat decided to do the following strategy, you know, continue to emphasize the positive benefits. Okay. Yeah, I think this cat will do some weird stuff eventually, right? Okay, anyway, so, but you can't see the system is already running, right? Okay, I think right now we don't have any conclusion on this yet, right? But a lot of people ask me, and we also question ourselves, what is the point of doing all these things, right? And what like, okay, so if you want to build this as a framework, as a feature, as a project, it must have some, have some like a value proposition to the, you know, it cannot be just for fun, right? I think the value proposition here is, basically, we hope that by learning, by looking at how these agents behave and interact with each other, we can kind of like, learn something and apply it to the real world. It's kind of like a simulation, right? So you're, let's say, in one case, you can imagine we have an environment called meeting room, right? And then you put some agents like a two PMs, one software engineers, one architecture into the meeting room, right? And then you walk into the meeting room as a boss, right? So you walk into the meeting room saying that, oh, today I want to, you know, use Kubernetes everywhere, right? You just figure it out, right? You just like leave the room and by saying figure it out by yourself, right? And then this room of agents, they're having discussions, you know, interact, argue with each other, trying to build their argument by doing Google search, by fighting against each other, by agreeing with each other, by building alliance, building, you know, enemies. And then eventually, after 45 minutes of this meeting, right, they should reach to a conclusion, right? And we hope that by looking at the history, right, how they reach the conclusion, it helps us to understand, you know, this, how this large language model, the reasoning ability, reasoning ability of large language model when applying to very complicated scenarios, right? Yeah, so that's basically it, yeah, yeah. Is there a random aspect to it? I mean, if you run the same simulation, why do you get exactly the same output? We have this issue. We call this a butterfly effect, which is like, because even we kind of like a lower down the temperature to kind of zero, there are still some like, I don't know, it's probably because of the bug of the system, but there are still like, it doesn't repeat every time, right? I think it definitely some bug, right? It should be, if you lower down the temperature to zero everywhere, the whole system should be fully deterministic. Right now, we make it very high level, right? But there is also some other things, for example, the environment can also have certain properties, let's say all the temperature, the kind of the space, all this kind of thing. So when the agent, when you put an agent into the environment, the agent actually is aware of this environment, right? So for example, if you put the agents into a kind of a locker room, which is very dark and then the agent becomes scared. And also like for each agent, you can choose to make it human, to make it more human, like by adding some properties such as emotional, confident, depressed, all this kind of number, valued, scaled numbers to the agent. So that agents behave more like a human. The other question is, how do you plan to analyze those log strings? Right now, it's just like a visual inspection. But we will implement some like a futuring, you know, just like when you look at the cloud, all these logs on the cloud, right? So they're kind of filtered by, you know, which function, you know, it emits these logs. We will also implement such things so that you can look at which agents emit these logs. And also, what is also very interesting is, right now, for each agent, they have their internal state, which is called a kind of accomplishment, right? Accomplishment. Accomplishment is a value, is a numbered value from 0 to 100, which is basically their expectation of whether they, if they go. And then you can see there, this accomplishment expected, expected accomplishment changed over time. And then you can see how, so for example, if you simulate a very simple salesman buyer, this kind of simulation, you can see how this, how these two expectations changes over time. It's kind of like a predator, predator, what is this called? Predator? Predator prey? Yeah, predator prey, yeah, kind of simulation. Yeah. I think it's a great presentation. I might have missed it, but I wonder, right? How do you discover what these agents can do? For instance, let's say Florian has an evil goal. He wants to replace the CEO. Yeah. But we know that Han is the CEO. So Han has implicit capability. He can terminate Florian, right? So basically, like looking at this, how do I know that you have capabilities like manage Florian? Like, how do I discover this kind of capabilities? The, the discoverability, so we try to not implement a kind of a meta rule system. Well, so basically, we don't have a meta rule saying that, oh, Florian is the kind of work for Han, so he cannot over soon Han, right? We don't have such system. We try to avoid that. We try to let the, the agents figure out this thing by themselves. Right. So he can figure something out by being fired. Yes. But then he has no other chance to do stuff, right? Yes. So like, it's a little bit like, you need, you need to give him a warning. Like, like this, if stuff happens. Yeah. So, so you basically, oh, okay. I got, so like, you observe the actions. Yeah. And so the agents see actions and they learn from the actions. Yeah, exactly. What they can do, cannot do. Yeah. They will, they are, sometimes they will just, like, we can also implement a kind of more kind of, what is this look, look ahead way. So basically Florian, while Florian talking to Han, the agents can build an internal kind of model about Han, right? And then use this internal model to predict Han's behavior. Right. Yeah. So, so in this case, this is not a complete closed system because you, like, the system will read emails between you, right? Like, like, if you really want to know what's going on between Florian and Han, you need to hook it up to your company email, for instance, or Slack, right? Yeah, that's, that's true. So basically right now, the, the system of the agent have no external knowledge about anything, right? So they, their own knowledge or their own behavior are defined by this very simple structure. So the description and the goal and the actions here, right? And there are also a couple of internal states that I said, but probably on the UI side, we didn't, we didn't show that, right? All right. All right. Thanks everybody.