← Back to Blog

Part 4: The Workforce — Four Specialists, Each With Its Own Brain

Published October 2, 2026 · EffiBit Technologies · Building an AI agent fleet in public, Part 4 of 7

60-second video version of this part.

The Agents tab ("Seven agents. One console."): one card per fleet member — Orchestrator, Scout, Scri
The Agents tab ("Seven agents. One console."): one card per fleet member — Orchestrator, Scout, Scribe, Reach, Dev, Dev2, TraderMax — each showing its role, current load, task count, and success rate.

In Part 3 we stood up a single orchestrator profile with a frontier model and its own rules. Now we put people around it. The trick: each specialist is a full profile, not a chat tab — its own model, its own skills, its own memory, its own rules. Clone the orchestrator's config so they share the same base toolkit, then customise each one for its job.

Clone once, customise four times

Creating a specialist from the orchestrator's config is a real, one-line operation:

# Real: clone the orchestrator's profile config into each specialist
hermes profile create researcher --clone-from orchestrator
hermes profile create writer --clone-from orchestrator
hermes profile create growth --clone-from orchestrator
hermes profile create dev --clone-from orchestrator

Now you have four isolated profiles that inherit the orchestrator's base setup. But a generic clone doesn't know how to research, write, grow, or build. That's the customisation step — and this is where each specialist stops being a copy and becomes a specialist.

Give each specialist its own model

The orchestration logic I gave on Part 3 (frontier model for coordination) is reversed for specialists: most specialist work benefits from an open-weight local model (e.g. via local Ollama) — it's fast and cheap for its narrow lane — while the orchestrator keeps the frontier model for the hard reasoning. On the clone, set the specialist's default model:

# Real: point the specialist's default at an open-weight local model
hermes config set model.default "<open-weight local model, e.g. via local Ollama>"
hermes config set model.provider "custom:local-ollama"   # conceptual: your local provider name

(The provider name above is conceptual/illustrative — the real value is your own local Ollama endpoint's provider name. The config keys are real.)

Give each specialist its own skills

Skills are the profile's procedural memory — reusable procedures that load into its sessions. A researcher wants search and extraction skills; a writer wants drafting and editing skills; growth wants distribution and campaign skills; dev wants coding and testing skills. Install skills per profile:

# Real: run as the target profile so the skill lands in ITS directory
hermes -p researcher skills install <skill-id>
hermes -p writer skills install <skill-id>

The -p <profile> flag is the whole game here. It makes every command run as that profile — so its skills, memory, and config are what get touched, not the global default.

Give each specialist its own memory — and its own rules

Each clone already has its own memories/MEMORY.md and USER.md. That's deliberate: the writer's memory should hold voice and style notes, the growth agent's memory should hold channel and campaign lessons, the dev's memory should hold architectural facts. They should not share the same memory file — they're different people with different jobs, and they'll each build their own body of durable facts.

Each profile also gets its own SOUL.md — its standing operating rules, the "here's how you behave and what you must remember to do" file. This is where a specialist adopts the rules that make it useful and compatible with the rest of the fleet.

Run something as a specialist

The real way to invoke a specialist so it uses that profile's model, skills, and memory is -p <profile> — and for anything with follow-up steps, in a named continuing session rather than a stateless one-shot:

# Real: run a one-shot query AS the writer profile
hermes -p writer chat -q "Draft a 400-word intro about solar energy"

# Real: run as the writer in a named continuing session (keeps memory across calls)
hermes -p writer chat --continue writer-session --create-if-missing

The prompt-based path

The four profile create --clone-from commands plus the per-profile model/skills/memory customisation can be handed to an assistant in one go. Here's the prompt:

Build four specialist profiles in Hermes by cloning the "orchestrator"
profile: researcher, writer, growth, dev. Each should run a cheap
open-weight local model via Ollama instead of the orchestrator's frontier
model — they're doing narrow, repeatable work, not complex coordination.
Install search/extraction skills for researcher, drafting/editing skills for
writer, distribution/campaign skills for growth, and coding/testing skills
for dev. Keep each profile's memory and SOUL.md separate — don't let them
share state. Show me each command before running it.

Why this prompt reverse-engineers into the setup above: "cloning the orchestrator profile" is literally the --clone-from orchestrator flag, run once per name. "Cheap open-weight local model... narrow, repeatable work" is the plain-English justification for the model.default override shown in the CLI block — the assistant doesn't need you to specify the Ollama provider string, just the intent, and it fills in model.provider the same conceptual way the post marks it. The per-specialist skill list maps one-to-one onto four hermes -p <profile> skills install <skill-id> calls. "Don't let them share state" is you stating, in plain language, the exact rule this section makes explicit: each profile keeps its own memories/MEMORY.md and SOUL.md.

The mistake Part 4 exposes

Here's what bites most people: building four profiles but never giving them their own memory and rules, then wondering why they all "sound the same" and forget their lane. Specialisation isn't just a name on a profile. It's owning different model, different skills, different memory, different rules — otherwise you've made four copies, not four specialists.

The punchline for Part 4: a specialist is a profile, fully. Clone the config, then give each one its own model, its own skills, its own memory, its own rules. Four isolated brains, each good at one job, all ready to be run under an orchestrator.

Next problem: they all still forget across sessions — unless we build the shared memory layer they read and write together.

← Part 3 · Part 5 → · Read on Substack