YouTube2Text

Multi-Agent Memory? 🧠 Full Hindsight Guide (Hermes + Codex) — Transcript

by Wanderloots · 7,726 words · 1,101 segments · language en · Watch on YouTube

Full transcript

  1. 0:00We can see we have eight memories, and
  2. 0:01click refresh. Perfect. More memories
  3. 0:02have appeared. So, what just happened is
  4. 0:04I told Codex to remember something. It
  5. 0:06stored that memory inside of Hindsight,
  6. 0:08and then Hermes was immediately able to
  7. 0:10recall that. So, that's pretty cool.
  8. 0:12>> Many of us use multiple agents, but
  9. 0:14wouldn't it be nice if we had a way to
  10. 0:15share context between them so one agent
  11. 0:18knew immediately what the other was
  12. 0:19working on? No need to copy and paste,
  13. 0:21no need to re-explain everything you're
  14. 0:23working on over and over again as you
  15. 0:25switch back and forth between agents.
  16. 0:27Hi, my name is Callum, also known as
  17. 0:28Waterloo Lutes, and welcome to today's
  18. 0:30video on how to connect a single memory
  19. 0:32tool to multiple agents. I'll be using
  20. 0:34Hindsight for memory and Codex and
  21. 0:36Hermes for the agents, but this system
  22. 0:38works for any agent. My goal is to show
  23. 0:39how cross-agent memory systems work.
  24. 0:41Even if you don't use Hindsight, Hermes,
  25. 0:43or Codex, you will still learn a lot
  26. 0:45about how to structure a memory system
  27. 0:46for multiple agents effectively. In
  28. 0:48today's video, we'll do a full setup and
  29. 0:50practical deep dive of Hindsight,
  30. 0:52connect to Hermes and Codex, organize
  31. 0:54everything with memory banks and tags,
  32. 0:55and test memory moving between agents
  33. 0:57automatically. Now, let's sync our agent
  34. 1:00memories.
  35. 1:04If you want to learn more about the
  36. 1:05theory of the memory system and how to
  37. 1:06set them up in an agent like Hermes,
  38. 1:08check out my previous video that
  39. 1:09explores the full stack. Today, there's
  40. 1:11only two things you need to understand
  41. 1:12to get started. The system itself and
  42. 1:15how it works within a chat. For the
  43. 1:16system, imagine you have a private
  44. 1:18studio that has multiple workstations.
  45. 1:20At one workstation, Codex is helping
  46. 1:21with code. At another, Hermes is acting
  47. 1:23as a personal assistant. Each
  48. 1:25workstation combines a model which
  49. 1:26provides the intelligence with a harness
  50. 1:28which provides the tools and working
  51. 1:30environment. But, the agents are missing
  52. 1:31a way to pass information and context
  53. 1:33between each other. Hindsight acts as a
  54. 1:35bridge between them. A memory system
  55. 1:37that operates like a shared notebook
  56. 1:39passed between your agents. Hindsight
  57. 1:41extracts key information from chats with
  58. 1:42both agents and organizes it so it's
  59. 1:45readable by both when they need it. Now,
  60. 1:46let's get this set up for multiple
  61. 1:48agents.
  62. 1:50If you find this video helpful, please
  63. 1:51consider liking, hyping, and subscribing
  64. 1:53as I really appreciate your support. If
  65. 1:55you're looking for more ways to support
  66. 1:56me, please consider joining my YouTube
  67. 1:58or Patreon memberships. I give my
  68. 1:59members access to insights, tips, and
  69. 2:01kits to improve their knowledge
  70. 2:03management and AI, including the
  71. 2:05Hindsight memory kit that I put together
  72. 2:06today to make this whole process easier
  73. 2:08to set up for you. You can still do
  74. 2:10everything I'm showing you today
  75. 2:11yourself, but the kit just makes it a
  76. 2:12little bit easier if you're starting
  77. 2:13from scratch to help save you some time.
  78. 2:15Okay, so this is what Hindsight looks
  79. 2:17like here. This is what we're going to
  80. 2:18be setting up and connecting to multiple
  81. 2:20agents. So, in my last video, I set this
  82. 2:22up just for Hermes, and today we're
  83. 2:23going to set up a new bank that's a
  84. 2:25global user, which is what Hindsight
  85. 2:27recommends specifically for a single
  86. 2:29user, solo developer, someone who's
  87. 2:32using multiple agents for related
  88. 2:34projects. So, that's what we're going to
  89. 2:35get set up with the goal being that
  90. 2:37instead of just having Hermes connect to
  91. 2:39this bank producing these memories here,
  92. 2:41I can have Codex and Claude code and
  93. 2:42Gemini and any agent I want to
  94. 2:45connecting here. So, let's get this set
  95. 2:46up. So, the first thing I've done here
  96. 2:48is I've created a Hindsight memory kit
  97. 2:50folder, and this is just a folder for me
  98. 2:52to organize all of the files that I'm
  99. 2:53going to use to automatically set up
  100. 2:56Hindsight and connect it to my different
  101. 2:57tools. So, I'm not going to go through
  102. 2:59all of these files right now, but this
  103. 3:01includes a few extra things that are
  104. 3:03completely optional if you want to do
  105. 3:04this. For example, I'll talk about
  106. 3:06setting up automated backups of your
  107. 3:07memory system, one-click launchers to
  108. 3:09restart your memory system if it shuts
  109. 3:11down, how we can use something like
  110. 3:13Docker Compose to make this a lot easier
  111. 3:16for you to run continuously and not have
  112. 3:18to configure every time, and a few other
  113. 3:20things that I'll get further into. For
  114. 3:21now, let's move into this memory kit.
  115. 3:23And next, I'm just checking to make sure
  116. 3:24I have all of the prerequisites that I
  117. 3:26need, so I'm going to be using Docker
  118. 3:27today, Python, Codex, and Hermes. So, we
  119. 3:30can see that everything is installed
  120. 3:33here. If you're not sure how to get any
  121. 3:34of this going, I do have a video that
  122. 3:36goes deeper into each of them, and I
  123. 3:38also ran Hermes memory provider just to
  124. 3:39show you that the current memory
  125. 3:40provider is Nemesis, which is one of the
  126. 3:43tools that I showed you how to install
  127. 3:45in the last video. We're going to be
  128. 3:46setting this up for Hindsight today.
  129. 3:54Okay, so the first thing that we need to
  130. 3:55create is an environment file, which we
  131. 3:57can see just popped up on the side here,
  132. 3:58and I'm just going to open it right here
  133. 3:59so you can see what this looks like. And
  134. 4:01the reason I want to do this is because
  135. 4:02if we go back to Hindsight for a second,
  136. 4:05we can see that this Hindsight instance
  137. 4:07is running on localhost 999, like we can
  138. 4:10see I currently have it running with the
  139. 4:11Docker container I set up last time, and
  140. 4:13I can limit access to this Docker
  141. 4:15container, limit access to this control
  142. 4:17plane by introducing a shared API key
  143. 4:20and a control plane access key. So, I'm
  144. 4:22going to introduce secrets here that
  145. 4:25then get saved inside of this dot
  146. 4:27environment file, and that means that
  147. 4:28when I restart Hindsight, I'll be able
  148. 4:31to have these secrets that exist here.
  149. 4:33So, I'm going to create a secret. I'll
  150. 4:34just show you what this looks like and
  151. 4:35then I'll clear it. So, I would just
  152. 4:36copy this, go over here, and then
  153. 4:38replace it with this long string, and
  154. 4:41save the file. So, you can do that here
  155. 4:43and here. Okay, so once we've done that,
  156. 4:44we now have this dot environment file,
  157. 4:46and this has the API key that we're
  158. 4:48going to give to Hermes Codex and Claude
  159. 4:51Code and any other connector you want
  160. 4:53for your agent, and then another one
  161. 4:54that protects the control plane. So, now
  162. 4:56our next step, I'm going to open up the
  163. 4:58Docker Compose file, and there's a few
  164. 4:59things that I want to show you.
  165. 5:02So, the first is that we need an LLM to
  166. 5:04power the way that Hindsight actually
  167. 5:07saves the information and reflects on
  168. 5:08it. Today, I'm going to quickly show you
  169. 5:10how to use OpenAI's Codex
  170. 5:11authentication. In the last video, I
  171. 5:13walked through how to do this with the
  172. 5:14local model using Ollama. So, this is
  173. 5:16where you can set the specific model you
  174. 5:18want. So, for example, I'm planning on
  175. 5:20using Tara as the default, but then I'm
  176. 5:22going to override it for retain with
  177. 5:24Luna, which is a more efficient one. So,
  178. 5:26retaining is saving or remembering, and
  179. 5:28then I can use a more powerful model for
  180. 5:30consolidation and reflecting. So,
  181. 5:32there's a lot of settings that we can go
  182. 5:33through here. I'm also leaving this as a
  183. 5:35local embedding, so this is for
  184. 5:36retrieval of information for recall. And
  185. 5:39the most important one for setting it up
  186. 5:41with Codex is that we need to set up a
  187. 5:43new environment for the authentication,
  188. 5:45and this is because if you want to use
  189. 5:46your existing Codex quota for powering
  190. 5:48these models, we need to set up a
  191. 5:50separate authentication for Hindsight to
  192. 5:51connect to. So, that's what this is
  193. 5:53showing here. So, I'll show you how that
  194. 5:54works in just a moment. And then we have
  195. 5:56two ports at the top. The first one
  196. 5:57creates the actual container that runs
  197. 5:59Hindsight, and the second one here shows
  198. 6:01the actual control plane. This is where
  199. 6:02we can see the existing memories, and we
  200. 6:04can configure a lot more about it that
  201. 6:06I'll touch on in a moment. And the last
  202. 6:07thing that's important is we have this
  203. 6:09setting here of restart unless stopped.
  204. 6:11So, this means that even if our computer
  205. 6:12shuts down, once Docker opens again, it
  206. 6:15will restart automatically. We don't
  207. 6:16have to manually configure the setup of
  208. 6:19the Hindsight. Okay. So, then this shows
  209. 6:20the Docker Compose file, which you can
  210. 6:22also run manually yourself every time if
  211. 6:24you want to. I was just thinking that it
  212. 6:26will be easier for me to set this up
  213. 6:28once, so I have this file, and then I'm
  214. 6:30just going to create a single launch
  215. 6:32Hindsight command that just becomes
  216. 6:33basically a shortcut for me to trigger
  217. 6:35this. So, now we just want to make sure
  218. 6:37that that Compose file is recognized,
  219. 6:39and that the environment file here can
  220. 6:40be seen. And if we don't get an error,
  221. 6:42then we're good to go.
  222. 6:45So, the goal here is to have Codex power
  223. 6:47Hindsight's internal memory processing,
  224. 6:49but then give the service of Hindsight
  225. 6:51its own durable login, so it can't
  226. 6:53interfere with the Codex app I'm already
  227. 6:55using anyways. So, the first step is to
  228. 6:57create a Docker volume that's actually
  229. 6:59going to let us have a dedicated Codex
  230. 7:01authentication system for Docker for
  231. 7:04Hindsight. And this is a completely
  232. 7:06separate storage area that is different
  233. 7:08than the memory database, it's different
  234. 7:10from normal Codex, it's different from
  235. 7:11all the files. This is purely just to
  236. 7:13get the authentication going, so we can
  237. 7:14sign in to Hindsight using our Codex
  238. 7:17login. Our next step is we are going to
  239. 7:19actually create the authentication
  240. 7:21inside the volume, and then click run.
  241. 7:23This is going to start the node
  242. 7:24container. It's going to download the
  243. 7:26official Codex CLI inside of it, so that
  244. 7:28we can then actually authenticate Codex.
  245. 7:31Okay, great. So, that worked. It gave us
  246. 7:32the link that we can sign in to verify
  247. 7:34this particular account, and then I'm
  248. 7:36going to take this code that it gave us,
  249. 7:38and click continue. And just a quick
  250. 7:39note, if this fails for you, you might
  251. 7:42need to change your settings inside of
  252. 7:43Chat GPT to enable device code
  253. 7:45authentication inside of Codex. Great,
  254. 7:47there we go. So, it says successfully
  255. 7:48logged in. So, now I'm going to quickly
  256. 7:50check to make sure that we have logged
  257. 7:52in correctly. And here we go, it says
  258. 7:53Codex login is ready. So, we basically
  259. 7:55just created a separate volume that has
  260. 7:58authenticated my Codex login for me to
  261. 8:00be able to now run Hindsight through my
  262. 8:02Docker container leveraging the Codex
  263. 8:05login. Again, if you want to, you can
  264. 8:06run this locally like I did in the last
  265. 8:08video or you can also just input your
  266. 8:11API key directly if you want to. If you
  267. 8:13want to do a pay per use, I just wanted
  268. 8:15to sign in using my existing Codex quota
  269. 8:17just because why not. So, now that we
  270. 8:19have Hindsight connected to Codex, so we
  271. 8:21have the LLM ready to power it, it's
  272. 8:23time for us to actually launch
  273. 8:24Hindsight. So, let's do that now.
  274. 8:30So, in the last video, I launched
  275. 8:32Hindsight just by typing in run Docker
  276. 8:34command and that's what created this
  277. 8:35here, which we can see has files, logs.
  278. 8:38This is all the information. This is
  279. 8:40where we get to the actual memory system
  280. 8:42here where we can connect to our memory
  281. 8:44bank like I was showing you. But if
  282. 8:46you're a little less technical or you're
  283. 8:47like me and I don't want to have to save
  284. 8:50that Docker command somewhere every
  285. 8:51time, we can just turn this into a
  286. 8:53single button here that will make it
  287. 8:55easy for us to launch. So, basically all
  288. 8:57of this double click button is doing is
  289. 8:58it's running a script called start
  290. 9:00Hindsight and it's running the Docker
  291. 9:02compose. So, you can also just run this
  292. 9:04by using a normal Docker compose string
  293. 9:06as well. So, I just shut down my old
  294. 9:09Docker and now I'm going to click set up
  295. 9:10Hindsight again. Here we go, it looks
  296. 9:12like it's all good. So, now if we go
  297. 9:13back to Docker container, cool. We can
  298. 9:15see that we now have this new compose
  299. 9:17stack here. So, if I click on this, we
  300. 9:19can see that it pops up right here and
  301. 9:20it takes me to the Hindsight. So,
  302. 9:22basically all this did here is it
  303. 9:24confirmed that Docker's installed, it
  304. 9:25confirmed that the dot env file was
  305. 9:28there. If Docker Desktop wasn't running,
  306. 9:30it starts it. It then runs the compose
  307. 9:32to start the container, waits for
  308. 9:34Hindsight to appear and then opens the
  309. 9:36control plane. And we can see here it
  310. 9:38actually is blocking me from being able
  311. 9:40to access it and that's because I need
  312. 9:42to put in the control plane access key
  313. 9:43that we put into the environment file.
  314. 9:45So, if you're curious, this would be
  315. 9:47what you would normally run for the
  316. 9:49Docker Compose. I just put all of this
  317. 9:51and a couple other things into its own
  318. 9:53script. So, now we can go get the
  319. 9:54environment key that I had saved before
  320. 9:56inside of my environment file here,
  321. 9:58paste it in and click sign in and here
  322. 10:00we go. I'm signed back into Hindsight.
  323. 10:02So, it still has the old bank here, but
  324. 10:04we've now added that authentication
  325. 10:05layer by this new setup that we're
  326. 10:07running inside of Docker. So, now that
  327. 10:09we have signed into Hindsight, we have
  328. 10:11our API connected, we've got our LLM
  329. 10:13connected. Our next step is to create a
  330. 10:15new memory bank for multiple AI agents
  331. 10:17to connect to.
  332. 10:20So, if you're in Hermes, for example,
  333. 10:21this is the one that I set up
  334. 10:22specifically as a Hindsight profile that
  335. 10:24I'm now going to be changing to be my
  336. 10:26default. My default is currently
  337. 10:27Mnemosyne. You can see here that I have
  338. 10:29the bank ID of Hermes. So, you don't
  339. 10:31have to create this bank directly inside
  340. 10:34of Hindsight itself where we see create
  341. 10:36new bank, it will automatically create
  342. 10:38it if you add it in here. But, why don't
  343. 10:40we create it here so that it we can just
  344. 10:42see what this looks like. You can import
  345. 10:43it from a template. I'm just going to
  346. 10:45call this one Wanderlust for my global
  347. 10:47user memory bank. Click create and there
  348. 10:49we go. So, we can see this one has no
  349. 10:51memories. If we switch over to Hermes,
  350. 10:52it loads the memories. So, we're
  351. 10:54starting with a fresh bank here. And if
  352. 10:56you want to learn more about should you
  353. 10:57have one or more banks, for example, the
  354. 10:59ability to auto create a bank for every
  355. 11:02coding project you're working on, I
  356. 11:04recommend checking out this article on
  357. 11:05the one bank or many strategy. Hindsight
  358. 11:08honestly has a ton of good documents
  359. 11:09that have taught me a lot, but the idea
  360. 11:11here is that if you want a global bank
  361. 11:14that you use for everything, it's
  362. 11:15usually for a single user, a solo dev.
  363. 11:18That's great if you want to have all of
  364. 11:19your projects kind of melding together
  365. 11:22in one memory system. If you're dealing
  366. 11:24with multiple coding projects that are
  367. 11:26completely different from one another,
  368. 11:27you might want to have a per project or
  369. 11:29per repo bank. The key here is that a
  370. 11:31bank is a hard limit where you can't
  371. 11:33access between them. Like you saw in
  372. 11:35Hermes, I could only select Hermes as
  373. 11:37that memory bank. I couldn't have
  374. 11:38multiple banks connected to that same
  375. 11:40profile. So, you could have a different
  376. 11:42bank for each Hermes profile if you want
  377. 11:44to, kind of like a per user profile. But
  378. 11:46for me personally, I'm going to go with
  379. 11:47a global one for now because I want to
  380. 11:48have one user that all of my agents can
  381. 11:51understand and work with. And it doesn't
  382. 11:52just have to be you, either. You can set
  383. 11:54it up where, for example, I have this
  384. 11:57Hindsight container running right here.
  385. 11:59I can serve this on something like
  386. 12:00Tailscale, and I'd be able to have
  387. 12:02different people connect to this single
  388. 12:04memory system where each person gets
  389. 12:06their own memory bank. So, I can be the
  390. 12:08one running this Hindsight memory
  391. 12:09container, and my fiance Taylor can
  392. 12:12connect to it with her computer, as
  393. 12:13well. That way I can have one person
  394. 12:15powering this system, but it's all
  395. 12:17easily separated by these banks. But if
  396. 12:19you want to learn more about how to
  397. 12:20connect multiple devices to a single
  398. 12:21system, I recommend checking out my one
  399. 12:23agent many devices workflow because it
  400. 12:24works very similar for Hindsight as it
  401. 12:27does for Hermes. And I'll show you in a
  402. 12:29little bit how we can also set up a bit
  403. 12:30of a soft separation where we can add
  404. 12:34what are called tags on a per project
  405. 12:35basis. So, that involves the Hindsight
  406. 12:38configuration. So, let's go take a look
  407. 12:39at that for a second.
  408. 12:42So, one thing that's nice about setting
  409. 12:43up your memory bank first inside of
  410. 12:46Hindsight is we are able to go in and
  411. 12:49modify the configuration of this bank
  412. 12:51before any agent connects to it. So,
  413. 12:53when the agent connects to it, it
  414. 12:54already has all of these settings
  415. 12:56preconfigured. So, let's go through and
  416. 12:57set up a few things. So, I'm going to
  417. 12:59click on configuration here, and I
  418. 13:01recommend keeping your extraction mode
  419. 13:03on concise to start. That just reduces
  420. 13:05the token usage and keeps your memories
  421. 13:07a little bit more targeted. And this is
  422. 13:09in the retain section. So, if we go over
  423. 13:12to the Hindsight docs for a second, we
  424. 13:13can see that this is what retain does.
  425. 13:15You have a conversation, the agent
  426. 13:17extracts facts, identifies entities,
  427. 13:19builds connections, and then adds it to
  428. 13:21the memory bank. So, basically, what's
  429. 13:23happening here is the retain pulls the
  430. 13:25information, the context from your
  431. 13:27conversations with your agent, puts it
  432. 13:29in the server, and then adds it to the
  433. 13:31memory bank, which includes all of this
  434. 13:32information that I'll go into a little
  435. 13:34bit later. Recall does the opposite. It
  436. 13:36pulls the information from the memory
  437. 13:38bank into your AI agent's context. So,
  438. 13:41this is what recall looks like, where if
  439. 13:43you ask a question to the agent, it'll
  440. 13:44query, it'll go and pull in semantic
  441. 13:46meaning, keywords, graph, and temporal
  442. 13:48information, and fuse it into one
  443. 13:51answer, encode it, and then give you the
  444. 13:53results. So, this is why I say this is
  445. 13:55one of the more powerful systems because
  446. 13:56of this recall setup right here that
  447. 13:58brings in all of these different
  448. 14:00database mechanisms to give you one
  449. 14:02answer based on different formats. And
  450. 14:04then, reflect is a little bit different
  451. 14:05again. Reflect goes and it searches
  452. 14:08through mental models and observations,
  453. 14:10and it has a little bit more of a
  454. 14:12complex system that autonomously gathers
  455. 14:14evidence, uses hierarchical retrieval.
  456. 14:16It cites sources. There's a whole loop
  457. 14:19that it goes through here. So, I
  458. 14:20recommend checking it out if you want to
  459. 14:21learn a little bit more about it. But,
  460. 14:23for reflect in particular, you need a
  461. 14:24bit more powerful of a model usually.
  462. 14:26And there's a few more that we can get
  463. 14:27into as well, like observations, which
  464. 14:30is once you have memories retained,
  465. 14:31hindsight will automatically consolidate
  466. 14:33them into observations by deduplicating.
  467. 14:35And it keeps track of its citations, its
  468. 14:38provenance the entire time here. So,
  469. 14:39it's pretty interesting. So, that brings
  470. 14:41me back to the configuration here
  471. 14:43because not only do we want to have the
  472. 14:44extraction mode set up for concise, and
  473. 14:46we can have multiple strategies. We can
  474. 14:48have a codex one, a Hermes one. You can
  475. 14:49have different things here. But, we also
  476. 14:51have this mission.
  477. 14:54So, this is one of the most important
  478. 14:55parts. You can kind of think of it like
  479. 14:57the system prompt for your retaining
  480. 14:59information. This is a way to steer the
  481. 15:01LLM without replacing extraction rules.
  482. 15:03It's just kind of a way to improve it.
  483. 15:06So, this is just an example. I recommend
  484. 15:08tweaking it, changing it, testing it out
  485. 15:10until you get one that works really well
  486. 15:11for you. Now, the next thing I want to
  487. 15:13get to is free-form entities. So, this
  488. 15:15is where we want to have entities, which
  489. 15:17are people, places, and concepts,
  490. 15:19extracted automatically. So, I'm going
  491. 15:21to leave that enabled on, and we can
  492. 15:23also get into entity labels
  493. 15:25specifically. It's an optional way for
  494. 15:28you to produce an extra label based on
  495. 15:30the information that your agent is
  496. 15:32retaining as you're having
  497. 15:33conversations. So, one that I'm
  498. 15:35interested in, for example, let's go
  499. 15:36here. I'm going to change this to text.
  500. 15:38I'm going to call this project, and I'm
  501. 15:41going to give my extractor hint of the
  502. 15:42primary named project or code base this
  503. 15:44memory concerns. Use its stable
  504. 15:46canonical name. Omit it if there's no
  505. 15:48project clear. So, basically what this
  506. 15:50means is let's say I'm working on one
  507. 15:51coding project, and it's called project
  508. 15:53A. If the folder I'm working out of is
  509. 15:55called project A, it's possible that
  510. 15:57Hindsight will automatically retain
  511. 15:59information and label it with that
  512. 16:01project name. So, what we can do is we
  513. 16:03can toggle on tag here, and this is
  514. 16:05where if we go back over to our memory
  515. 16:06bank strategy, if a bank is a recall
  516. 16:09boundary, you can't have any type of
  517. 16:11cross-bank query. So, what we can do is
  518. 16:13we can use tags inside of one bank for a
  519. 16:15soft partition that we want to be able
  520. 16:17to filter and maybe cross-reference. So,
  521. 16:20by setting up the entity label with the
  522. 16:21project, it is possible that the agent
  523. 16:23doesn't do it correctly, but this
  524. 16:24improves the likelihood that it will tag
  525. 16:27its memories that it's remembering with
  526. 16:29the project name. And as another
  527. 16:30example, we could add a second label
  528. 16:32that maybe I want to call harness, and
  529. 16:34we could say the agent harness that
  530. 16:35produced this memory, choose only when
  531. 16:37indicated, otherwise omit. And we could
  532. 16:39change this to single value. And
  533. 16:42basically what we're doing is we're
  534. 16:43pre-labeling
  535. 16:44the possible tags that could be
  536. 16:46triggered so that as we save new
  537. 16:47memories here, we can see it has user
  538. 16:49Hermes profile, for example. We can add
  539. 16:51more tags depending on the information
  540. 16:54that's coming in and try to improve the
  541. 16:57filtration system that we want to add in
  542. 16:59the memories that are being retained.
  543. 17:01Okay, so I'm going to click save changes
  544. 17:02on that.
  545. 17:05And now we're going to go down to
  546. 17:06observations, which is where we can
  547. 17:07control how facts are synthesized into
  548. 17:09durable observations, like I showed you
  549. 17:12in this workflow right here. It's a form
  550. 17:14of knowledge consolidation. So, it's
  551. 17:16effectively a way of identifying
  552. 17:18patterns in your work, which is one of
  553. 17:19the most beneficial reasons for using
  554. 17:22something like Hindsight in the first
  555. 17:23place. Going to add a mission statement
  556. 17:25here. Again, I recommend maybe chatting
  557. 17:27with your agent, seeing what your goals
  558. 17:29are here. This is going to change what
  559. 17:30your mission is. I'm just going to leave
  560. 17:31everything as the default here. Click
  561. 17:33save changes. And then we're going to go
  562. 17:34down to reflect here. And this is where,
  563. 17:37like I was mentioning, reflect is a
  564. 17:38little bit more of a complex system that
  565. 17:40runs a loop to autonomously gather
  566. 17:42evidence and then reason through all of
  567. 17:44that and produce more contextual
  568. 17:47responses. So, it's a deeper reasoning
  569. 17:49layer that connects relevant memories
  570. 17:50without pretending uncertain or outdated
  571. 17:52memories are verified facts. So, I'm
  572. 17:54going to add this as my memory
  573. 17:56statement, specifically mentioning
  574. 17:57cross-project personal and technical
  575. 17:59memory assistant. Something like stating
  576. 18:01uncertainty is valuable. And I'm just
  577. 18:02going to go with the defaults here. You
  578. 18:04can change this again if you want. I
  579. 18:05would recommend looking deeper into it.
  580. 18:07Now, we get to the next step of the bank
  581. 18:08configuration, which is memory defense.
  582. 18:10And this basically enables you to
  583. 18:11configure sensitive content to be
  584. 18:13redacted or quarantined depending on
  585. 18:15your particular preferences. So, this is
  586. 18:16just a good idea to have in there. If
  587. 18:18you don't want your agent to remember
  588. 18:19any kind of secrets, you can just turn
  589. 18:20this on. And we can choose to redact,
  590. 18:22block, or allow. So, I'll just redact it
  591. 18:24for now. Okay, so I know that was a lot
  592. 18:26of setup here with the bank
  593. 18:27configuration, but this is a one-time
  594. 18:29thing that you need to set up. And
  595. 18:30there's a lot more that you can get into
  596. 18:32here. So, I recommend again going
  597. 18:33through the docs and checking it out
  598. 18:35because depending on your particular use
  599. 18:37case, there may be more things you want
  600. 18:39to turn on here.
  601. 18:41So, now that we have Hindsight set up,
  602. 18:43it's currently running inside of this
  603. 18:44Docker container. We have access to the
  604. 18:46control plane. We have all of our bank
  605. 18:48configuration set up. Why don't we
  606. 18:50quickly test it to make sure it works?
  607. 18:52I'm just going to click add document and
  608. 18:54I'm very quickly going to add something
  609. 18:56like this. Cool. It was able to be
  610. 18:58added. We can see it has this
  611. 18:59information. Now, if we go over to
  612. 19:01recall, I can say searching memories and
  613. 19:04here we go. It was able to restore the
  614. 19:06memory and say the Wanderloot's memory
  615. 19:07system uses one shared Hindsight bank
  616. 19:09named Wanderloot's. So, that just proves
  617. 19:11that the calls are working here. If we
  618. 19:13go down to settings and over to
  619. 19:15background operations, we can see that
  620. 19:17it was able to run right here. So this
  621. 19:19means that it's connecting correctly to
  622. 19:21the LLM setup that we have given it,
  623. 19:23which is perfect. So now before we
  624. 19:25connect this to an agent, there's one
  625. 19:26more important thing I would recommend
  626. 19:28setting up, which is to enable automated
  627. 19:30backups.
  628. 19:32So I'm going to go back to my kit here
  629. 19:34for a second where I have an install
  630. 19:35automatic backups command. So I'm going
  631. 19:37to run that. It's creating a host backup
  632. 19:39directory. It's going to run it once
  633. 19:41immediately just to make sure that it
  634. 19:42all works. And yeah, it looks like it
  635. 19:44is. I went to my folder. I have
  636. 19:45something called hindsight backups and I
  637. 19:47have a zip folder right here. And
  638. 19:48basically what it's doing is it's
  639. 19:50running the built-in hindsight admin
  640. 19:52backup and then just controlling which
  641. 19:54folder I wanted it to go to. So you can
  642. 19:56also just run that manually yourself or
  643. 19:57you can set it up to run on a schedule
  644. 19:59as well. And if you want to learn more
  645. 20:00about how you can run this yourself as
  646. 20:02part of the hindsight admin, I recommend
  647. 20:04checking out the admin CLI. And you can
  648. 20:06just give this to your agent so that
  649. 20:07it's able to set this up for you in a
  650. 20:09way that you're happy with.
  651. 20:12All right, so this is me from the
  652. 20:13future. Part way through recording this
  653. 20:14video, hindsight released version 0.9,
  654. 20:16which introduces a bunch of cool
  655. 20:18elements that I'll touch on a little bit
  656. 20:19later. So I thought this would be a good
  657. 20:21opportunity to show you how to upgrade.
  658. 20:23So the first thing I did was I used my
  659. 20:25backup system that I had just installed.
  660. 20:27So we can see that it has now 33,000
  661. 20:29memories. This is after about a week and
  662. 20:30a half. So we can see I have all of my
  663. 20:32memories, they've been backed up. That's
  664. 20:33just good practice. And next what I'm
  665. 20:35going to do is I'm going to pull
  666. 20:36hindsight. Okay, there we go. It has now
  667. 20:38completed pulling the latest version.
  668. 20:40That took about a minute. So now what I
  669. 20:41can do is I can relaunch the hindsight
  670. 20:42command. And there we go. We can now see
  671. 20:44that the user interface is a bit
  672. 20:45different than what we were currently
  673. 20:47looking at, but it was able to bring in
  674. 20:49my existing bank that I had created and
  675. 20:51now all of the memories. So again, just
  676. 20:52as we continue going throughout this
  677. 20:54tutorial, remember that some of it might
  678. 20:55be on the old user interface. There's
  679. 20:57just now a couple new features like this
  680. 20:59home button, knowledge pages, and this
  681. 21:01knowledge base. So I'll touch on that in
  682. 21:03a little bit. Now it's time to actually
  683. 21:05connect this to one of our agents.
  684. 21:12Okay, so I'm first going to connect this
  685. 21:14to Hermes because it's actually quite
  686. 21:15easy. We can go to the settings in the
  687. 21:17top right or by pressing command comma
  688. 21:19and then we can go over to memory and
  689. 21:21context. I'm going to leave the
  690. 21:22persistent memory and user profile
  691. 21:24memory on because we can do that with
  692. 21:26hindsight and I'm going to switch from
  693. 21:27Nemosyne which is more of a memory layer
  694. 21:29to hindsight here. So, when I do that it
  695. 21:31brings up the hindsight settings and
  696. 21:33this is where we have two modes, local
  697. 21:34external and cloud. I'm going to leave
  698. 21:36it as local external because I have it
  699. 21:37running inside of my docker container. I
  700. 21:39talked more about this process in the
  701. 21:41last video on the pros and cons of
  702. 21:43running it yourself versus using the
  703. 21:44cloud which is a paid service. But for
  704. 21:46now, let's leave it as local external
  705. 21:48and then we get to the API key and this
  706. 21:50is where we need that second API key
  707. 21:52that we set up inside of the environment
  708. 21:54file. So, we can go get that and now
  709. 21:55we're going to set the API URL to the
  710. 21:57locally running docker container. I'm
  711. 21:59going to go down and change bank ID to
  712. 22:01Wanderer's and I'm going to leave recall
  713. 22:03budget on mid. It's up to you to control
  714. 22:05the tokens that you want to use there
  715. 22:07and that's it. It's set. So, now I'm
  716. 22:08going to go here and I'm going to
  717. 22:09restart the gateway just to make sure
  718. 22:10that the default profile picked that up
  719. 22:12properly. Now that I reset, I'm going to
  720. 22:14go back to memory and context and
  721. 22:16perfect. It looks like it's all set up
  722. 22:17still. So, the next way that we can
  723. 22:18check this is we can go back to terminal
  724. 22:20and we can type in Hermes memory status
  725. 22:23and it should pop up. Yes, we have
  726. 22:24built-in memory enabled. The provider is
  727. 22:26hindsight. It's installed and available.
  728. 22:29Perfect. That's exactly what we needed
  729. 22:30and this is just if you're running the
  730. 22:32desktop app. If you want to do this
  731. 22:33through the CLI, you can also write
  732. 22:35Hermes memory setup and this would help
  733. 22:38you get going with connecting hindsight
  734. 22:39as your provider
  735. 23:00>> it's able to connect to the LLM that we
  736. 23:02have powering it and it was able to
  737. 23:04update the user profile and memory
  738. 23:06preference. Perfect. So now if we go
  739. 23:08back over to Hindsight for a moment and
  740. 23:10go to our bank, we can see here we have
  741. 23:13a few more memories. So we can see that
  742. 23:14it's pulling up the project of Wander
  743. 23:16Lutes. Interesting. Probably because
  744. 23:17it's inside Wander Lutes tutorials
  745. 23:19folder. We can go to entities and we can
  746. 23:21see there's all of this information here
  747. 23:22that's been extracted as that
  748. 23:24information was retained. So that's
  749. 23:25perfect. Everything is working. But
  750. 23:27that's not where we want to end it here.
  751. 23:29We don't want to just have Hermie's
  752. 23:30connected to Hindsight. The point is
  753. 23:31that we're creating this shared memory
  754. 23:33engine that connects all of our tools
  755. 23:34together. So next I'm going to connect
  756. 23:36Codex. But this process also works very
  757. 23:38similarly for Claude code as well. So
  758. 23:40the goal is that Codex is now becoming a
  759. 23:43doorway into the same memory bank. And
  760. 23:45this connection that we're about to set
  761. 23:46up is completely different than using
  762. 23:48Codex to power the Hindsight system. So
  763. 23:50we have Codex now powering Hindsight and
  764. 23:52Codex is also going to use Hindsight.
  765. 23:54But for this it's a little bit
  766. 23:55different.
  767. 24:02Okay, and now just very quickly before
  768. 24:03we actually connect this to Codex. This
  769. 24:05is me from the future again. I want to
  770. 24:06mention that with the 0.9.0 update,
  771. 24:09there's actually a new way for us to
  772. 24:11connect Hindsight that makes it easier
  773. 24:13for us to connect this single memory
  774. 24:14plugin for every single coding agent. So
  775. 24:16basically what this means is there's now
  776. 24:18a single coding agent plugin and we can
  777. 24:20automatically have the repos get history
  778. 24:22and conversations flow into the memory
  779. 24:24bank in the background while you work.
  780. 24:26So previously if we installed the Codex
  781. 24:28connection with the hooks, we can
  782. 24:30uninstall that now. So I'm going to do
  783. 24:31that quickly for a moment. If you
  784. 24:32haven't installed it yet, don't worry
  785. 24:33you don't need to do this step. There we
  786. 24:34go. It's uninstalled. And now we can go
  787. 24:36and we can get this command here, this
  788. 24:38NPX command. And you can either install
  789. 24:40all to work for every single agent
  790. 24:42that's detected in your computer at once
  791. 24:44or you can list a specific one that
  792. 24:46you're going for. So for myself, I'm
  793. 24:47just going to install this for Codex
  794. 24:48right now. But you could do this for all
  795. 24:50of them. And then I have two flags here,
  796. 24:51one for the fact that we're working on a
  797. 24:53self-hosted server and that this is
  798. 24:55where we want to launch the server to.
  799. 24:57So I'm going to click enter there.
  800. 24:58Great, there we go. It just took a
  801. 24:59second. And again, what's wild here is
  802. 25:01that this installed something called
  803. 25:03Hindsight Coding Agents. So, if I would
  804. 25:05have put all here instead of just Codex,
  805. 25:08it would connect to Antigravity and
  806. 25:09Cloud Code and all of the other ones.
  807. 25:11So, we do need to make sure that the
  808. 25:13hooks are enabled in our Codex, which
  809. 25:15I'll show you in a moment. But first,
  810. 25:17before we do that, I want to take a
  811. 25:18quick look at the Coding Agent
  812. 25:19configuration file that we just
  813. 25:20installed.
  814. 25:23So, if I go to my .hindsight folder,
  815. 25:24this is my previous one that I had
  816. 25:26installed when it was just Codex, but
  817. 25:28now we're dealing with the full system
  818. 25:29here. So, we can see as part of this
  819. 25:30Coding Agent installation, we have all
  820. 25:33of the different operations needed for
  821. 25:35every Coding Agent. So, the
  822. 25:36configuration here is at
  823. 25:38.hindsight/codingagent.json,
  824. 25:40and this brings in the built-in
  825. 25:41defaults, but also gives you the ability
  826. 25:43to control the various levels. So, I'm
  827. 25:45going to open this now for a moment, and
  828. 25:47we can see that the built-in one here
  829. 25:48has just server mode self-hosted and the
  830. 25:50API URL. That's what we set when we
  831. 25:52first started up. So, I'm now going to
  832. 25:54introduce a few more layers here. I'm
  833. 25:56going to mention that we're dealing
  834. 25:58specifically with the bank ID. I'll put
  835. 26:00in the shared private key that we
  836. 26:01created in a moment here. And I also
  837. 26:03want to have dynamic bank ID set to
  838. 26:05false. This is just my preference right
  839. 26:07now because I want to have multiple
  840. 26:09projects sharing the same memory because
  841. 26:11the projects are related. If you wanted,
  842. 26:13you could have a different bank created
  843. 26:15for every single agent, which I'll talk
  844. 26:17about a little bit more later. You just
  845. 26:18need to then change your private key,
  846. 26:20which I'll do now, and then click save.
  847. 26:21And now we can move over to Codex.
  848. 26:24So, if we go to Codex settings and then
  849. 26:26go into hooks, we can see that we have
  850. 26:28three hooks that need review. So, these
  851. 26:30are the lifestyle hooks that were
  852. 26:32automatically pulled from the Hindsight
  853. 26:33configuration file. The hooks do three
  854. 26:35things. They automatically initialize
  855. 26:37memory, they recall relevant context,
  856. 26:40and they retain the completed session.
  857. 26:42If this is the first time you've
  858. 26:43installed it, this might look a little
  859. 26:44bit different. But like I mentioned, I'm
  860. 26:45updating this from the previous version,
  861. 26:47so I need to re-trust the changed files
  862. 26:50because this can run outside the
  863. 26:51sandbox, so we need to give permission.
  864. 26:53And then now I can quit and reload
  865. 26:55Codex. And alongside the hooks, what was
  866. 26:57also installed was the MCP server for
  867. 26:59Hindsight. So basically what that means
  868. 27:00is if we go over to plugins, we now have
  869. 27:02this Hindsight section installed as a
  870. 27:04plugin that gives Codex even more tools
  871. 27:07that it's able to run to work with
  872. 27:09Hindsight. For example, it helps you
  873. 27:10with bank selection. You can run
  874. 27:12specific actions. There's a whole list
  875. 27:14of available tools that come with the
  876. 27:15MCP, so I recommend checking out the MCP
  877. 27:17server documentation if you want to
  878. 27:19learn more about that.
  879. 27:21Okay, so now that I have it all
  880. 27:22configured, I've trusted all of the
  881. 27:24hooks here, we should be able to give it
  882. 27:26a prompt and have it remember something.
  883. 27:28Please remember that Project Memory Test
  884. 27:29uses purple as its temporary test color.
  885. 27:31All right, so we can see here we have
  886. 27:33these hooks that are enabled. Now if we
  887. 27:34go back to our Hindsight, we can see we
  888. 27:37have eight memories. And now if we go
  889. 27:38back here and click refresh, we can see
  890. 27:39perfect, more memories have appeared.
  891. 27:41And these ones have the context of
  892. 27:42Codex. We can see here the Project
  893. 27:44Memory Test temporary color is purple.
  894. 27:46Okay, so now let's test it inside of
  895. 27:48Hermes. What temporary color did I
  896. 27:49choose for my Project Memory Test? So we
  897. 27:51can see that it triggered Hindsight
  898. 27:53recall and it shows purple as the
  899. 27:54temporary color for Project Memory Test.
  900. 27:56That's perfect. So what just happened is
  901. 27:58I told Codex to remember something, it
  902. 28:00stored that memory inside of Hindsight,
  903. 28:02and then Hermes was immediately able to
  904. 28:04recall that. So now let's test it the
  905. 28:06other way. As a temporary test, can you
  906. 28:07please remember that my favorite animal
  907. 28:09is a lemur. So now we're triggering
  908. 28:11Hermes Hindsight retention. It just
  909. 28:13added a temporary test fact, and if we
  910. 28:14go back here and click refresh, we're
  911. 28:16going to have a few more memories. Now
  912. 28:17we have 21 total memories. So some of
  913. 28:19this is coming from these temporary
  914. 28:21tests that I'm asking. Some of them are
  915. 28:23being created because of just the
  916. 28:24questions I'm asking Codex and Hermes.
  917. 28:26But we can see here is my user's
  918. 28:28favorite animal, which I do love lemurs.
  919. 28:30They're such cool animals. I very much
  920. 28:32enjoyed seeing them in Madagascar. So
  921. 28:34now I'm going to go back to my Codex
  922. 28:36chat and say, "What is my favorite
  923. 28:38animal?" And we can see here it
  924. 28:39immediately pulled in, "Your favorite
  925. 28:40animal is a lemur," noted as a temporary
  926. 28:42test preference. So you can see just by
  927. 28:43having these basic conversations, this
  928. 28:45information is beginning to expand quite
  929. 28:47a lot. We now have 22 memories in here,
  930. 28:49and this is just the beginning. We're
  931. 28:51going to see experiences appear here.
  932. 28:52Under observations, here is also where
  933. 28:54we can get into that filtration by tags.
  934. 28:56So, you can search, but we can also
  935. 28:57filter by for Harness Hermes, and we can
  936. 29:00see all of the memories that were
  937. 29:01created by Hermes specifically. We can
  938. 29:03clear that, and we can switch over to
  939. 29:04Harness Codex, and we can see the
  940. 29:06memories that were created specifically
  941. 29:07by Codex. So, this is where, going back
  942. 29:09to that configuration, you can think of
  943. 29:11more tags that you would like to have
  944. 29:13here. Hindsight's going to continue
  945. 29:14creating those free-form entities, but
  946. 29:16you can also structure your own data in
  947. 29:19a way that you want to be able to filter
  948. 29:20by in the future.
  949. 29:27So, now that we have some memories in
  950. 29:28here, we can also run something like
  951. 29:29reflect, which we can do either directly
  952. 29:31from in here, or we can do from Hermes
  953. 29:33itself. So, I can ask Hermes, for
  954. 29:35example, "Can you please reflect on my
  955. 29:36workflow concisely?" And we can see here
  956. 29:38that it's running Hindsight reflect. And
  957. 29:40this is where it goes through and
  958. 29:41autonomously gathers evidence and
  959. 29:43reasons through the overall bank to give
  960. 29:45you a better contextual response. So,
  961. 29:47this can take a little bit longer. I
  962. 29:49have this set up on a slightly more
  963. 29:50powerful model, but we can see here,
  964. 29:51"Your workflow is durable memory first.
  965. 29:53Hindsight holds cross-session facts,
  966. 29:55decisions, and all this information."
  967. 29:57So, this is a good observation on how my
  968. 29:59system is currently working. And we can
  969. 30:01see that that reflection was now stored
  970. 30:03as an observation. So, this is where the
  971. 30:05agent gets a little smarter as it
  972. 30:06continues working, as it learns from my
  973. 30:08process and what I'm hoping for. And
  974. 30:10there's honestly so much more that we
  975. 30:12can do with this. Every conversation,
  976. 30:14every message, every chat we have with
  977. 30:16any agent that's connected to this
  978. 30:18shared memory bank is going to operate
  979. 30:19on the same memory layer, and then
  980. 30:22Hindsight will operate as the engine
  981. 30:23that's going to consolidate knowledge in
  982. 30:25different patterns and preferences that
  983. 30:27helps each agent that you connect to
  984. 30:29understand you and what you're working
  985. 30:31on a little bit better. So, that's
  986. 30:32pretty cool. This could be done for
  987. 30:34Claude Code, for Codex, for Gemini, for
  988. 30:36any agent that you want, for Hermes, for
  989. 30:38Open Claw, and it's all sharing this one
  990. 30:40single user profile, a global memory
  991. 30:43system.
  992. 30:45Okay, this is me from the future again.
  993. 30:47I now have worked with Codex and Hermes
  994. 30:50to produce tons of memories here over
  995. 30:52the last little while. This is what it
  996. 30:53looks like, which is pretty awesome. And
  997. 30:55can now show you a new feature that came
  998. 30:57in with version 9, which is knowledge
  999. 30:58pages. So we can see here on the side I
  1000. 31:00have no knowledge pages yet. I can click
  1001. 31:01create my first page. So basically what
  1002. 31:03happens is we have all of the memories
  1003. 31:04operating in the background. The
  1004. 31:05knowledge pages are projections from
  1005. 31:07that data that automatically update over
  1006. 31:09time. So there's more information here
  1007. 31:11on why it works and how to get it going.
  1008. 31:12And I do want to mention that this is
  1009. 31:13different than the LLM wiki I've talked
  1010. 31:15about in previous videos because this is
  1011. 31:17all automatically built and projected
  1012. 31:19from agent memories, which means it
  1013. 31:21doesn't have a true trust layer built
  1014. 31:23into it like I talk about in my LLM wiki
  1015. 31:25update video. This is instead a way for
  1016. 31:27you to help produce mental models that
  1017. 31:30automatically get projected from real
  1018. 31:31files and it gives you an ever evolving
  1019. 31:34summary of components, concepts,
  1020. 31:36conventions, decisions, current
  1021. 31:37initiatives. And for me because I'm
  1022. 31:39operating on one bank here, all of these
  1023. 31:41pages that I'll build inside of the
  1024. 31:43knowledge area can connect my knowledge
  1025. 31:44across related projects. to link them
  1026. 31:47specifically by particular projects, I
  1027. 31:48could do that as well. But this is
  1028. 31:50effectively agent maintained working
  1029. 31:52context, not a replacement for my human
  1030. 31:54reviewed documentation like I have in my
  1031. 31:56Obsidian system. So why don't we try
  1032. 31:58building one?
  1033. 32:00I'm going to try and create a new page
  1034. 32:01here that's going to summarize my agent
  1035. 32:04memory philosophy with the query of what
  1036. 32:06is the method of operating with this
  1037. 32:07Hindsight memory bank for Hermes and
  1038. 32:09Codex agents, the two that I have
  1039. 32:10connected here. So you can see it's
  1040. 32:11generating content. We can pull in the
  1041. 32:13prompt right here. We can open the file
  1042. 32:15and we can get more details on the
  1043. 32:16configuration and how it's automatically
  1044. 32:19refreshed over time. And we can tweak
  1045. 32:20all of the configuration and we can see
  1046. 32:22the history here. There we go, it just
  1047. 32:23finished. So we can see that the
  1048. 32:25operating philosophy is to use Hindsight
  1049. 32:27as the shared external memory provider,
  1050. 32:29not as the harness or model. It has my
  1051. 32:31understanding of the bank boundary that
  1052. 32:33we just set up today and some details on
  1053. 32:35how we would have a normal session flow.
  1054. 32:37So basically, what this has done is it's
  1055. 32:38taken all of the memories of everything
  1056. 32:40that I've talked about so far and
  1057. 32:42extracted from those 33,000 memories a
  1058. 32:44particular format of the conversations
  1059. 32:46I've had with Codex and Hermes to
  1060. 32:48understand how I want to operate. It
  1061. 32:51also default built in some of these core
  1062. 32:53concepts, initiatives, and enhancements.
  1063. 32:54So, these are something that I could
  1064. 32:56modify and update over time. That's all
  1065. 32:58being automatically projected from the
  1066. 32:59memories I already have in my memory
  1067. 33:01bank. So, I think it's pretty cool that
  1068. 33:03we can have this system built here.
  1069. 33:04Again, I don't personally think at the
  1070. 33:06moment that this will replace the LLM
  1071. 33:08Wiki that I'm building in Obsidian
  1072. 33:09because that has a much greater trust
  1073. 33:11layer and approval process of what makes
  1074. 33:13it into the memory. But, I talk about
  1075. 33:15that more in my other video if you want
  1076. 33:16to learn how this system can work
  1077. 33:17synergistically with the one we've just
  1078. 33:19set up here and with the knowledge pages
  1079. 33:21that plug into my existing LLM Wiki.
  1080. 33:28We now have a single memory system that
  1081. 33:30connects multiple agents together. But,
  1082. 33:32this is just one layer in the memory
  1083. 33:34stack. An automated system that's in the
  1084. 33:36control of your agent. We still need a
  1085. 33:38trusted human-in-the-loop knowledge
  1086. 33:40system that helps combat AI errors and
  1087. 33:42hallucinations. That's what we'll get
  1088. 33:43into in the next video. We're building a
  1089. 33:45trusted Wiki in Obsidian, an agentic
  1090. 33:47librarian that manages your trusted
  1091. 33:49knowledge separate from your automated
  1092. 33:50memory system. A reminder to check out
  1093. 33:52the free Patreon article that I'll link
  1094. 33:53in the description and also that members
  1095. 33:55get access to the hindsight memory kit
  1096. 33:57I've put together to help you set up
  1097. 33:59your system more easily. If you found
  1098. 34:00this video helpful, please like and
  1099. 34:01subscribe. I really appreciate it.
  1100. 34:03Thanks again for watching and I will see
  1101. 34:04you in the next video.

About this transcript

This page contains the full transcript of Multi-Agent Memory? 🧠 Full Hindsight Guide (Hermes + Codex) by Wanderloots, generated from the public captions YouTube serves with the video. The transcript has 7,726 words across 1,101 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 choose a caption track available on the video.

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, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.