Hermes Agent just wrote into his memory in this round of dialogue, but the next sentence still seems to be unremembered, which is usually not a memory tool failure, but an official design. The documentation clearly states that the memory will be injected into the system prompt in the form of a frozen snapshot at the beginning of the session, and will not be hot-updated to the same session in the middle of the session. Changes are placed immediately, but they don't enter the system prompt until the next new session starts.
What does this mean?
- You add or delete memories in the current session, and the tool returns real-time results.
- But the model has already gotten the old system prefix this round, and will not re-spell a hint in the middle.
- If you want new memories to really affect the default answers, the safest thing to do is to start a new session.
Why Hermes Agent is doing this
The official explanation is to preserve the prefix cache and reduce the performance loss caused by rebuilding long system prompts every round. So it's a performance and consistency trade-off, not a bug.
In a word: the memory tool is changed to disk, and the current session uses a startup snapshot. If you want to see the new memory take effect, just open a new session.
Official open source address: https://github.com/NousResearch/hermes-agent; Official document entry: https://hermes-agent.nousresearch.com/.