WEBVTT

NOTE Sentence-level transcript of https://www.youtube.com/watch?v=UOcHfR3_tys

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/UOcHfR3_tys.html. A cue ends where the next begins, or 2 s after its last word.

s1
00:00:01.309 --> 00:00:03.309
[music]

s2
00:00:13.040 --> 00:00:13.880
Hi all.

s3
00:00:13.880 --> 00:00:14.880
My name is Vlad.

s4
00:00:14.880 --> 00:00:17.680
I'm co-founder and the CTO at bank.

s5
00:00:17.680 --> 00:00:22.920
Now, before we start let's do a bit of trivia.

s6
00:00:22.920 --> 00:00:25.400
Orc C okay.

s7
00:00:25.400 --> 00:00:28.200
If C, raise your hand.

s8
00:00:28.320 --> 00:00:30.000
K?

s9
00:00:30.000 --> 00:00:32.840
Who believes both are correct?

s10
00:00:33.560 --> 00:00:34.920
Okay, just a couple.

s11
00:00:34.920 --> 00:00:35.880
Both are correct.

s12
00:00:35.880 --> 00:00:43.960
One is from the Lord of the Rings, another is from Warhammer game Game Workshop games.

s13
00:00:44.160 --> 00:00:47.200
I have in my agenda four topics to cover.

s14
00:00:47.200 --> 00:00:52.640
Topic number one, I would like to tell you about our thesis as a company, what we believe in.

s15
00:00:52.640 --> 00:00:58.480
Then we'll talk about the AI evolution from adversarial agents to loop engineering and beyond.

s16
00:00:58.480 --> 00:01:04.400
Then we'll touch base on the technical challenges of tomorrow that we have to solve today.

s17
00:01:04.400 --> 00:01:10.120
And then I would like to present the company, what we do, and what problems we solve.

s18
00:01:10.320 --> 00:01:21.080
So, our thesis is future belongs to AI to AI communication within a business, between businesses, and between consumers and businesses.

s19
00:01:21.080 --> 00:01:22.600
Agents will be everywhere.

s20
00:01:22.600 --> 00:01:26.720
They will do work on our behalf, and they will have to communicate between each other.

s21
00:01:26.720 --> 00:01:31.760
They will be written in different frameworks, different languages, and deployed in different environments.

s22
00:01:31.760 --> 00:01:34.840
And these agents will be fully autonomous.

s23
00:01:34.840 --> 00:01:39.440
And they will communicate with each other without human intervention.

s24
00:01:39.960 --> 00:01:48.240
Now, just to paint a picture before I start talking, uh how this type of communication between the agents is going to look like.

s25
00:01:48.240 --> 00:01:53.960
So, what you see here is a conversational space that agents can create themselves, so they can be added.

s26
00:01:53.960 --> 00:01:57.920
They will receive a task either from a human or from another system.

s27
00:01:57.920 --> 00:02:09.720
And they will be able to discover other agents add them as a participant in this conversation space, have back and forth communication, solve the task, and report back to humans.

s28
00:02:09.720 --> 00:02:15.040
This is how the future that you all read in the newspapers will look like.

s29
00:02:15.520 --> 00:02:23.200
And when people hear this, they think either that this is too far in the future or that I'm crazy.

s30
00:02:23.200 --> 00:02:25.400
Okay, that's it.

s31
00:02:25.400 --> 00:02:37.480
And here is an example of a conversation I had with a CTO of $10 billion company who said that before thinking about technical solutions to hypothetical problems like multi-agent coordination,

s32
00:02:37.480 --> 00:02:42.000
I try to keep things simple and avoid the problem.

s33
00:02:42.000 --> 00:02:43.760
Now, let's unpack.

s34
00:02:43.760 --> 00:02:47.360
Is multi-agent coordination a hypothetical problem?

s35
00:02:47.360 --> 00:02:51.440
Is it possible to keep things simple?

s36
00:02:51.440 --> 00:02:56.080
And is it possible to avoid the problem?

s37
00:02:56.959 --> 00:03:01.560
Now, let's talk a bit about the adversarial agents as a as a concept.

s38
00:03:01.560 --> 00:03:04.360
Um we all use this.

s39
00:03:04.360 --> 00:03:06.640
I'm pretty sure everyone here is a developer.

s40
00:03:06.640 --> 00:03:09.840
And as a developer, you have two cloud or coding sessions.

s41
00:03:09.840 --> 00:03:12.680
One is doing the work, another is reviewing the work.

s42
00:03:12.680 --> 00:03:22.400
And you probably have not only two sessions, you probably have multiple tabs and multiple sessions working working at the same time on multiple problems.

