{"slug": "i-let-an-ai-agent-interview-me-then-it-wrote-a-file-that-describes-how-i-think", "title": "I Let an AI Agent Interview Me. Then It Wrote a File That Describes How I Think", "summary": "A developer installed the Hermes Agent expecting a standard AI tool, but within 30 minutes the agent interviewed them about their preferences and autonomy limits, then wrote a persistent file that permanently alters how the agent behaves around them. The experience revealed that AI agents represent a fundamentally different category of tool compared to reactive chatbots like ChatGPT or Claude, as Hermes runs as a long-lived process with persistent memory, reusable skills, and a self-improvement loop that builds a model of the user over time.", "body_md": "*This is a submission for the Hermes Agent Challenge*\n\nI installed Hermes Agent for the first time expecting \"ChatGPT with tools.\"\n\nThirty minutes later it was interviewing me. How much pushback I want. Whether I prefer the \"what\" or the \"how.\" How autonomous it should be. What principles should never be violated.\n\nThen it wrote a file that permanently changes how the agent behaves around me.\n\nThat was the moment I realized AI agents are a completely different category of tool.\n\nI have been writing code for years. I have used ChatGPT. I have used Claude. I have tried GitHub Copilot. But I had never actually run an AI agent on my own machine.\n\nI kept seeing the word \"agent\" everywhere. I kept scrolling past it. Then this challenge showed up and I figured it was time to stop scrolling and actually try one.\n\nThis is what happened.\n\nBefore I get into the setup, let me answer the question I had before I started. What is an AI agent, and how is it different from the AI tools most developers already use?\n\nChatGPT, Claude, Gemini: you type, they respond. Some have memory. Some have tools. But they are still fundamentally reactive. You prompt them. They answer. The session ends and they wait for the next message.\n\nHermes is different in three specific ways.\n\nFirst, it runs as a process on your machine or a server, not in a browser tab. You install it once and it stays running. Many people run it on a VPS or home server and talk to it from Telegram or Discord. It is not tied to your laptop.\n\nSecond, it has one brain across many interfaces. Whether you are in the terminal, on Telegram, or in Discord, the same memory, skills, and preferences are active. You are not starting fresh across different surfaces. The agent is singular even if the ways you reach it are many.\n\nThird, it has persistent memory across sessions. It can recall things you told it weeks ago when they are saved into its memory files or history. It builds a model of who you are over time: your preferences, your projects, your environment.\n\nBeyond those three, Hermes is built around five core pillars: persistent memory, reusable skills it creates from experience, a `SOUL.md`\n\npersonality layer, scheduled cron automations, and a self-improvement loop that runs across all of them. You do not bolt these on as optional plugins. They are built into the runtime by default, and you refine them rather than assembling them from scratch.\n\nIt also runs terminal commands, reads and writes files in its environment, browses the web, and sends messages across platforms like Telegram and Discord. It is less like an AI you chat with and more like a process that works alongside you.\n\nI came to Hermes because of this challenge. I wanted to try an AI agent properly for the first time and this was the push I needed.\n\nBut I already had Claude Code installed. And I had set up OpenClaw before. So the question worth answering is: how does Hermes actually compare to the tools you might already know?\n\nI already use Claude Code. So this is less about choosing between them and more about understanding where each one actually sits.\n\nClaude Code is a deep coding agent. It lives inside your projects. You cd into a repo and it reads the whole codebase, writes and refactors code across multiple files, runs tests, and manages git. It is very good at that specific job.\n\nIts memory is project-centric. It reads a `CLAUDE.md`\n\nfile at the start of each session for project context and saves session history locally. That works well inside a repo. What it does not have is a user-level learning loop. It does not build a model of who you are across sessions. It does not create reusable skills from experience automatically. If you want those things, you add them via plugins.\n\nHermes is the inverse. It does not live inside a repo. It runs as a long-lived process on your machine or server. It builds a model of you over time. It can create reusable skill documents from repeated workflows and feedback. It runs scheduled jobs, sends messages, browses the web, and handles workflows that have nothing to do with code.\n\nA useful mental model: Claude Code is a contractor who sits beside you at the desk while you are working. When you close the laptop, the contractor goes home. Hermes is the agent that keeps running after you walk away. Different jobs. Different design entirely.\n\nThere is also the cost. Claude Code requires at minimum a $20 per month subscription. Claude as a chat product has a free tier. The terminal coding agent does not. Hermes is open source and free to install. You bring your own API key and pay only for tokens you actually use, alternatively you can also install local LLM to run with it.\n\nMany users who run both treat them as complementary. Claude Code inside the repo for serious coding work. Hermes outside the repo for everything else: automations, scheduling, research, and memory that follows you across projects and sessions.\n\nI had set up OpenClaw before starting this challenge. I got it running. But I never got far with it.\n\nThe difference between the two comes down to philosophy.\n\nOpenClaw is gateway-first. It focuses on connecting AI to messaging platforms like Telegram and WhatsApp, then letting you assemble your own flows, tools, and behaviors. That is genuinely useful. But the agent logic is something you define yourself. You wire up the pieces.\n\nHermes is agent-first. Memory, user modeling, skill creation, cron jobs, and long-running workflows are already built into the runtime. You refine the system rather than assembling it from scratch.\n\nRecent OpenClaw versions have added their own memory systems, so memory alone is no longer the main difference. The bigger distinction is how Hermes treats skills and long-term procedural learning as part of the core architecture rather than something you configure separately.\n\nThat difference became much clearer once I started building the `SOUL.md`\n\nworkflow.\n\nInstallation was one command. I used the curl installer, which is the recommended path on Mac. It tracks the main branch directly, so you get the latest version rather than waiting for a tagged pip release.\n\n```\ncurl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash\n```\n\nIt runs through checks and installs all the required libraries automatically. Once that finishes, an interactive setup wizard starts.\n\nThe wizard asks how you want to set up Hermes. I chose Quick Setup to keep things simple.\n\nFrom there it walks you through four decisions:\n\n**Provider**: I chose OpenRouter. One API key gives you access to hundreds of models across multiple providers. You are not locked into one company.\n\n**Model**: This is where I hit a small snag. I wanted `google/gemini-3-flash-preview`\n\nbut it was not in the list.\n\nThe fix was straightforward: I chose \"Custom Model\" and typed the model string in manually.\n\n```\ngoogle/gemini-3-flash-preview\n```\n\n**Terminal backend**: I selected \"Keep current (local)\" since I wanted to run it directly on my laptop.\n\n**Messaging platform**: I skipped this for now.\n\nThat completes the quick full installation.\n\nYou can always connect Telegram, Discord, or other platforms later with:\n\n```\nhermes setup gateway\n```\n\nSetup complete. I reloaded my shell:\n\n```\nsource ~/.zshrc\n```\n\nNote: Mac defaults to zsh. Use `source ~/.zshrc`\n\n, not `~/.bashrc`\n\n.\n\nThen type `hermes`\n\nto start the agent.\n\n```\nhermes\n```\n\nOne note on the model. `google/gemini-3-flash-preview`\n\ncosts $0.50 per million input tokens on OpenRouter. It has reasoning support and handles multi-turn conversation well.\n\nI had just installed Hermes for the first time. Before I could use it for anything serious, I realized I needed to do something first.\n\nHermes is only as useful as the context it has about you. Without that context, every session starts generic. It does not know your stack. It does not know how you think. It does not know whether you want a detailed walkthrough or just the answer. You would spend the first part of every conversation re-establishing who you are and how you work.\n\nI did not want that. I wanted to set the foundation properly before building anything on top of it.\n\nWhile reading through the Hermes docs, I found exactly how to do that.\n\nThere is a file called `SOUL.md`\n\n. You store it at `~/.hermes/SOUL.md`\n\n. Without it, Hermes uses a default persona. With it, every session starts loaded with your thinking style, your communication preferences, and your rules for how it should operate around you. Everything that follows builds on top of it.\n\nIt is not a fun first experiment. It is the starting line.\n\nI could have written `SOUL.md`\n\nmyself. But I knew I would write what sounds good rather than what is actually true about how I work. An interview flips that. Hermes asks the questions, I answer naturally, and it picks up things I would not have thought to include.\n\nBut I also knew the interview needed to be guided by what the docs say SOUL.md is actually for. Not tech stack. Not project conventions. Identity, tone, communication style, and how to handle uncertainty and disagreement. So I gave Hermes the docs first and let them shape the questions.\n\nHere is the prompt I used:\n\n```\nPlease read these two reference pages fully before we start: \nhttps://hermes-agent.nousresearch.com/docs/user-guide/features/personality\nhttps://hermes-agent.nousresearch.com/docs/guides/use-soul-with-hermes\nThen interview me to build my SOUL.md. Let the docs guide what you ask and what structure you use for the output.\nAsk one question at a time. Confirm what you understood in one line before moving on.\nWrite the final file to ~/.hermes/SOUL.md. This will be the personality of my primary agent, the orchestrator and first point of contact before any other agents or automations run.\n```\n\nThen I waited.\n\nThe first thing Hermes did was actually browse both reference pages. You can see the `browser_navigate`\n\ncalls in the terminal before it said a single word. It read the docs, confirmed its understanding: \"SOUL.md is the primary identity of the orchestrator, defining tone and style rather than technical project details.\" Then it started.\n\nSix questions in total. Each one identity-focused: the core spirit of the agent, how to handle communication, decision-making under uncertainty, technical standards, hard never-evers, and finally a name.\n\nEach question made me stop and think. These were not surface-level questions. Hermes was asking how I want it to operate, not who I am. I spent real time on each answer before typing. By the end of six questions, I had said things about how I work that I had never written down before.\n\nThe last question I did not expect: does this partner have a name?\n\nI told it: Chief of Staff. Speed over perfection. Ship the core, improve later. One plan, full commitment. Less words, more action.\n\nHermes confirmed and started writing.\n\nIt confirmed that my `SOUL.md`\n\nhad been written. Then it showed me the diff of what changed. The old `SOUL.md`\n\nwas replaced cleanly. What remained was identity, communication, and operating principles only. Exactly what the docs said `SOUL.md`\n\nis for.\n\nI checked on my newly updated SOUL.md:\n\n```\nvi ~/.hermes/SOUL.md\n```\n\nHere is the final file:\n\nThe whole session took about 20 minutes, most of which I spent thinking before each answer.\n\nThe strange part was not that Hermes generated the file. Any LLM can generate markdown. The strange part was recognizing myself in it.\n\nSome of the rules it captured were things I had been doing for years but had never explicitly written down before. Hermes was not just summarizing answers. It was extracting operational patterns from the conversation and turning them into working instructions.\n\nThat was the first moment where this stopped feeling like \"ChatGPT with tools\" and started feeling like something else entirely.\n\nA few things stood out that I did not expect going in.\n\nThe first was that Hermes actually browsed both reference pages before asking a single question. You can see the `browser_navigate`\n\ncalls in the terminal. It did not guess at what `SOUL.md`\n\nshould contain. It read the docs, summarized what it understood, confirmed its interpretation, then started the interview. That is not how a chatbot behaves. That is an agent preparing its approach before executing a task.\n\nThe second was the quality difference between this session and a generic interview prompt. Because Hermes read the docs first, every question was about identity and operating principles, not about tech stack or project workflow. Question 1 asked for the core spirit of the agent. Question 3 asked how it should handle uncertainty and decisions. Question 5 asked for the hard never-evers. None of those would have appeared without the doc reference guiding the structure.\n\nThe third was the naming question. After five questions, Hermes asked: does this partner have a name? That was not something I prompted for. It came from understanding that SOUL.md is an identity, not just a config file. The result, \"Chief of Staff,\" gave the whole thing a weight that a nameless config file would not have had.\n\nThen I saw the diff on the changes for the `SOUL.md`\n\nfile. Hermes had read the docs carefully enough to know those things do not belong in SOUL.md. They belong in AGENTS.md. It made that call on its own without me saying anything about it.\n\nOne more thing I did not expect: running `hermes dashboard`\n\nopens a web interface at `http://localhost:9119`\n\n. Sessions, memory, skills, and cron jobs all laid out in a browser view. After spending the whole time in the terminal, seeing the full picture of what Hermes tracks was the clearest sign that there is a lot more here than what I had touched in a single session.\n\nI started this challenge thinking \"AI agent\" just meant \"ChatGPT with tools.\"\n\nAfter this session, I think the real difference is not intelligence. It is not even continuity. It is **control**.\n\nLet me be honest about what the `SOUL.md`\n\nproject does and does not prove. You could have a similar conversation with Claude or ChatGPT and ask them to summarize your working style. Both have memory features that persist across sessions. So the interview itself is not what makes Hermes different.\n\nWhat makes Hermes different comes down to five things I did not fully appreciate until I started digging in.\n\nYou own everything. The `SOUL.md`\n\nfile lives at `~/.hermes/SOUL.md`\n\non your machine. You edit it directly. You version control it. You know exactly what context the agent is using. With ChatGPT or Claude memory, you are trusting a black box you cannot inspect.\n\nYou are not locked to any model. Today I ran Gemini via OpenRouter. Tomorrow I could swap to Claude Sonnet, a local model running on Ollama, or any other supported model with a simple config change or command. No chat app gives you that. ChatGPT only runs on OpenAI models. Claude only runs on Anthropic models. Hermes wraps around whatever model you choose.\n\nScheduled autonomous tasks run without you. You can set Hermes to run a nightly GitHub sync, send you a morning briefing, or monitor something and alert you via Telegram. These jobs continue running whether you are at your laptop or not.\n\nSome chat apps have started experimenting with reminders and scheduled actions, but Hermes treats long-running automation as part of the core local-agent workflow rather than an add-on feature.\n\nThe value compounds over time. Hermes is designed so completed tasks can become reusable skills, and that loop is part of the default architecture, not a separate plugin you bolt on. You refine it with edits and approvals as you go. After enough sessions in a domain, you start seeing it get faster and more accurate because it is drawing on skills it built from your work.\n\nTerminal, files, browser, and messaging work natively. Running commands on your machine, editing files, scraping a site, sending a message to your Telegram: these are not features of any chat app.\n\nThey are built into Hermes from the start.\n\nThe `SOUL.md`\n\nsession was 30 minutes. But it was not the project. It was the setup before the project. I baked my developer DNA into the agent first: how I think, how I communicate, what I build with, how autonomous I want it to be. Now everything that follows runs on top of that foundation.\n\nThe Chief of Staff is set. What comes next is building on top of it: custom skills for recurring tasks, specialized agents for specific workflows, cron jobs that run without me, and eventually a team of agents where each one has a focused job and the Chief of Staff orchestrates them. None of that is possible without the foundation being right first. That is the point of starting here.\n\nI have not touched the cron jobs yet. I have not built the automations. I have not connected the messaging gateway. All of that comes next. But none of it would feel right without the foundation being set first.\n\nThat is what I did not understand about agents before this. You do not just start using them. You configure yourself into them. Then they start working for you.\n\nOne honest expectation to set: users who run Hermes heavily estimate it takes roughly two weeks of active use before it starts feeling genuinely useful. The memory needs to accumulate. The skills need to build up. The first session is the foundation, not the payoff.\n\nIt stopped feeling like a smarter chat window and started feeling like a system designed to work alongside me over time.\n\nGive it 30 minutes. Set the foundation. See what you build on top of it.", "url": "https://wpnews.pro/news/i-let-an-ai-agent-interview-me-then-it-wrote-a-file-that-describes-how-i-think", "canonical_source": "https://dev.to/freezebrain/i-let-an-ai-agent-interview-me-then-it-wrote-a-file-that-describes-how-i-think-149h", "published_at": "2026-05-31 10:29:32+00:00", "updated_at": "2026-05-31 10:42:32.961992+00:00", "lang": "en", "topics": ["ai-agents", "artificial-intelligence", "ai-tools", "generative-ai", "large-language-models"], "entities": ["Hermes Agent", "ChatGPT", "Claude", "GitHub Copilot", "Gemini"], "alternates": {"html": "https://wpnews.pro/news/i-let-an-ai-agent-interview-me-then-it-wrote-a-file-that-describes-how-i-think", "markdown": "https://wpnews.pro/news/i-let-an-ai-agent-interview-me-then-it-wrote-a-file-that-describes-how-i-think.md", "text": "https://wpnews.pro/news/i-let-an-ai-agent-interview-me-then-it-wrote-a-file-that-describes-how-i-think.txt", "jsonld": "https://wpnews.pro/news/i-let-an-ai-agent-interview-me-then-it-wrote-a-file-that-describes-how-i-think.jsonld"}}