YouTube2Text

Make Your AI Agents Predictable With Graph Engineering - Zachary Blumenfeld, Neo4j — Transcript

by AI Engineer · 3,797 words · 569 segments · language en · Watch on YouTube

Full transcript

  1. 0:01[music]
  2. 0:12>> Uh we're going to talk about graph
  3. 0:13engineering today. How many people have
  4. 0:15heard about that term graph engineering?
  5. 0:18Okay, so so fair amount of the room. And
  6. 0:19then just so I understand, how many
  7. 0:21people here are familiar with Neo4j and
  8. 0:23have used Neo4j?
  9. 0:26Okay, so we got a few people. So that's
  10. 0:27good for uh
  11. 0:29just letting me know
  12. 0:32who we're talking to today.
  13. 0:36Um so just some history on some of the
  14. 0:39verbage that's being used. Uh there was
  15. 0:42a tweet that went out uh by Peter
  16. 0:44Steinberger, I think uh earlier this
  17. 0:46year in the summer,
  18. 0:48uh that talked about graph engineering
  19. 0:50and it was almost like is this sort of a
  20. 0:51new discipline that's happening as this
  21. 0:53evolution from prompt engineering and
  22. 0:55context engineering. Uh and there's a
  23. 0:58lot of hype around this.
  24. 1:00Um and the name for this is new, but the
  25. 1:02mechanisms are not really new. They
  26. 1:04we've always known in computer science
  27. 1:06generally about state machines and
  28. 1:08workflow graphs and knowledge graphs and
  29. 1:11all these different things. What's
  30. 1:13changing is really how we think about
  31. 1:15them in reference to agents.
  32. 1:18Um and what I'm going to talk to you
  33. 1:20about today is just how we think about
  34. 1:22graph engineering. I'm going to offer
  35. 1:24you a little bit of a new perspective on
  36. 1:26this. So if we actually try to define
  37. 1:28what graph engineering is, I think a
  38. 1:30good definition is it's just the
  39. 1:32practice of designing agent work as an
  40. 1:35explicit graph. So where nodes do work
  41. 1:38and edges effectively route state
  42. 1:41between them. And I tend to think of it
  43. 1:44in terms of three different types of
  44. 1:46graphs. We have our general execution
  45. 1:50graphs, which you're probably very
  46. 1:51familiar with. So these are the workflow
  47. 1:53graphs with routers and agents as actual
  48. 1:56nodes uh that happen within side of an
  49. 1:59agent harness. But, there's other ways
  50. 2:01that we can think about graph
  51. 2:02engineering, too, that overlap with
  52. 2:04this. So, that includes context graphs.
  53. 2:07These are decision traces, instances of
  54. 2:10what's happened, and how it connects to
  55. 2:12other data inside of your domain. And
  56. 2:15then there's also something that I'd
  57. 2:16call more procedural graphs. So, this is
  58. 2:19almost like having a skill or procedural
  59. 2:22knowledge as a graph, where the steps
  60. 2:25might not be actual agents, but they
  61. 2:27might be steps inside of uh
  62. 2:30uh a way of doing something, basically a
  63. 2:32procedure. So, different calls, maybe a
  64. 2:34step for a decision model, steps for
  65. 2:37different agents, whether to escalate,
  66. 2:39validation steps, and these sorts of
  67. 2:41things.
  68. 2:42And I'm really going to focus on these
  69. 2:44last two, because I think we don't talk
  70. 2:46about them enough, and I think by
  71. 2:48understanding these, you can actually
  72. 2:50get a little bit at what the first graph
  73. 2:52is trying to do as well, but in a very
  74. 2:54portable and efficient way.
  75. 2:57So, graph engineering lets agents really
  76. 3:00take on bigger, more complex work, and
  77. 3:02that's why we care about it. And really,
  78. 3:05if you were to split it up, I think in
  79. 3:07terms of the benefits that a graph
  80. 3:08offers agents in this uh context, it
  81. 3:11would be predictability, so being able
  82. 3:13to constrain a path that an agent takes,
  83. 3:16making sure that the the answer is
  84. 3:18basically accurate from a task that it's
  85. 3:20doing, um and having an explicit graph.
  86. 3:24The ability to govern, control, and
  87. 3:26guide what the agent does, and audit it,
  88. 3:28so you can understand what it's doing
  89. 3:30and make it better next time. And then
  90. 3:32the third one, which is going to be
  91. 3:34interesting that we'll talk about, is
  92. 3:35how do we actually make graph
  93. 3:36engineering portable, and instead of
  94. 3:39thinking about a graph as something that
  95. 3:40happens in the runtime, it could be
  96. 3:43something that you can store and
  97. 3:44actually move between different runtimes
  98. 3:47and have inside of a knowledge layer,
  99. 3:49which gives you more interoperability
  100. 3:51and allows you to have a very simple
  101. 3:52stack.
  102. 3:54Um and in the runtime, when we think
  103. 3:56about the graph, it's really like a
  104. 3:57piece of orchestration. So, we're
  105. 3:58probably all of us or a large portion of
  106. 4:01us are probably familiar with LangGraph,
  107. 4:03ADK,
  108. 4:05um and all these other agent frameworks.
  109. 4:08Um even to a certain extent Anthropic's
  110. 4:10multi-agent research and and some other
  111. 4:12stuff fits inside of graph engineering.
  112. 4:14Um and what I'm going to talk about
  113. 4:16today is actually what happens when we
  114. 4:18take that sort of graph and we put it
  115. 4:20next to our data as context graphs and
  116. 4:23some other things that I was talking
  117. 4:24about before.
  118. 4:26Um and really when you do this, as I was
  119. 4:29saying, you add this portability layer,
  120. 4:32you add the ability to take all of this
  121. 4:34knowledge and make it work basically
  122. 4:37with any type of runtime. So, that's
  123. 4:39what I'm going to go over today.
  124. 4:41Um and this is what we're doing at Neo4j
  125. 4:43is we're defining this knowledge layer
  126. 4:46and this knowledge layer sits between
  127. 4:48systems of record that you would
  128. 4:50ordinarily retrieve data from. So,
  129. 4:52DataStax, BigQuery, Snowflake, these
  130. 4:55types of places. It could be
  131. 4:56documentation, it could be Obsidian,
  132. 4:58these these markdown files. Um and then
  133. 5:01can we create standard protocols and
  134. 5:03artifacts that live inside of that layer
  135. 5:05that then you can take a graph
  136. 5:07engineering process and make it
  137. 5:09available to any runtime or any agent.
  138. 5:14Um and the way our product works, just
  139. 5:16so you know at Neo4j, uh is we have our
  140. 5:20core database and then we have a ton of
  141. 5:22other AI stuff on top of it. Uh so, the
  142. 5:25database and the analytics layer, um I'm
  143. 5:27going to be showing some of this
  144. 5:29throughout my talk, uh but what I'm
  145. 5:31really going to be focusing on is this
  146. 5:33top layer where we talk about sort of
  147. 5:34this agentic brain or these other memory
  148. 5:37tools that wrap around the database. So,
  149. 5:40just know that as I go through, I'm
  150. 5:42going to be showing you data being
  151. 5:43loaded into the database. That's going
  152. 5:45to constitute our knowledge layer. It's
  153. 5:46going to come from multiple different
  154. 5:48sources. Um but a lot of the sort of
  155. 5:51extensions of that tooling and some of
  156. 5:53the experimental things that I'm going
  157. 5:55to show you exist as sort of this graph
  158. 5:57AI that hooks into that and loads data
  159. 5:59in and out of that thing.
  160. 6:00>> [snorts]
  161. 6:01>> Um so, what we're doing at Neo4j and
  162. 6:04kind of how we're thinking about this,
  163. 6:06we start with this concept of a context
  164. 6:09graph, which has different types of
  165. 6:11memory from short-term memory, which is
  166. 6:13going to be like your conversation
  167. 6:15history, your long-term memory being
  168. 6:18entities that are extracted from that or
  169. 6:20from your data, and then reasoning or
  170. 6:23decision trees inside of that.
  171. 6:25And one of the interesting things that
  172. 6:27we've been looking at from a research
  173. 6:29perspective, and this really started out
  174. 6:31not so much at that graph, but actually
  175. 6:34at individual skill level. There was a
  176. 6:36paper that we wrote earlier this year
  177. 6:39that we published in a workshop, and we
  178. 6:41were really trying to ask the question,
  179. 6:43can we take procedural knowledge,
  180. 6:45whether it be from past decisions or
  181. 6:48even something like a skill like we have
  182. 6:50here, and compile it down to a graph?
  183. 6:53And what we came up with was a process
  184. 6:55of taking written material, often a
  185. 6:57skill MD file, and the scripts and the
  186. 6:59references and assets, and moving that
  187. 7:02into an actual graph structure, which is
  188. 7:04what you see on that other side.
  189. 7:07And the result of doing this, and giving
  190. 7:09the agent the access to that graph
  191. 7:11structure, which has different nodes
  192. 7:13again representing
  193. 7:15inside of the skill decisions, different
  194. 7:17routing points, different scripts that
  195. 7:19have to be executed,
  196. 7:22taking pros and compiling them down to
  197. 7:24to determine the six scripts.
  198. 7:26When we do that and we force the agent
  199. 7:28to sort of run that graph, what we see
  200. 7:31is increases in uh task reward and
  201. 7:33performance. So, this was uh from a
  202. 7:36while ago. I I'm still [clears throat]
  203. 7:37working on updating it to the latest
  204. 7:39models,
  205. 7:40um
  206. 7:41but we were able to use a smaller model.
  207. 7:43In this case, I think it was Sonnet, um
  208. 7:45and now we're we're on to Haiku, as a
  209. 7:48matter of fact, but uh we were seeing
  210. 7:50even for really challenging tasks over
  211. 7:52diverse fields in physics and computer
  212. 7:55science and um various security, uh
  213. 7:59physical training, a whole a whole ton
  214. 8:01of things,
  215. 8:02um is this overall increase in task
  216. 8:05reward
  217. 8:06um performance.
  218. 8:08Then we were able to switch over to
  219. 8:09this.
  220. 8:10And our PMs, uh, Will Lein, who works in
  221. 8:13our Labs team, actually took this idea
  222. 8:15and said, "Well, if we can do that with
  223. 8:17skills, maybe we can do it, too, with
  224. 8:20these memory graphs." So, you can
  225. 8:22actually take that context graph that I
  226. 8:24was showing you earlier and distill a
  227. 8:27skill from that and have it still be
  228. 8:29connected in the same graph over to all
  229. 8:33of your past decision traces and data.
  230. 8:35And so, then you get those performance
  231. 8:37benefits, but you also have all this
  232. 8:39provenance that goes back from every
  233. 8:40step. It's versioned, it's tracked, and
  234. 8:43you have governance over time where you
  235. 8:45can assess drift, you can understand
  236. 8:47where certain tool calls are coming from
  237. 8:49and their history. A human can go
  238. 8:51through actually inside of NAMS, Neo4j
  239. 8:54Agent Memory Service, which is our
  240. 8:55reference architecture for this. There's
  241. 8:57a QR code there, and there will be
  242. 8:58another one at the end, um, and be able
  243. 9:00to understand, like, exactly how this
  244. 9:03works, edit it, change it, do all sorts
  245. 9:06of cool stuff with it. Um, so, again,
  246. 9:08what we're talking about now are these
  247. 9:10artifacts that you can move around. I
  248. 9:12mean, this thing makes a skill, right?
  249. 9:14And so, any agent harness that can take
  250. 9:16that skill can now be running these
  251. 9:18graphs and doing all of this logic.
  252. 9:21Um, and we have various customers that
  253. 9:24are using us for graph engineering types
  254. 9:28of tasks. I'll go quickly because we're
  255. 9:30we're starting to run out of time.
  256. 9:33Um, and even though they're not may not
  257. 9:35be using exactly the Labs project that
  258. 9:37they that we have, uh, we have
  259. 9:39consultancies which are working with
  260. 9:41other asset managers, uh, for tough
  261. 9:43problems in compliance. Uh, so, being
  262. 9:45able to write audit reports, for
  263. 9:47example, where you have data that might
  264. 9:49come from multiple sources. How do you
  265. 9:51automate that, but do it in a way that's
  266. 9:53governed and trustworthy? So, you have
  267. 9:55compliance documentation. You might have
  268. 9:57entities with different ticker symbols
  269. 9:59and names from different databases, and
  270. 10:01those all need to be resolved. And so,
  271. 10:03giving your agent these graphs that
  272. 10:05express the logic that you need to do on
  273. 10:08besides the data basically allows you to
  274. 10:10automate those things in a trustworthy
  275. 10:12way.
  276. 10:13Um and we have other people uh such as
  277. 10:15Uber that do this with configuration
  278. 10:17graphs. Uh so basically, if you have um
  279. 10:21you can imagine if you have drivers
  280. 10:22across the country, uh compliance and
  281. 10:24regulations for different areas
  282. 10:26geographically vary greatly,
  283. 10:29um and they come from this sprawl of
  284. 10:30microservices that you need to pull data
  285. 10:32from to figure out like, "Okay, well
  286. 10:33what is it for each area, for each
  287. 10:36component of a car, for example?" Um and
  288. 10:39so being able to express that logic and
  289. 10:41have it sit aside the data um also helps
  290. 10:43them operationalize some of these things
  291. 10:45effectively.
  292. 10:47So, I'm going to jump to a demo now. It
  293. 10:50I'm going to warn you in advance, it's
  294. 10:52going to be quite a lot, and I'm going
  295. 10:53to jump through it kind of quickly, um
  296. 10:55but it's very interesting, and what I'm
  297. 10:57going to show you is how we can use that
  298. 10:59AIP library that I was talking about
  299. 11:01before
  300. 11:03uh to compile a skill and actually get a
  301. 11:04task that was not governed very well and
  302. 11:07took very long to run, basically cut its
  303. 11:10cost by like 100% and then run it a lot
  304. 11:13lot faster. Um and of course, it's a
  305. 11:15it's a demo, it's not a formal research
  306. 11:17proposal, but you can go there and look
  307. 11:19at the code, it's all it's all very
  308. 11:20transparent.
  309. 11:22Uh so,
  310. 11:24this is going to be an example for a
  311. 11:26loan um a loan approval process. So, in
  312. 11:30a side of a loan approval process,
  313. 11:31there's lots of policies that have to be
  314. 11:33followed, obviously. I'm not a financial
  315. 11:36expert, but many of you in the room are.
  316. 11:38Um and so there's probably going to be a
  317. 11:40policy doc, there's going to be a
  318. 11:42systems of steps that have to be
  319. 11:43followed exactly, and then you need your
  320. 11:45agent to be able to explain those steps
  321. 11:47very clearly, articulate them, and
  322. 11:49really get the answer right as if it was
  323. 11:51a human reviewing. Um and the first
  324. 11:53thing you can do, like I was saying
  325. 11:55before, and I don't have time to
  326. 11:56probably run this all live, and the
  327. 11:58internet's going to be slow. So, luckily
  328. 12:01I I have this preloaded. Um and
  329. 12:03basically, the question that was asked
  330. 12:05was, "Should we approve this new loan
  331. 12:07for this Rosa's Bakery business?" And in
  332. 12:10this case, you know, we have a business
  333. 12:12plan that's in a PDF that was uploaded.
  334. 12:16Um and that is, let's see,
  335. 12:20um the business plan is the orange data.
  336. 12:22So, if I was to scroll out here, you can
  337. 12:24see it here in the graph. That connects
  338. 12:27also to data that we pulled from
  339. 12:28DataBricks from past transactions,
  340. 12:31lending policy data, and past decisions
  341. 12:34that were actually made. And with that,
  342. 12:37the agent can crawl over all that
  343. 12:38information and basically realize that
  344. 12:42this person either had a loan before or
  345. 12:44there was a mistake before, something
  346. 12:46happened before, and come up with an
  347. 12:48audit trail for that and basically post
  348. 12:50a solution uh very very quickly.
  349. 12:53>> [snorts]
  350. 12:53>> Um and this is a great start. Just in
  351. 12:56terms of like resolving data and being
  352. 12:58able to follow policies and understand
  353. 13:00how things connect, uh this is great.
  354. 13:02One of the issues with this is, and I
  355. 13:05can show you a graph kind of of what
  356. 13:06this looks like. This is an example of
  357. 13:08me running more of these policies.
  358. 13:11Um and if I zoom in, I have a
  359. 13:13conversation
  360. 13:15here. And then I have my my reasoning
  361. 13:18trace that exists inside of this graph.
  362. 13:19And all these steps are time-stamped and
  363. 13:21they have tool calls.
  364. 13:23Uh what can happen
  365. 13:25is if I
  366. 13:27uh
  367. 13:29look at this happening twice. I think
  368. 13:30this is the right query.
  369. 13:32Um this is this is two decision chains.
  370. 13:35It's going to be a little bit hard to
  371. 13:36see. Let me zoom in.
  372. 13:38Um they they're of different lengths,
  373. 13:40you'll notice. So, one is longer than
  374. 13:42the other. Um in this case it was cuz it
  375. 13:45found a precedent in one, um basically
  376. 13:47something else that had happened before.
  377. 13:50But the the problem with this is that if
  378. 13:53you run these over and over again,
  379. 13:54there's nothing actually like enforcing
  380. 13:57that the agent follows an exact path.
  381. 13:58You might have a skill or something that
  382. 14:00will say like do these things.
  383. 14:02Uh but then there's other problems where
  384. 14:04it's like there's these decision steps
  385. 14:05where it's approve or deny is a simple
  386. 14:07one or approve it or send to a human to
  387. 14:09review.
  388. 14:10And those decision steps as well come
  389. 14:12with confidence scores.
  390. 14:14Uh or you say like if you're confident
  391. 14:16about it, if you're not confident about
  392. 14:18something, but those decisions aren't
  393. 14:19calibrated. So, it would be great to
  394. 14:21like even take some of this and send it
  395. 14:23to something like a type safe, you know,
  396. 14:25Jev type of model as well, to be able to
  397. 14:28do some of those things.
  398. 14:30So, what you can do is you can scrape
  399. 14:31all of this and you can compile it into
  400. 14:34a graph shaped skill, which is what we
  401. 14:36did here.
  402. 14:37And that graph shaped skill, if I go
  403. 14:39here, you're not going to be able to see
  404. 14:41it. But that's okay that you don't see a
  405. 14:43lot of the detail here.
  406. 14:45The important part is that we sort of
  407. 14:47compiled all the information down from
  408. 14:49those successful runs that we did, even
  409. 14:51though they were a little bit
  410. 14:52inconsistent, and we put them into this
  411. 14:55graph YAML shape inside of this skill.
  412. 14:58And this skill, even though you probably
  413. 15:00have trouble seeing, has scripts, it has
  414. 15:04assets here, it has sometimes other
  415. 15:06reference resources, it doesn't for this
  416. 15:08one.
  417. 15:09It also has source documentation around
  418. 15:11the policy that you're supposed to do
  419. 15:14for the loan. So, there's So, there's
  420. 15:15basically a ton of stuff in here for
  421. 15:17traceability, but then also telling the
  422. 15:19agent how to run the skill. But the
  423. 15:21great thing is, once the skill is in
  424. 15:23this YAML format, we can port it into
  425. 15:26all this different tooling, including
  426. 15:28inside of a graph, cuz it's all sort of
  427. 15:29this deterministic format.
  428. 15:32And in a graph, it looks kind of like
  429. 15:35this thing here. So, let me Actually,
  430. 15:38let me just run this Run this sucker
  431. 15:39again. Um
  432. 15:42This is kind of what it looks like. So,
  433. 15:45you have all of these steps out here,
  434. 15:47and then basically what I just did is I
  435. 15:50wrapped the small cli around this, so
  436. 15:51the agent can say, "Hey, run the skill."
  437. 15:54And instead of the agent deciding all
  438. 15:56the routing steps, it's just done
  439. 15:57programmatically.
  440. 15:59We took a lot of that policy down, and
  441. 16:01we put a lot of it into these execution
  442. 16:03scripts.
  443. 16:05Basically, what's happening here, if if
  444. 16:07I was just to sum it up,
  445. 16:09there's an execution that basically
  446. 16:11looks at, "Hey, do do we meet certain
  447. 16:14hard rules around policies?"
  448. 16:16After that, it's routed if it's not auto
  449. 16:19approved or denied based on that, it's
  450. 16:21routed to a decision model like Jave or
  451. 16:24TypeSafe. Um, and I can even probably
  452. 16:27show you a little bit of a clearer view
  453. 16:30here.
  454. 16:31Um, and it's given that that model is
  455. 16:33given like a risk tier choice.
  456. 16:36Um, let me make that a little bigger.
  457. 16:38Hold on.
  458. 16:41Um, whether or not there's there's some
  459. 16:44exposure material and then like an
  460. 16:46outcome of whether or not you're
  461. 16:47approving or denying.
  462. 16:49And then the rest of this um, will
  463. 16:51basically follow down into writing a
  464. 16:53report. Whether or not you need to
  465. 16:55escalate to a human review as this
  466. 16:57router. And then if not, basically the
  467. 16:59agent's going to write a report and
  468. 17:00there's a circulation here to sort of
  469. 17:02check and lint that report. Um, so once
  470. 17:06you do this and you sort of get the
  471. 17:08model going where okay, well now we have
  472. 17:10this cli that we can just run this thing
  473. 17:11in.
  474. 17:12Um, well now
  475. 17:14I can go in here and then maybe I can
  476. 17:18probably don't have time to run this
  477. 17:19whole thing again, but I will give it a
  478. 17:21shot. Um,
  479. 17:24I'll see if it goes and picks this up.
  480. 17:26It takes about 2 minutes to run.
  481. 17:28Uh, but the idea I guess while this is
  482. 17:31running and it should pick up the AIP
  483. 17:33scale which which it is here.
  484. 17:35Um,
  485. 17:37once you have it in this format, not
  486. 17:38only can you have the agent run this
  487. 17:40very quickly.
  488. 17:42Uh, you can track the runs. So for
  489. 17:44example, um,
  490. 17:47if I was to look at a single run,
  491. 17:50I can run this again. I can basically
  492. 17:52persist the runs inside of the graph.
  493. 17:55Um, so this is a run of that scale with
  494. 17:57like individual steps that it ran. Um,
  495. 18:00and then uh, I can just persist these
  496. 18:02over time. I can examine how well they
  497. 18:04work. So from a governance perspective,
  498. 18:07um, I have a little inspector here that
  499. 18:09I built really quickly. You can look at
  500. 18:11the status of all these. You can look at
  501. 18:13how a specific one ran, what was
  502. 18:15approved, what was denied inside of the
  503. 18:17process, what branches it took.
  504. 18:20Um, and then once you have a graph, you
  505. 18:21can even do these cool observability
  506. 18:23things where you can ask well like what
  507. 18:24branches were taken and which branches
  508. 18:27weren't taken,
  509. 18:29um, which is very interesting from a
  510. 18:30governance perspective. It failed ever,
  511. 18:32[snorts]
  512. 18:33um, all these cool different things and
  513. 18:34all of that is stored besides your data.
  514. 18:38Um, and so in none of this, we're not
  515. 18:40like creating a loop, right, inside of
  516. 18:42our agent. All we're doing here is
  517. 18:44basically giving it a cli to run this
  518. 18:47like programmatic skill that we compiled
  519. 18:49from documentation or in this case from
  520. 18:51our memory graph.
  521. 18:53Um, and this might take a while to run
  522. 18:55just because of the the internet.
  523. 18:59But what I will show you is I we ran
  524. 19:01this a few times.
  525. 19:04Um, and what we saw is just running, I
  526. 19:06was using Fable, so my organization
  527. 19:09already yells at me for this enough so
  528. 19:10I'm spending a bunch of money.
  529. 19:12Um, but like just using Fable alone on
  530. 19:15the graph and it was correct, you know,
  531. 19:17pretty much every time, but it took 2.7
  532. 19:19minutes. When we had the procedure,
  533. 19:22it almost cut in half just using AIP.
  534. 19:24And then because we had the procedure,
  535. 19:26we can use a simpler model like Haiku
  536. 19:28and then we can cut the model time down
  537. 19:29even more. And then of course, you know,
  538. 19:31the cost just goes way down. So cuz
  539. 19:34you're taking all of that load, right,
  540. 19:36of having to figure out all the routing,
  541. 19:37all the stuff you're doing, you're
  542. 19:38putting into these execution scripts,
  543. 19:40these Java models and everything,
  544. 19:42um, which makes everything just much
  545. 19:44much more efficient.
  546. 19:46Um,
  547. 19:47and this is going to take too long to
  548. 19:48run.
  549. 19:49Uh,
  550. 19:50it's mostly internet.
  551. 19:52You can see here about half a minute or
  552. 19:542 minutes wall clock on average down
  553. 19:56from like 7 and 1/2.
  554. 19:58All right, so anyway, um, I'll end it
  555. 20:01here. So I want to give you some
  556. 20:03resources to check out if you're
  557. 20:04interested in this type of stuff. Aura
  558. 20:07is our cloud service offering where you
  559. 20:09can get the database that I was showing
  560. 20:10you before. You get $100 of free
  561. 20:12credits. We have nodes coming up which
  562. 20:15are is speakers event. There's a startup
  563. 20:17program. And then all the code that I
  564. 20:19was referencing in the other projects
  565. 20:21that I was using to hook up to your
  566. 20:23agent memory, all that sort of stuff is
  567. 20:25down there. So, I'll leave this up for a
  568. 20:27second until someone kicks me off, and I
  569. 20:29guess that's it for me for now.

About this transcript

This page contains the full transcript of Make Your AI Agents Predictable With Graph Engineering - Zachary Blumenfeld, Neo4j by AI Engineer, generated from the public captions YouTube serves with the video. The transcript has 3,797 words across 569 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.