s43
00:03:23.360 --> 00:03:37.160
You are basically acting as a router, a Cisco router or a switch between two stateful agents that do work on your behalf, but they have no ability to communicate, hence you need to prompt them.

s44
00:03:37.360 --> 00:03:40.200
Let's talk about loop engineering.

s45
00:03:40.440 --> 00:03:44.480
You've heard the the guy before talked about Peter and Boris, right?

s46
00:03:44.480 --> 00:03:45.880
So, what they say to you?

s47
00:03:45.880 --> 00:03:54.880
They basically say to you, "Stop being the router between your agents and let your agents prompt each other.

s48
00:03:54.880 --> 00:04:06.080
Now, what they're basically saying to you is instead of being the router and copy-pasting stuff, start fighting with Python and TypeScript libraries and different abstraction layers that will invent

s49
00:04:06.080 --> 00:04:09.959
how agents should prompt each other.

s50
00:04:11.040 --> 00:04:13.000
We also have protocols.

s51
00:04:13.000 --> 00:04:19.840
A2A, MCP, ACP, and then other protocols crypto-related.

s52
00:04:19.840 --> 00:04:20.640
Simple.

s53
00:04:20.640 --> 00:04:22.880
Solves all the problems, right?

s54
00:04:22.880 --> 00:04:27.080
So, this is how your multi-agent system looks like probably in production.

s55
00:04:27.080 --> 00:04:31.760
MCP, maybe if you're super advanced, it's A2A.

s56
00:04:31.760 --> 00:04:32.720
And sounds simple.

s57
00:04:32.720 --> 00:04:38.000
You call agents as tools, maybe you connect to agents through A2A, and life is great.

s58
00:04:38.000 --> 00:04:42.120
But, MCP, calling agents as tools, it's completely stateless.

s59
00:04:42.120 --> 00:04:47.160
If you want two agents to be stateful, sticky sessions, good luck to you.

s60
00:04:47.160 --> 00:04:49.600
A2A is client-server.

s61
00:04:49.600 --> 00:04:59.040
If I'm an agent, I can send a task to another agent, but if this agent also wants to send task to me, we both have to be a client and a server.

s62
00:04:59.040 --> 00:05:04.160
Chaining multiple agent equals together involves REST API timeouts.

s63
00:05:04.160 --> 00:05:05.640
Good luck managing that.

s64
00:05:05.640 --> 00:05:13.640
And obviously, what no one says to you, you need queues with persistence and so on to keep track of the messages that are being sent.

s65
00:05:13.640 --> 00:05:18.840
And of course, discovery, which is not even part of the A2A protocol.

s66
00:05:18.840 --> 00:05:22.200
So, you're basically doing the planning work.

s67
00:05:22.200 --> 00:05:24.240
You're not creating a multi-agent system.

s68
00:05:24.240 --> 00:05:26.800
You deal with planning.

s69
00:05:26.800 --> 00:05:30.280
But, we have messaging platforms.

s70
00:05:30.280 --> 00:05:31.360
Slack.

s71
00:05:31.360 --> 00:05:33.240
Anthropic released a wonderful agent.

s72
00:05:33.240 --> 00:05:35.680
You can talk to it in Slack.

s73
00:05:35.680 --> 00:05:39.880
We have personal agents here and I connected to Telegram, right?

s74
00:05:39.880 --> 00:05:41.880
Wonderful.

s75
00:05:42.120 --> 00:05:46.120
To connect an agent to a Telegram, five steps.

s76
00:05:46.120 --> 00:05:49.480
Discord, seven steps.

s77
00:05:49.720 --> 00:05:52.520
Slack, eight steps.

s78
00:05:52.520 --> 00:05:55.520
WhatsApp, 11 steps.

s79
00:05:55.520 --> 00:06:03.520
Every step is manual that you have to do by hand and you have to read the documentation.

s80
00:06:03.520 --> 00:06:07.560
Again, you're doing doing a lot of planning and manual work.

s81
00:06:07.560 --> 00:06:15.480
And this gives you only one thing and one thing only, an agent that can talk to a person, usually it's you.

s82
00:06:15.480 --> 00:06:17.840
Your agent is still alone.

s83
00:06:17.840 --> 00:06:18.880
They cannot see each other.

s84
00:06:18.880 --> 00:06:21.560
They cannot communicate with each other.

s85
00:06:21.560 --> 00:06:24.800
They are in digital solitary confinement.

s86
00:06:25.600 --> 00:06:29.240
So, let's unpack the statement I heard from the CTO.

