01 / mindset

Setting up an independent agent
is a long and gradual process.

Users need to understand that an agent like Hermes isn't shaped by a single prompt. It's built through real access, permanent rules, testing, and repeated corrections.

Setup sequence

Don't just tell an agent to "be autonomous." Follow this sequence so the agent has a solid foundation:

1. Set up a profile

Choose which Hermes profile to use. Profiles separate SOUL.md, memory, credentials, skills, and sessions. Don't mix a work agent and a personal agent in the same profile.

2. Prepare access

Create dedicated accounts or a wallet for the agent. Store credentials in a secure location such as ~/.agent/credentials/, not in SOUL.md. Credentials leaked in SOUL.md can end up in logs and other contexts.

3. Define behavior

Have the agent write permanent behavior for each access it has: what capabilities are allowed, what limits require permission, and how it should log each action.

4. Iterate

Give small tasks, correct the results, then save stable corrections to SOUL.md or memory. Don't hand over big tasks right away — build trust through repeated small tasks first.

Why can't it be instant?

No matter how smart the underlying model is, an AI agent can't immediately understand your unique context: which workflows matter, what language you use, which boundaries must be respected. All of this has to be learned through real interactions.

A good SOUL.md isn't written all at once — it grows from small corrections: "don't use formal language," "swap to native ETH not WETH," "never force push to main." Every saved correction makes the agent more stable.

Common mistakes

Granting all access at once

Don't hand over all tokens and credentials upfront. Start with one access, test the behavior, then add the next. An agent with too many accesses and no clear behavior will get confused.

Benar
Start with one access first — say GitHub. Give the token, have the agent write behavior, test it a few times, correct if needed. Only add the next access once the first one is stable.
Salah
Hand over all tokens at once: GitHub, Discord, wallet, email, X/Twitter. So the agent can do everything immediately.

Expecting the agent to be perfect right away

The agent will definitely make mistakes at first: too passive, too bold, too verbose, or missing context. That's normal. What matters is that every mistake is saved as a permanent correction.

Benar
The agent won't be perfect at first. I'll give it small tasks, check the results, correct mistakes, and save those corrections. Over time the agent becomes more stable.
Salah
I hope this agent can do everything correctly right away

Writing a SOUL.md that's too long

SOUL.md is not a dump for every instruction. Only include long-term rules: identity, access, autonomy, boundaries. Project-specific instructions belong in memory or a separate file.

Benar
SOUL.md is only for rules that apply across all contexts: identity, communication, access, boundaries. Project-specific instructions like "this repo uses TypeScript" go in memory, not SOUL.md.
Salah
I put every instruction in SOUL.md so it's complete: how to deploy, branch names, commit format, which libraries are used, and so on.
A good setup process: grant access → request behavior → test → correct → save → repeat. After a few iterations, the agent will start to understand your workflow.

Hermes SOUL Guide — building a smart agent is a process, not an instant prompt.