§1The delay started before the task
My new agent was carrying 61 enabled skills and 27 tool schemas before it read the first useful instruction. Its assembled system prompt was about 18,000 characters, while the serialized tool definitions added roughly 47 KB outside that text. A short personality prompt could change its tone, but it could not remove those framework-owned layers.
That did not prove prompt bloat was the only cause of the delay. It proved the profile was not lean. Model speed, provider routing, reasoning effort, retries, network conditions, tool calls, and session state still had to remain in the diagnosis.
A large fixed prompt is measurable overhead. A slow reply is an end-to-end symptom. They are related questions, not interchangeable conclusions.
§2Measure the fixed prompt, not the reply length
I had initially focused on the visible prompt: the identity, style, and instructions I had written for the new profile. The runtime was assembling much more than that. In Hermes, the useful inspection is:
hermes -p PROFILE prompt-size --platform telegram --json
The exact output changes by runtime version and configuration, but the categories matter: base system instructions, enabled-skill index, memory, user profile, platform-specific instructions, tool count, and serialized tool schemas. Measure them together before deciding that the model is slow or that the personality prompt needs another rewrite.
- 01Runtime policyCore behavior, safety, file, memory, and platform instructions.
- 02IdentityThe profile prompt that defines role, tone, and working style.
- 03Skills indexDescriptions of capabilities the model may decide to invoke.
- 04Tool schemasNames, arguments, descriptions, and response contracts.
- 05MemoryDurable facts or retrieved context added for continuity.
- 06ConversationOnly now do the current message and prior turns enter the stack.
§3What the new profile was carrying
I compared the new Telegram profile with the main profile on the same live runtime. The figures below are one diagnostic snapshot from 29 July 2026, not a universal benchmark. Character counts and serialized bytes are useful for comparison; they are not exact model-token counts or billing figures.
| Fixed layer | New profile | Main profile | What it told me |
|---|---|---|---|
| System prompt | 17,852 characters | 27,426 characters | The main profile was heavier on text. |
| Skills index | 61 skills · 6,077 characters | 12,276 characters | The new profile still inherited a broad capability menu. |
| Memory | 0 | 3,950 characters | Memory was not causing the new-profile weight. |
| User profile | 0 | 1,555 characters | Personalization was also not the cause. |
| Tools | 27 schemas · 46,854 bytes | 29 schemas · 49,301 bytes | The tool contract was almost as broad as the main agent’s. |
The useful finding was not “18,000 characters is too many.” It was that a supposedly focused agent had almost the same tool surface as a general agent and dozens of skills unrelated to its immediate job. The profile boundary existed in name, but not yet in capability.
§4The heavier agent felt faster
The main profile had a larger fixed text prompt and still felt faster in use. That was important disconfirming evidence. If prompt size alone explained the experience, the order should have been reversed.
End-to-end latency can also include:
- Model and provider: first-token latency and generation speed vary across models, routes, and current load.
- Reasoning policy: a model asked to deliberate longer may pause before producing visible text.
- Tool behavior: the agent may inspect, select, or call a tool before it answers.
- Retries and fallbacks: an invisible failed attempt can make one successful reply look mysteriously slow.
- Session state: a warm, established session and a new profile may take different paths.
- Gateway and network: Telegram delivery adds another system boundary after model inference.
Measure fixed context, then time one no-tool reply, one deliberate reasoning task, and one tool task separately. Change one variable at a time.
§5A shorter personality does not remove tool schemas
I still wanted the new agent to match the directness of my main one, so a concise identity prompt was useful. It removed ceremonial language, over-explanation, and automatic planning from ordinary replies. That is a behavior change.
It was not a capability change. Rewriting “be concise” cannot unload a media-generation skill, remove a calendar tool, stop an automatic skill seed, or shrink a schema injected by the runtime. Those controls live in the profile configuration and framework. The distinction matters because repeated prompt edits can make the visible instructions shorter while the fixed context remains nearly unchanged.
The public Hermes Agent repository is the appropriate reference for current runtime behavior. My measurements describe my configured profile at one point in time.
§6The lean profile I actually want
A focused Telegram coding agent does not need every capability that a general research assistant might use. Its lean profile should be defined by a job, not by the full list of features the framework can expose.
- One primary job: coding and technical operations from a private Telegram control surface.
- A small default toolset: files, shell, search, and the few remote operations that the job genuinely requires.
- Skills loaded by need: keep recurring coding and verification skills; disable unrelated media, office, social, and publishing skills.
- No duplicate contracts: if two tools reach the same system, choose the one the operator actually uses.
- Minimal durable memory: keep stable preferences and operating boundaries, not a transcript of every successful task.
- Explicit safety boundaries: lean does not mean unguarded. Approval gates and secret handling stay.
- Observable performance: record profile size and simple latency checks after each material change.
I turned those decisions into a reusable lean AI agent profile checklist. It is designed for pruning a profile without accidentally removing the evidence and safety controls that make it trustworthy.
§7Prove the change instead of trusting the new prompt
A successful edit is not “the config saved” or “the gateway restarted.” The profile should be smaller, behave as intended, still complete its core tasks, and return after a restart.
- Capture the before-state with the prompt-size report and a redacted profile inventory.
- Disable one group of unrelated skills or tools.
- Restart only the affected profile or gateway using its supported control path.
- Capture the after-state with the same report.
- Time a direct no-tool answer, a reasoning answer, and one representative tool task.
- Verify the Telegram path, allowlist, model identity, and required tool still work.
- Restart once more and prove the lean configuration persists.
Do not paste bot tokens, provider credentials, private paths, or complete raw configurations into the evidence record. If a bot token reaches a chat, issue, screenshot, or public log, rotate it rather than treating deletion as recovery.
The shortest honest version
- The agent had a broad capability surface before it received any task.
- Prompt bloat was measurable, but it did not explain all perceived latency.
- A personality rewrite changed behavior, not the injected skills and tools.
- The right optimization target is a job-shaped profile with a measured before and after.
- Remove unrelated capability before removing verification or safety boundaries.
§8Questions I would ask first
Does a long system prompt always make an AI agent slow?
No. It is fixed overhead, but model and provider latency, reasoning effort, tool calls, retries, network conditions, and session state can matter more. Measure each layer before assigning cause.
Does rewriting the agent personality remove prompt bloat?
Only partly. It can simplify instructions and behavior. It does not remove tool schemas, skill indexes, memory, platform instructions, or framework policy injected elsewhere.
What should I remove from a slow AI agent first?
Start with capabilities the agent will not use: unrelated skills, duplicate tools, broad memory, repeated instructions, and automatic skill seeding. Keep the tools and safety boundaries required by the actual job.
Should two agents have the same prompt and tools?
Only if they have the same job and authority. A separate profile is most valuable when its model, tools, memory, budget, files, or permission boundary is deliberately different.