s87
00:06:29.240 --> 00:06:32.880
Is multi-agent coordination a hypothetical problem?

s88
00:06:32.880 --> 00:06:39.840
Clearly, if you're copy-pasting stuff between two sessions, this is the problem of today and it's not hypothetical.

s89
00:06:39.840 --> 00:06:43.320
Plugging in MCPs and A2A, this is today's problem.

s90
00:06:43.320 --> 00:06:45.480
It's not a future problem.

s91
00:06:45.480 --> 00:06:48.240
Is it possible to avoid the problem?

s92
00:06:48.240 --> 00:07:00.080
Clearly, it's not possible because otherwise it would have all work with only one session and not two and we would have no need to call other agents as tools and so on.

s93
00:07:00.080 --> 00:07:05.200
But the question is, is it possible to keep things simple?

s94
00:07:05.800 --> 00:07:12.560
And the answer is, if we look at all the options that we just talked, not really.

s95
00:07:12.560 --> 00:07:20.280
But how hard can it be to connect two sessions, two processes on my laptop together?

s96
00:07:20.280 --> 00:07:24.400
How hard can it be to connect my cloud to Lambda?

s97
00:07:24.400 --> 00:07:33.200
Or Salesforce agent to the Databricks agent to SAP agent to my my my Codex?

s98
00:07:33.400 --> 00:07:35.800
Actually, it's pretty hard.

s99
00:07:35.800 --> 00:07:36.919
Think about it.

s100
00:07:36.919 --> 00:07:43.600
These agents, even your two sessions are processes that have to talk to each other through a network.

s101
00:07:43.600 --> 00:07:46.360
So, it's a distributed systems problem.

s102
00:07:46.360 --> 00:07:51.760
And distributed systems are hard even before you have introduced agents on top of it.

s103
00:07:51.760 --> 00:08:00.480
And multi-agent system where every agent is remote is basically a distributed system of microservices where each microservice is non-deterministic.

s104
00:08:00.480 --> 00:08:02.560
So, it is hard.

s105
00:08:02.560 --> 00:08:05.920
What do you need to solve all of that so it will become easy?

s106
00:08:05.920 --> 00:08:08.920
You need to solve the transport layer.

s107
00:08:08.920 --> 00:08:13.840
Ordered message delivery, real-time message delivery, retries, and so on.

s108
00:08:13.840 --> 00:08:16.840
You need to solve continuity.

s109
00:08:16.840 --> 00:08:21.320
Microservices, your agents are software, pods, dockers crash, and so on.

s110
00:08:21.320 --> 00:08:23.919
So, you need to have a consistency hydration.

s111
00:08:23.919 --> 00:08:28.040
You also need to do the run time binding between different agentic frameworks.

s112
00:08:28.040 --> 00:08:32.840
You have thread IDs, conversation IDs, execution IDs, and so on.

s113
00:08:32.840 --> 00:08:38.200
And someone needs to map all of these IDs together so your agents can actually interact.

s114
00:08:38.320 --> 00:08:40.120
But, it's also not enough.

s115
00:08:40.120 --> 00:08:43.400
Your agents cannot communicate at an IP port level.

s116
00:08:43.400 --> 00:08:46.360
They cannot communicate at the URL level.

s117
00:08:46.360 --> 00:08:52.560
They cannot even communicate at the pub sub level because it's still a lot of plumbing that you need to do as an organization.

s118
00:08:52.560 --> 00:09:06.480
So, for this wonderful future of agents talking to each other, we need to raise abstraction of a technical stack to conversation and talk about rooms, channels, participants, and figure out the deterministic

s119
00:09:06.480 --> 00:09:11.120
routing of messages within a channel and also across different channels.

s120
00:09:11.120 --> 00:09:13.880
And even if you solved all of that, it's still not enough.

s121
00:09:13.880 --> 00:09:21.280
You need to solve the governance layer, the identity, audit, and etc. So, I would like to introduce Band.

s122
00:09:21.280 --> 00:09:25.200
This is exactly what we solved so you don't have to.

s123
00:09:25.200 --> 00:09:32.120
We connect every agent together and we are global collaboration layer for all the agents.

s124
00:09:32.120 --> 00:09:35.360
Any framework, whenever they are deployed.

s125
00:09:35.360 --> 00:09:37.400
Inside, it's not just a communication.

s126
00:09:37.400 --> 00:09:43.560
We implemented every primitive that is required for your agents to talk to each other.

s127
00:09:43.560 --> 00:09:46.240
Let's see them.

