WEBVTT

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

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/oWqsBuhRRZ4.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:12.500 --> 00:00:14.500
We have a really exciting session for you guys.

s3
00:00:14.500 --> 00:00:28.100
So, um you probably don't realize how many systems and how much of the infrastructure which drives modern finance, which drives all the things which happen in the financial district in New York City

s4
00:00:28.100 --> 00:00:35.000
are driven off very old systems which can use a lot of modernization.

s5
00:00:35.000 --> 00:00:48.300
And you probably interact with them on your on your cell phone, you maybe you're banking on a mobile app, but you don't realize that underneath the covers there's business rules, there's batch jobs running in nightly processes.

s6
00:00:48.300 --> 00:00:52.400
You have all these different data contracts and things running under the covers.

s7
00:00:52.400 --> 00:00:57.600
And it's running on infrastructure which people are frankly afraid to touch, right?

s8
00:00:57.600 --> 00:01:03.700
If you if you make one little line of code change, you risk breaking the whole system.

s9
00:01:03.700 --> 00:01:07.400
And um so this is um fun fact about myself.

s10
00:01:07.400 --> 00:01:13.900
So, um you know, now I'm I'm known for doing a lot of developer relations, AI conferences, book writing.

s11
00:01:13.900 --> 00:01:26.600
Um back 30 years ago, I was a Java developer who was migrating COBOL code off mainframes and like, you know, figuring out how to modernize applications.

s12
00:01:26.600 --> 00:01:34.700
And it was multi-year projects, very challenging work which inevitably you hit little bugs and issues.

s13
00:01:34.700 --> 00:01:43.300
You couldn't test it thoroughly enough to hit all the different corner cases and very very challenging projects which often failed.

s14
00:01:43.300 --> 00:01:54.400
So, I think that what we're going to show you today is amazing cuz it's a new path forward where you can drive the change and you can actually do this, but

s15
00:01:54.400 --> 00:01:58.300
um why don't you tell us a little bit about how this works, Neeraj?

s16
00:01:58.300 --> 00:01:59.300
Thank you, Steve.

s17
00:01:59.300 --> 00:02:03.292
So, we're going to do this with an example, right?

s18
00:02:03.292 --> 00:02:10.492
Uh, in the context of a public demo system which Amazon developed a few years ago.

s19
00:02:10.492 --> 00:02:12.892
This is the AWS card demo.

s20
00:02:12.892 --> 00:02:22.592
And going to take a specific example here where we are trying to compute interest, right?

s21
00:02:22.592 --> 00:02:37.292
And so, as you can see in this little chart, we have a batch job that's calling the interest program which is getting the copybooks and layouts and then generating basically VSAM

s22
00:02:37.292 --> 00:02:38.592
data, right?

s23
00:02:38.592 --> 00:02:53.892
And so, the output here is money and of course, the result depends on the inputs, the job that runs it, the account updates, not just the formula for computing the interest, right?

s24
00:02:53.892 --> 00:02:56.592
So, let's remember this example.

s25
00:02:56.592 --> 00:03:04.392
We're going to keep coming back to this, hit that theme over and over again as we progress through the talk.

s26
00:03:04.792 --> 00:03:17.292
So, when I want to modernize this and I tell AI, hey, change that formula from Cobalt to Java, all it's going to do is find the formula, try to convert that, right?

s27
00:03:17.292 --> 00:03:25.192
What it doesn't find is the the record precision, the account updates, the transaction output, the batch contract.

s28
00:03:25.192 --> 00:03:31.392
And if you miss any of these, you're not guaranteed to get the right outcomes.

s29
00:03:32.792 --> 00:03:37.692
So, the failure here is not that AI can't write the code.

s30
00:03:37.692 --> 00:03:45.292
It's that AI doesn't know the 14 other places where that logic, that code is being used.

s31
00:03:45.292 --> 00:03:46.792
Okay, and this this looks pretty scary.

s32
00:03:46.792 --> 00:03:51.492
I mean, besides the AI not knowing the code, that pipe looks like it's about to burst.

