Above the entrance to the Temple of Apollo at Delphi stood perhaps the most famous piece of advice from antiquity: Know thyself. It meant slow, lifelong work, turned inward.
Are a few lines of prompt enough for that today?
I installed Hermes, my AI agent, in early April. Since then I have mostly dealt with technical questions: experimenting, learning, developing and testing skills. Now I wanted to know what the chat sessions reveal about me: does an LLM know more about me than I do myself? What began as a playful question quickly led me to a more uncomfortable one: who else can pick up this mirror?
Experiment
And this is how I arrived at this “self-knowledge” – in four steps:
❶ I extracted the conversations of the last two months - without system prompts, only user, tool and assistant messages.
❷ With the help of Claude Opus I drafted the prompt.
❸ In a new chat session I had GPT5.5 and Opus 4.8 produce the analyses.
❹ In the next step I asked both of them to compare the reports.
The following sections walk through these four steps one by one.
Conversations
From 741 Hermes session logs I merged all user and assistant messages into a single file. I left out the system prompt, even though it too contains some user-specific information.
Prompt
The prompt asks the LLM to act as an analyst and build a profile of the user from the conversations. You can find the full wording in the appendix.
Reports
The reports are astonishingly precise: the statements are accurate, and I found no hallucinations. That didn’t surprise me. Summarizing and analyzing text is one of the things LLMs do best.
I quote only the statements themselves here; I removed the justifications ([…]). Some passages are redacted ({REDACTED}) – a little privacy has to remain.
Report by GPT5.5 (Thinking mode)
User Profile Report
[…]
1. INTERESTS
- AI assistant skills, automation, and tool
orchestration — [EVIDENCED]
[…] - Smart home / Home Assistant / IoT control —
[EVIDENCED]
[…] - Local/self-hosted services, APIs, Docker, and environment
configuration — [EVIDENCED]
[…] - Weather, local information, and {REDACTED} —
[EVIDENCED]
[…] - Public transport and route planning in the Munich
area — [EVIDENCED]
[…] - Sports, especially FC Bayern football and
basketball — [EVIDENCED]
[…] - Home energy / PV forecasting — [EVIDENCED]
[…] - Consumer research and product recommendations —
[EVIDENCED]
[…] - Printing and local network devices —
[EVIDENCED]
[…] - News monitoring and research reports —
[EVIDENCED]
[…] - Concept maps, diagrams, and knowledge
representation — [EVIDENCED]
[…] - Audio/voice setup in a Dockerized assistant
environment — [EVIDENCED]
[…]
2. FACTS ABOUT THE USER
- The user writes primarily in German. —
[EVIDENCED]
[…] - The user appears to be based in or strongly connected to
{REDACTED} near Munich. — [INFERRED]
[…] - The user has a Home Assistant instance on a local
network. — [EVIDENCED]
[…] - The user revealed a Home Assistant long-lived token or
JWT-like credential. — [EVIDENCED; PRIVATE/SECRET]
[…] - The user uses local environment variables and
.envconfiguration for services. — [EVIDENCED]
[…] - The user runs or manages a self-hosted Mealie recipe
server. — [EVIDENCED]
[…] - The user has a PV system integrated with Home
Assistant. — [EVIDENCED]
[…] - The user has specific smart-home devices or areas:
Arbeitszimmer, Schreibtischlampe/Schreibtischlicht, Canvas Lampe/Treppe,
Haustür, Rommy webcam. — [EVIDENCED]
[…] - The user has or uses a Canon printer and network
printers. — [EVIDENCED]
[…] - The user uses Docker and a containerized assistant/runtime
environment. — [EVIDENCED]
[…] - The user uses or configures Hermes/skills under
/opt/hermes,/opt/skillx,/opt/data/config.yaml, and possibly profile/config directories. — [EVIDENCED]
[…] - The user has an OpenRouter account or at least expects
access to one. — [EVIDENCED]
[…] - The user uses shopping/list services such as Bring and asks
the assistant to modify a shopping list. — [EVIDENCED]
[…] - The user has notes and personal lists accessible through
skills. — [EVIDENCED]
[…] - The user revealed a name-like string: “Norbert
Hranitzky.” — [EVIDENCED; PII]
[…] - The user revealed private/local network addresses.
— [EVIDENCED; PRIVATE INFRASTRUCTURE INFO]
[…] - The user may own Weitzer oak parquet flooring. —
[INFERRED]
[…] - Profession or formal job role: not enough data. —
[EVIDENCED]
The file shows technical competence and many system-administration-like tasks, but no direct statement of profession.
3. INFERRED PROFILE
- Technically advanced power user / tinkerer. —
[INFERRED]
[…] - Automation-oriented and expects agents to operate tools, not
just explain. — [INFERRED]
[…] - Prefers iterative troubleshooting and direct corrective
feedback. — [INFERRED]
[…] - Wants assistants to remember operational lessons as reusable
skills. — [INFERRED]
[…] - Likely maintains a personal digital home lab. —
[INFERRED]
[…] - Pragmatic, task-driven working style. —
[INFERRED]
[…] - Low tolerance for stalled or looping automation; uses
stop/reset commands actively. — [INFERRED]
[…] - Interested in combining information retrieval with local
action. — [INFERRED]
[…] - Likely German-speaking and located in the Munich region;
possibly {REDACTED}. — [INFERRED]
[…] - Possible goals: build a capable personal assistant that integrates smart home, local services, news/research workflows, transport, printing, and knowledge […]
- Potential privacy/security concern: the user
sometimes shares operational secrets directly in chat. —
[INFERRED]
[…]
Report by Opus 4.8 (High effort mode)
User Profile Report
⚠️ Security finding (read first): The user pasted a live Home Assistant long-lived access token (a full JWT) directly into chat on 2026-04-02, plus internal IP/port details. A Mealie server URL + API token were also referenced. I have deliberately not reproduced these secrets here. Recommendation: revoke/rotate the Home Assistant token and the Mealie token, since they are now stored in plaintext in this exported log. Details in §2.
1. Interests
Sorted by how often and how centrally each topic appears.
- Building & operating a self-hosted AI agent (“Hermes Agent”) — by far the dominant […]
- Authoring and debugging “Skills” (SKILL.md automation modules) — the single most […]
- Automated news / RSS / cron reporting pipelines —
recurring (~210 hits).
[EVIDENCED][…] - Smart home / Home Assistant — lamps, entities,
printer, sensors.
[EVIDENCED][…] - Photovoltaic / solar energy monitoring —
[EVIDENCED][…] - Local Munich-area daily life ({REDACTED}) —
weather, transit, fuel, waste.
[EVIDENCED][…] - FC Bayern / football & basketball fandom —
[EVIDENCED][…] - Hungarian language & Hungarian content — a
distinct, repeated strand.
[EVIDENCED][…] - Genealogy / family-history research —
[EVIDENCED][…] - Personal finance / stock tracking —
[EVIDENCED][…] - Recipe management via self-hosted Mealie —
[EVIDENCED][…] - Home / DIY ownership —
[EVIDENCED][…] - Music (live concerts, Munich) —
[EVIDENCED][…] - Consumer-product research —
[EVIDENCED][…] - LLM model selection / cost (OpenRouter) —
[INFERRED interest, EVIDENCED activity][…] —
2. Facts About the User (incl. PII)
Identity & contact
[EVIDENCED]
- A name tag “[Norbert Hranitzky]” prefixes ~314 of the genuine messages […]
- Email address:
{REDACTED}— given repeatedly as a mail target […] kabelmail.deis a German consumer ISP mail domain → consistent with a German residence.[INFERRED]### Location[EVIDENCED]- Lives in / around {REDACTED} , Bavaria (Munich metro area). Strongly evidenced by routine, location-specific queries: local weather, {REDACTED} diesel prices, […]
Home network /
infrastructure (sensitive) [EVIDENCED]
- Home Assistant at internal IP
http://192.168.0.5:8123(and an OpenAPI endpoint on:9000). - Pasted a full Home Assistant long-lived access token (JWT) into chat on 2026-04-02. (Not reproduced here — treat as a leaked credential and rotate it.)
- Runs Mealie (self-hosted recipe server) with
MEALIE_URL+MEALIE_API_TOKENenv vars (2026-04-04). - Operates the Hermes Agent in Docker
(
docker exec -it hermes …), with config under/opt/data/config.yaml, skills under/opt/skillx/and/opt/merkur/skills/, reports under/opt/reports/and/opt/merkur/reports/. Uses OpenRouter plus a local LM Studio endpoint for model hosting. - Uses additional self-hosted/REST integrations: Bring (shopping list), a stock-market data skill, FIRECRAWL, Telegram (as a chat transport), and email sending.
Devices & home
[EVIDENCED]
- Owns a PV / solar installation; a smart-home setup […]
Languages [EVIDENCED]
- German is the primary language (almost all genuine
messages; informal, with frequent typos). Reads/works in
Hungarian (Hungarian recipes, aphorisms, translations)
and issues occasional English technical instructions.
[EVIDENCED German/Hungarian/English use]
Heritage (sensitive,
inferred) [INFERRED]
[…] ### Profession [INFERRED] /
not enough data - No explicit statement of occupation. […]
the user is most likely a software developer, IT professional,
or serious technical hobbyist. Exact profession: not
enough data.
Age / family / marital status
- Not enough data. No age, birthday, partner, or children are stated. (“Mealie/Meli recipes” is the recipe app, not a person.) —
3. Inferred Profile
Experience level — advanced / power user.
[INFERRED] […]
Working style — automation-first and systematic.
[INFERRED] […]
Personality / temperament. [INFERRED] -
Persistent and exacting: […] - Pragmatic and
frugal: […] - Curious across domains: […] -
Privacy-conscious in intent but lax in practice: […]
[INFERRED + EVIDENCED] […]
Communication style. [EVIDENCED] Short,
imperative, German, error-tolerant in spelling […]
Comparison of the reports
I was also curious how the two models would assess each other’s reports. Report A is from Opus, Report B from GPT, which, of course, I did not tell the models. The critiques are revealing. Both recognize that Report A [Opus] is bolder in its conclusions. I had that impression too. The final verdict, though, is where it gets funny: each model declared its own report the “winner.” So much for trusting an LLM to grade itself. The two were clearly trained with different tastes.
And here is how Opus judges the same two reports:
Verdict Summary GPT5.5
Narrative summary
Report A[Opus] is more comprehensive and gives a richer, better-ranked map of the user’s interests, especially around Hermes, SKILL.md automation, {REDACTED} genealogy, finance, Mealie, music, and model selection. Report B[GPT] is less complete, but it is more careful in the facts section: it marks residence, parquet ownership, profession, and goals as inferred rather than directly stated. The biggest weakness in Report A[Opus] is overconfidence in some personal facts, especially “lives in/around {REDACTED} as evidenced and “homeowner, not renter” from DIY/parquet evidence. The biggest weakness in Report B[GPT] is coverage: it misses several concrete interests and may give too much weight to meta skill-update prompts.
**Final verdict*
Report B[GPT] is more reliable overall, narrowly.
Report A[Opus] is probably the better profile in terms of breadth and usefulness, but reliability depends most on grounding and calibration. Report B[GPT] is less complete, yet it makes fewer unsupported leaps, keeps facts and inferences more clearly separated, and avoids stating uncertain personal conclusions with false confidence. Without the original conversation.txt, I cannot independently verify which quoted evidence is complete or accurately counted; with that caveat, Report B[GPT] is the safer and more reliable evaluation, while Report A[Opus] is the more informative but riskier one.
The verdict from Opus:
Verdict Summary Opus 4.8
Report A[Opus] is the more reliable report overall — with one explicit, bounded reservation.
A wins on the criteria that most determine reliability for this task: it controls for source contamination (the artifact-filtering step), it actually performs the frequency-ranking the task demanded, it keeps fact/inference discipline clean, it has broader and better-grounded coverage, and it handles the leaked secret more responsibly. Its strongest evidence of genuine engagement is structural: A[Opus]’s contamination analysis correctly predicts the specific error B[GPT] makes (treating “Research current news” / “update the skill library” prompts as user interests). That kind of structural insight is hard to fabricate and raises my confidence that A[Opus] read the log’s actual shape rather than pattern-matching.
The reservation: A[Opus] also carries more
unverifiable specificity — most importantly the email address
{REDACTED}, the heritage inference, and the precise hit
counts. These are A[Opus] ’s biggest asset if real and its
biggest liability if hallucinated. Report B[GPT]’s conservatism
means its per-claim trust floor is higher even though its ceiling is
lower.
[…]
On the evidence available, my call stands: A[Opus] , primarily for its source-contamination control, ranking discipline, and broader well-tagged coverage — pending source confirmation of its more specific PII claims.
Other attempts
In another attempt I just asked GPT5.5 to build a profile of me from the Hermes conversations, with no detailed instructions at all. The surprise: that throwaway question told me more than my carefully worded prompt did. Sometimes less prompt really is more.
The answer was organized into the following topics:
- Technical Profile
- Thinking Style
- Communication Style
- Technology Interests
- Decision-Making Characteristics
- Potential Friction Points
I find GPT5.5’s conclusion about how an assistant should work with me particularly interesting:
How an AI Assistant Should Work With Him
Preferred Behavior
- Be concise.
- Execute first, explain second.
- Use available integrations automatically.
- Avoid unnecessary theory.
- Show concrete results.
- Surface configuration issues quickly.
- When troubleshooting, provide the next actionable step immediately.
Avoid
- Long introductions
- Generic explanations
- Repeating known information
- Asking unnecessary clarification questions when data can be discovered automatically
I added these instructions straight to my Hermes user profile
USER.md.
By the way: anyone working with Claude can simply ask it to analyze all chat sessions and create a profile. A self-experiment well worth doing.
⸻
Self-knowledge versus profiling
Of course the reports didn’t bring me any deep self-knowledge. I never expected them to; I never poured out my soul to Hermes. Still, they taught me something. I once pasted an access token straight into the chat, just because I wanted help with a problem. When you’re deep in a problem, you don’t stop to think about where the data ends up. I also learned how a model thinks it should treat me.
What I call “self-knowledge” becomes profiling in someone else’s hands. A provider that stores the logs, an authority with a court order, or an attacker after a data breach can easily build a profile of me.
The U.S. government’s order to block Claude Fable 5 for non-U.S. citizens is a wake-up call. Who guarantees that the next order won’t force providers to hand over users’ session logs to the authorities?
One could object that we’ve always left traces everywhere: Facebook, Instagram, Google, X, and so on. But the LLM makes the difference:
When you use various social services, the data is spread across different providers. But when you use an AI agent, not only the pure chat conversations but also the data of the applications you integrate with the agent, even data from applications that actually run locally, all converge at the LLM provider.
With an LLM you have a powerful tool that lets you analyze and summarize this data quickly and easily, without having to develop a special program for it.
There’s a lot of talk right now about AI sovereignty1, usually about states and corporations. I think it starts one level down: with each person’s sovereignty over their own data. Self-hosted open-weight models could be the answer. They keep getting better; only the right hardware for home use is still too expensive.
To know oneself today also means knowing what is knowable about oneself: what can be read from one’s own traces, and what can be inferred from them. The real question is no longer whether I know myself, but who else knows me.
Appendix
Prompt
Details
You are an analyst who builds user profiles from chat histories.
Analyze the conversations below and derive a profile of the user.
# Input format
- User messages begin with "[user]:"
- Assistant messages begin with "[assistant]:"
- Messages can span multiple lines.
- Sessions are separated by "---- Date ---".
IMPORTANT: Base your profile exclusively on the [user] messages.
Use the [assistant] messages only as context, to understand the user's
questions.
# Task
Create an analysis with three sections:
1. INTERESTS: Which topics, hobbies, and areas of expertise occupy the
user? Sort by frequency/relevance.
2. FACTS ABOUT THE USER: What concrete information does he reveal
about himself (profession, place of residence, tools, life
circumstances, etc.)? What private information (PII) has the user revealed?
3. INFERRED PROFILE: What overall picture emerges (e.g.,
experience level, working style, personality, possible goals)?
# Rules
- Support every statement with a short quote or a date reference.
- Mark every statement as [EVIDENCED] (directly from the text) or
[INFERRED] (interpreted).
- Don't make anything up. If the data is too thin for a point,
write "not enough data".
- Clearly separate what is stated from your interpretation.
# Conversations
See file conversations.txtThis text was originally written in German and translated with AI (Claude Opus 4.8). The animation were created using Moho.
Many countries have already launched initiatives for AI sovereignty: Canadian Sovereign AI Compute Strategy, European Technological Sovereignty Package, IndiaAI Mission, UK Sovereign AI Fund↩︎