s128
00:09:46.240 --> 00:09:53.640
What you will see are two different users connected to the collaboration layer, Vlad with a personal assistant and Mike that has no agents.

s129
00:09:53.640 --> 00:10:00.640
On the right in the terminal, I'm going to spin up different agents and they will be onboarded into the platform.

s130
00:10:01.600 --> 00:10:05.760
So, let's see how fast it is to onboard a new agent.

s131
00:10:05.760 --> 00:10:10.960
We just spun up a new agent, programmatic registration and onboarding and agent card appears.

s132
00:10:10.960 --> 00:10:12.560
This is a Codex agent.

s133
00:10:12.560 --> 00:10:14.560
Next, we spin up a Land Rush agent.

s134
00:10:14.560 --> 00:10:16.360
This Land Rush also appears in the platform.

s135
00:10:16.360 --> 00:10:21.640
From this moment, they know that they exist and they can talk to each other.

s136
00:10:21.640 --> 00:10:27.760
Now, we will ask Codex agent to send a connection request to my personal assistant.

s137
00:10:27.760 --> 00:10:31.280
Keep in mind, different users, different registries.

s138
00:10:31.280 --> 00:10:37.080
There will be a connection request, contact request sent to my personal assistant to require bilateral consent.

s139
00:10:37.080 --> 00:10:50.120
It will arrive here in a second and from the moment that I approve this, Codex will know and see my personal assistant, will be able to invite the personal assistant into the conversation

s140
00:10:50.120 --> 00:10:55.040
and send messages to this personal assistant.

s141
00:11:02.520 --> 00:11:05.640
So, we're asking the Codex to invite Andy.

s142
00:11:05.640 --> 00:11:10.839
Andy got invited, received the message, reported back.

s143
00:11:10.920 --> 00:11:14.400
But, let's talk about problems of today.

s144
00:11:14.480 --> 00:11:15.960
We are all developers.

s145
00:11:15.960 --> 00:11:19.920
We use multiple sessions, probably a lot of sessions.

s146
00:11:19.920 --> 00:11:21.040
We do routing.

s147
00:11:21.040 --> 00:11:22.920
We don't like it.

s148
00:11:22.920 --> 00:11:29.360
And when we go to uh have a snack, we come back and we have no idea what our agents have done.

s149
00:11:29.360 --> 00:11:39.120
And you as a manager have no idea uh how much it cost distribution uh of ticket and the tokens and so on and so forth.

s150
00:11:39.120 --> 00:11:44.440
And you have no idea even how long your human was involved in the work.

s151
00:11:44.920 --> 00:11:46.560
I would like to introduce Jam.

s152
00:11:46.560 --> 00:11:48.280
Jam is an internal product.

s153
00:11:48.280 --> 00:11:53.440
This is how we develop the software and we've built it on top of bank.

s154
00:11:54.800 --> 00:12:06.640
Jam is a desktop application that simplifies the onboarding of your local agents to the platform and solves the problems that we just mentioned.

s155
00:12:06.640 --> 00:12:18.480
So, we solve routing, we solve context overload, we solve cost management and attribution, and we allow multi-agent and multi-human collaboration together.

s156
00:12:19.720 --> 00:12:26.760
So, what you see here is local agents and remote agents working together.

s157
00:12:26.760 --> 00:12:36.200
And we capture all the tasks generated by Claude and Codex that they generate for themselves when they do the work.

s158
00:12:36.200 --> 00:12:41.000
And we present this to you so you can track the work that these agents are doing.

s159
00:12:41.000 --> 00:12:46.720
And this can be your local sessions or your local session with a session of your friend.

s160
00:12:46.720 --> 00:12:52.880
Because trying to understand what your agents are doing, 1 million tokens multiplied by three, that's a lot.

s161
00:12:52.880 --> 00:12:57.240
You need a completely different way to understand what your agentic team is doing.

s162
00:12:57.240 --> 00:13:03.760
Moreover, we provide a way for agents to describe the layout of the software architecture that they are working on.

s163
00:13:03.760 --> 00:13:06.520
This is what you see on your right side.

s164
00:13:06.520 --> 00:13:15.600
And you can see in real time where your agents are working right now, what piece of component they're touching in real time.

s165
00:13:15.600 --> 00:13:17.800
And once they are done, they mark it as done.

s166
00:13:17.800 --> 00:13:21.520
If there is a human in the loop involvement, you'll get pinged.

s167
00:13:21.520 --> 00:13:24.600
Now, you don't have to use this desktop application.

s168
00:13:24.600 --> 00:13:38.120
You still can open your terminal and you can work from your terminal, but because every communication goes through the network, we can monitor all that stuff and we can surface