s33
00:03:51.492 --> 00:03:54.992
Yeah, and of course, the AI doesn't know that it's going to happen any moment now.

s34
00:03:54.992 --> 00:04:01.292
So, Stephen, you would think that a context expansion would fix this.

s35
00:04:01.292 --> 00:04:02.894
Why doesn't that

s36
00:04:02.894 --> 00:04:03.094
Yeah.

s37
00:04:03.094 --> 00:04:15.294
So I I think that one of the things actually the previous presenter talked a bit about this, how we're we've all been relying on better models, on having better systems, a better AI systems to solve this.

s38
00:04:15.294 --> 00:04:20.694
And frankly, it hasn't been working for these sorts of use cases and the reason is context.

s39
00:04:20.694 --> 00:04:28.294
So you can do vector databases to get and you know expand your context, but all it gives you is similarity searches.

s40
00:04:28.294 --> 00:04:34.394
You can do relational databases as well and this gives you a much bigger repository.

s41
00:04:34.394 --> 00:04:43.094
You can hook it up via an MCP server, but again, you're you're limited on kind of single hop and like looking up facts and information by SQL queries.

s42
00:04:43.094 --> 00:04:51.794
What a graph gives you is a graph gives you this multi hop accurate information and context for your model.

s43
00:04:51.794 --> 00:05:03.894
And the reason why this context is so important is because your model cannot possibly give you the right results because it can't utilize its own context.

s44
00:05:03.894 --> 00:05:09.694
So most models, you know, nowadays are advertised with a million token context windows.

s45
00:05:09.694 --> 00:05:15.094
Um but what do they actually how much usable context do you actually get?

s46
00:05:15.094 --> 00:05:18.594
And the reality is you get 200k or less usable context, right?

s47
00:05:18.594 --> 00:05:30.194
So it's by by study the accuracy goes down dramatically as you fill the context more and this means you have to give precise and accurate context.

s48
00:05:30.194 --> 00:05:39.794
Yeah, the effective context these days is about like 20 to 30% which means about 200 to 300,000 lines of code.

s49
00:05:39.794 --> 00:05:42.194
If your software is bigger than that, too bad.

s50
00:05:42.194 --> 00:05:44.994
You're going to start losing information.

s51
00:05:45.894 --> 00:05:50.594
So context is serial, but information has relationships.

s52
00:05:50.594 --> 00:05:53.594
Information has connections between it.

s53
00:05:53.594 --> 00:05:59.794
And this is the key to how you can actually line up your data.

s54
00:06:03.594 --> 00:06:04.294
Yeah.

s55
00:06:04.294 --> 00:06:06.995
So I mean here so code becomes a graph, right?

s56
00:06:06.995 --> 00:06:10.695
You can see all of these relationships that are being mapped here now.

s57
00:06:10.695 --> 00:06:15.395
Uh, and like the the program is there.

s58
00:06:15.395 --> 00:06:21.895
It has the the job that's executing it, the copy book that are getting included, so on and so forth, the outputs.

s59
00:06:21.895 --> 00:06:27.295
The important part here is the stuff on the right.

s60
00:06:27.295 --> 00:06:32.295
So, every edge in the graph keeps its identity, right?

s61
00:06:32.295 --> 00:06:33.895
Where did it come from in the repo?

s62
00:06:33.895 --> 00:06:34.995
What revision was it?

s63
00:06:34.995 --> 00:06:36.595
What symbols does it touch?

s64
00:06:36.595 --> 00:06:41.595
There is evidence for the file and the and the source span, how it was extracted.

s65
00:06:41.595 --> 00:06:48.295
And the graph keeps getting updated on on every merge as the code changes, so does the uh the graph.

s66
00:06:48.295 --> 00:06:54.395
And that way you keep it fresh, you keep it current, you invalidate stuff that is no longer valid.

s67
00:06:54.395 --> 00:06:57.595
Yeah, and you can see that the code is very much a graph-shaped problem.

s68
00:06:57.595 --> 00:07:03.295
So just from the structure and the relationships, it's something where you have a lot of interconnects.