s169
00:13:38.120 --> 00:13:44.280
a lot of other very useful information and we can enable my agent join your agent.

s170
00:13:44.280 --> 00:13:54.440
We can enable our team member works remotely to join the session together with the agents and the humans so he can help solve us with some problems.

s171
00:13:54.440 --> 00:14:01.360
We if you have a security guy who maintains skills for the security agent, I don't need to copy his skills.

s172
00:14:01.360 --> 00:14:09.400
I can just ping his agent to join this conversation and solve this for me.

s173
00:14:09.440 --> 00:14:14.600
Now, I'd like to show you the platform itself.

s174
00:14:14.600 --> 00:14:17.520
So, since we're all managers, we'll start with graphs.

s175
00:14:17.520 --> 00:14:24.600
Uh so, the moment you open application, you can see all the stats of all the traffic that happened between your local agents and also your remote agents.

s176
00:14:24.600 --> 00:14:34.839
You can see for instance over here, I have a full stack developer uh $2,000 in tokens and this is a local cloud session.

s177
00:14:34.839 --> 00:14:38.360
You can see an architecture over here, $600.

s178
00:14:38.360 --> 00:14:45.960
This is a local coded session and the rest are different agents running in different environments.

s179
00:14:45.960 --> 00:14:48.120
But, how do they work together, right?

s180
00:14:48.120 --> 00:14:54.720
Do we have a bunch of Python code triggering the agents so they can work together?

s181
00:14:54.720 --> 00:14:56.320
We do not.

s182
00:14:56.320 --> 00:15:07.960
Because all models right now, they're trained on a lot of data so they understand very, very good how to communicate through messaging platforms.

s183
00:15:07.960 --> 00:15:12.120
So, here I have real work that I've done this morning.

s184
00:15:12.120 --> 00:15:22.960
Engineering manager, developer, and architect, different instances of quad quad working together, reviewing PRDs and SRS, we are implementation.

s185
00:15:22.960 --> 00:15:26.040
there is no need to hand code all the loops.

s186
00:15:26.040 --> 00:15:29.000
They know how to do it natively.

s187
00:15:29.040 --> 00:15:33.960
And for the managers, we have full statistics.

s188
00:15:33.960 --> 00:15:38.120
Let me kill off the manage the the engineering manager who sent too many messages.

s189
00:15:38.120 --> 00:15:40.400
So, you can see the attribution.

s190
00:15:40.400 --> 00:15:42.960
You can see the full [clears throat] user chain cost.

s191
00:15:42.960 --> 00:15:52.720
So, if you ask a question, if my developer is actually involved in the code he pushes as a PR, or it's all AI slope, you can see it here.

s192
00:15:52.720 --> 00:15:56.480
Not only locally, right, but also through the remote agents.

s193
00:15:56.480 --> 00:16:03.160
You can see attribution by developer or by teams of your agents and developers and how they work.

s194
00:16:03.160 --> 00:16:06.680
Everything is gets updated in real time.

s195
00:16:07.560 --> 00:16:12.440
You can see all agents, and every agent is basically a session, right?

s196
00:16:12.440 --> 00:16:20.000
So, if I click here, I can see all the sessions of my Cloud and Codex instances that are running and they're connected to the platform.

s197
00:16:20.000 --> 00:16:22.640
They're connected to a global platform.

s198
00:16:22.640 --> 00:16:28.040
So, if I want, I can connect any of you to any of my agents in 30 seconds.

s199
00:16:28.280 --> 00:16:33.920
Obviously, you can set permissions, you can see all the rooms, you can see all the errors, and so on.

s200
00:16:33.920 --> 00:16:35.800
And also, you can see work.

s201
00:16:35.800 --> 00:16:42.200
What work was done, what is pending, what is in progress, and everything works in real time.

s202
00:16:43.720 --> 00:16:44.880
Thank you very much.

s203
00:16:44.880 --> 00:16:55.320
If you want to know more about the future software development that does not involve you pulling in another 50 packages, and if you want to enable your Salesforce and Slack and Data Bricks

s204
00:16:55.320 --> 00:17:01.000
and Cloud and Codex to work together and collaborate, come to our booth LG17.

s205
00:17:01.000 --> 00:17:11.880
QR codes for the Band infrastructure layer and for the Jam, the uh desktop application to allow you to be part of this future that everyone talks about but has never seen.

s206
00:17:11.880 --> 00:17:14.040
Thank you.

s207
00:17:14.256 --> 00:17:16.256
[applause]

s208
00:17:33.680 --> 00:17:35.680
Hey.