s69
00:07:03.495 --> 00:07:08.995
Um, and then when you what why don't you talk about how this works for agents?

s70
00:07:08.995 --> 00:07:09.595
Sure.

s71
00:07:09.595 --> 00:07:16.495
So, each agent uh in Blitzz has a specific task context packet, right?

s72
00:07:16.495 --> 00:07:23.595
And that includes what the task description is, uh but also where does it belong to in that graph, right?

s73
00:07:23.595 --> 00:07:25.695
There's the slice of the source, right?

s74
00:07:25.695 --> 00:07:36.095
What constraints it has imposed, what evidence it has available, and what questions are still not answered that that agent is now supposed to work on.

s75
00:07:36.095 --> 00:07:38.495
Uh, and this is what we mean by infinite code context, right?

s76
00:07:38.495 --> 00:07:44.595
It's not remembering the entire uh information in in your code base, in your software estate.

s77
00:07:44.595 --> 00:07:52.295
It's basically having access to the right information at the right time, in the right place.

s78
00:07:53.795 --> 00:08:00.095
So, Blitzz effectively works like a compiler for the entire knowledge in the enterprise, right?

s79
00:08:00.095 --> 00:08:04.595
You start off by reverse engineering the entire software estate.

s80
00:08:04.595 --> 00:08:09.497
You extract the business logic, uh the workflows, the dependencies.

s81
00:08:09.497 --> 00:08:14.897
Then you get the requirements and the rules from the user to say, what do you want to do with this?

s82
00:08:14.897 --> 00:08:19.697
And you convert that into an actionable agent action plan, right?

s83
00:08:19.697 --> 00:08:25.097
This is the spec that you're going to use to make that forward change.

s84
00:08:25.097 --> 00:08:28.197
Note that next block there, there is a human approval, right?

s85
00:08:28.197 --> 00:08:35.897
Nothing happens without a human in the lead making decisions at every key point, right?

s86
00:08:35.897 --> 00:08:44.397
But once you have that plan reviewed and approved by the human, now the agents go off, they do the code generation.

s87
00:08:44.397 --> 00:08:47.997
But there is also validation that is baked into it at every step.

s88
00:08:47.997 --> 00:08:58.297
And so the end result is you get tested and validated code in the form of a pull request and an evidence documentation for what has happened and how it has been validated

s89
00:08:58.297 --> 00:09:00.597
in the form of a project guide.

s90
00:09:00.597 --> 00:09:07.697
So there is a human approval at every step that matters.

s91
00:09:07.797 --> 00:09:19.297
And because you have access to the full repository and you also have the instructions about how to build the environment, how to run the code, you are not restricted

s92
00:09:19.297 --> 00:09:21.897
to just static information.

s93
00:09:21.897 --> 00:09:27.097
You can actually observe the runtime behavior and make changes accordingly.

s94
00:09:28.197 --> 00:09:32.097
So the the knowledge graph basically drives all of this, right?

s95
00:09:32.097 --> 00:09:37.197
But that's not the only thing that helps here.

s96
00:09:37.197 --> 00:09:41.697
There are two other things that compound the impact that this has.

s97
00:09:41.697 --> 00:09:43.397
One is hyperscale orchestration.

s98
00:09:43.397 --> 00:09:47.397
Like we have thousands of agents who all share that plan.

s99
00:09:47.397 --> 00:09:54.197
Every agent has access to the effective context and there is nothing lost between them.

s100
00:09:54.197 --> 00:09:57.797
And couple that with extreme validation, right?

s101
00:09:57.797 --> 00:10:02.197
You have testing happening at every stage of code generation.

s102
00:10:02.197 --> 00:10:06.897
We actually spend more computes on testing than we do on code gen.

s103
00:10:06.897 --> 00:10:21.198
And this results in what is effectively production safe code, that has been tested, validated at enterprise scale and so it is safe to make merges into your production systems.

s104
00:10:22.698 --> 00:10:25.698
So the agent action plan is is the spec, right?

s105
00:10:25.698 --> 00:10:37.498
That's the plan before you start doing any actual work and it decides what the scope is, what gets transformed and what must be preserved, right?

s106
00:10:37.498 --> 00:10:49.598
And a domain expert, a human would review this, make sure that it's aligned with their expectations, approve it and this is coupled with the four controls that are inherent

s107
00:10:49.598 --> 00:10:50.898
at every step.

s108
00:10:50.898 --> 00:10:55.498
There is system level context, that's the knowledge graph we talked about, right?

s109
00:10:55.498 --> 00:10:59.498
Every change impacts the entire estate, so everybody needs to be aware of that, right?

s110
00:10:59.498 --> 00:11:03.698
There is continuous validation, so testing, testing, testing, right?

s111
00:11:03.698 --> 00:11:05.398
There's no substitute for that.

s112
00:11:05.398 --> 00:11:11.298
You have explicit guardrails in place to address your security, your governance, your compliance requirements.

s113
00:11:11.298 --> 00:11:15.898
These are inherent to any regulated industry and of course finance, right?

s114
00:11:15.898 --> 00:11:20.698
And then the human in the lead because the decisions that matter are owned by real people.

s115
00:11:20.698 --> 00:11:23.998
The AI is not making them autonomously.

s116
00:11:25.098 --> 00:11:28.798
And this of course preserves the behaviors, right?

s117
00:11:28.798 --> 00:11:39.698
The existing behaviors have to be transferred as is to the to the modernized code and how do you verify that?

s118
00:11:39.698 --> 00:11:40.798
Right.

s119
00:11:40.798 --> 00:11:47.298
So in this case like we want to preserve the money like the precision, the rounding.

s120
00:11:47.298 --> 00:11:54.398
We want to preserve the state, the balances and the transaction records, failures, operations, everything, right?

s121
00:11:54.398 --> 00:11:59.298
If we have defects, they also need to be managed with explicit decisions.

s122
00:11:59.298 --> 00:12:04.898
The rules have to be preserved as well and you have to prove the parity.

s123
00:12:04.898 --> 00:12:09.698
You can't take it as an assumption or as a promise.

s124
00:12:09.698 --> 00:12:14.399
So the way we do that is there is testing on the baseline.

s125
00:12:14.399 --> 00:12:26.299
There is equivalent testing happening on the modern system, and we are looking at inputs and outputs, the returned values, what states get persisted, what is the transaction output look like, right?

s126
00:12:26.299 --> 00:12:28.199
What are the error outcomes?

s127
00:12:28.199 --> 00:12:33.299
Not just the happy path, but how do you deal with like bad situations?

s128
00:12:33.299 --> 00:12:43.399
And all of those have to be exactly matching in the context of each operation, and the differences have to be none.

s129
00:12:43.399 --> 00:12:47.199
That's our promise to deliver this.

s130
00:12:47.899 --> 00:12:49.599
So this is layer, right?

s131
00:12:49.599 --> 00:12:51.299
This doesn't happen only in the end.

s132
00:12:51.299 --> 00:12:53.899
This is baked into the very fabric of the code generation.

s133
00:12:53.899 --> 00:12:58.799
Every line of code that gets generated gets built and tested with unit tests.

s134
00:12:58.799 --> 00:13:01.099
The build has to be compiled.

s135
00:13:01.099 --> 00:13:07.999
Runtime integration, it has to fit within the existing kind of framework that you have.

s136
00:13:07.999 --> 00:13:14.999
Your data parity has to be there on every write, and the end-to-end workflow has to be identical.

s137
00:13:15.299 --> 00:13:18.799
So this is a code from one of the customers where we actually did this, right?

s138
00:13:18.799 --> 00:13:23.799
The transpiled job produces output that is byte for byte identical to the golden mainframe baseline.

s139
00:13:23.799 --> 00:13:27.299
This is from a Fortune 100 insurance.

s140
00:13:27.399 --> 00:13:29.199
Here's a fun example.

s141
00:13:29.199 --> 00:13:37.899
So so this is something I can get into as an old Java developer where we we made lots of errors with big decimals and rounding in our implementation.

s142
00:13:37.899 --> 00:13:40.399
So AI can do this better, right?

s143
00:13:40.399 --> 00:13:40.499
Right.

s144
00:13:40.499 --> 00:13:43.099
I mean you you you would think so, right?

s145
00:13:43.099 --> 00:13:50.199
Because like you computed a a Java version of this this formula to compute interest, right?

s146
00:13:50.299 --> 00:13:51.799
Cobol behaves differently than Java.

s147
00:13:51.799 --> 00:13:55.799
Java has an inherent rounding up built into it.

s148
00:13:55.799 --> 00:14:06.599
What that means is the modern code compiles, it generates results that you believe are correct because it's behaving like normal Java code, right?

s149
00:14:06.599 --> 00:14:12.299
But you have this little difference of that 1 cent that happened because of the inherent rounding.

s150
00:14:12.299 --> 00:14:15.999
If you didn't have that parity test, you wouldn't have caught this.

s151
00:14:15.999 --> 00:14:19.401
And now imagine this happening over a million transactions.

s152
00:14:19.401 --> 00:14:21.401
Fun.

s153
00:14:22.701 --> 00:14:27.401
So that was just one kind of simple example, right?

s154
00:14:27.401 --> 00:14:33.101
But now you can think of like a full trade posting engine where this gets applied throughout the entire workflow.

s155
00:14:33.101 --> 00:14:44.501
This is something that we did for a tier one bank where we had a monolith that had stored procedures uh cross database uh kind of uh write access going on.

s156
00:14:44.501 --> 00:14:55.801
This got converted into six capability modules uh with PostgreSQL, Java, TypeScript, Python, the fully modern stack uh and with full parity.

s157
00:14:56.001 --> 00:14:56.601
Right?

s158
00:14:56.601 --> 00:15:05.401
And took only 18 days uh whereas their original plan was to have uh 18 engineer weeks dedicated to this project.

s159
00:15:05.401 --> 00:15:05.501
Right?

s160
00:15:05.501 --> 00:15:09.801
This was doing things the kind of human way.

s161
00:15:09.801 --> 00:15:12.401
Uh with Blitzz, it got reduced to 18 days.

s162
00:15:12.401 --> 00:15:12.601
Right?

s163
00:15:12.601 --> 00:15:14.401
We We wrote 4,000 plus tests.

s164
00:15:14.401 --> 00:15:24.301
Uh the modern code was less than half the size of the of the new of the old stack uh and the customer was happy.

s165
00:15:24.301 --> 00:15:30.001
There is no doubt that we can use Blitzz to modernize the whole system is is what they said.

s166
00:15:30.601 --> 00:15:34.001
Another example, mapping a 35 million line mainframe.

s167
00:15:34.001 --> 00:15:41.301
Uh this is something uh that they had spent on an SI about eight months, several million dollars and had nothing to show for it.

s168
00:15:41.301 --> 00:15:46.701
Uh Blitzz reverse engineered that in a matter of four days and this is what they have to say.

s169
00:15:46.701 --> 00:15:50.901
They've been in the dark room with a pencil light inspecting each individual module.

s170
00:15:50.901 --> 00:15:55.501
Blitzz feels like flipping on the overhead light, seeing the whole room at once.

s171
00:15:55.501 --> 00:16:01.401
This is what AI accompanied by a knowledge layer can do for you.

s172
00:16:01.501 --> 00:16:02.401
Right?

s173
00:16:02.401 --> 00:16:06.201
Uh another example, we modernized a 25 million line monolith.

s174
00:16:06.201 --> 00:16:17.801
This was a policy admin platform again uh compared to a human aided by AI like your typical IDE based uh agentic tools uh would have taken a certain amount of time.

s175
00:16:17.801 --> 00:16:19.502
We did it nine times faster.

s176
00:16:19.502 --> 00:16:27.002
85% of the code was autonomously completed and almost 90% of that made it into production.

s177
00:16:27.402 --> 00:16:30.402
This extends to different systems, different companies.

s178
00:16:30.402 --> 00:16:36.902
As long as you understand the whole system before you change it using AI, you're good.

s179
00:16:37.702 --> 00:16:39.902
And this doesn't just stop at modernization, right?

s180
00:16:39.902 --> 00:16:42.202
Ultimately, transformation is the goal.

s181
00:16:42.202 --> 00:16:44.502
Britezi is not a modernization platform.

s182
00:16:44.502 --> 00:16:46.402
It is a transformation platform.

s183
00:16:46.402 --> 00:16:49.302
You can do new product development.

s184
00:16:49.302 --> 00:16:50.402
You can add new features.

s185
00:16:50.402 --> 00:16:53.202
You can do security remediation and detection.

s186
00:16:53.202 --> 00:16:58.502
All kinds of use cases open up when you have that entire estate available to you.

s187
00:16:59.102 --> 00:17:09.002
And so another coming back to the card demo, now that you have modernized it, you may want to add a new feature, a promotional rate to the interest path, right?

s188
00:17:09.002 --> 00:17:14.602
You already have the upgraded knowledge path now because you already have the modern system.

s189
00:17:14.602 --> 00:17:16.802
Your knowledge layer got updated.

s190
00:17:16.802 --> 00:17:18.702
You have your governance rules established.

s191
00:17:18.702 --> 00:17:20.502
You have your test suite expanded.

s192
00:17:20.502 --> 00:17:27.602
So now this becomes a lot easier and faster and cheaper to do than it had been before.

s193
00:17:28.902 --> 00:17:44.202
And then you can do this beyond the code to expand this kind of knowledge to apply to new cases, new use cases like providing audience, providing evidence for like audit ready

s194
00:17:44.302 --> 00:17:46.802
compliance issues.

s195
00:17:49.102 --> 00:17:56.202
So as you can see, this is heading beyond software and mapping the whole business now.

s196
00:17:57.102 --> 00:18:05.102
Yeah, so I think that you can see the power of building a an modern enterprise layer on top of a knowledge graph.

s197
00:18:05.102 --> 00:18:18.902
And it starts with a graph, builds out the business rules, business processes, and then allows you to build end-to-end systems which not only solve the modernization use case, but they also give you capabilities

s198
00:18:18.902 --> 00:18:20.302
to expand your business.

s199
00:18:20.302 --> 00:18:29.303
So you can now do um for example, Dora compliance on your um entire system to make sure it meets regulatory requirements.

s200
00:18:29.303 --> 00:18:31.303
You can track business rule changes.

s201
00:18:31.303 --> 00:18:47.303
You can do financial fraud and build um use cases which will track down other sorts of problems and this expands to even further out where you can extend your system and build more value off of it.

s202
00:18:47.303 --> 00:18:51.703
We want to leave you with a few references to um to take with you.

s203
00:18:51.703 --> 00:19:05.103
So um one is the Nodes conference, that's the QR code on the left, is a full 24 hours of sessions learning on knowledge graphs on how you can build and apply a bunch of these concepts

s204
00:19:05.103 --> 00:19:08.103
for our knowledge graphs to your own systems.

s205
00:19:08.103 --> 00:19:10.003
And um Niraj, you want to talk about

s206
00:19:10.003 --> 00:19:17.503
Yeah, the Blu Age sandbox, that's the QR code on the right, will allow you to in fact bring in your own code and uh see this for yourself.

s207
00:19:17.503 --> 00:19:19.103
Don't just take our word for it.

s208
00:19:19.103 --> 00:19:26.603
You can also see the AWS card demo modernization that we showed here uh as an example there.

s209
00:19:26.603 --> 00:19:30.403
Okay, so thanks so much for joining our session at A and G in New York City.

s210
00:19:30.403 --> 00:19:35.903
And um if you have any more questions, feel free to drop by the Neo for J booth or come up and chat with us after the talk.

s211
00:19:35.903 --> 00:19:36.503
Thank you.

s212
00:19:36.503 --> 00:19:38.903
Thank you very much.
