Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save owainlewis/fdfd62b17a70113c2eb8716fd985e9e7 to your computer and use it in GitHub Desktop.

Select an option

Save owainlewis/fdfd62b17a70113c2eb8716fd985e9e7 to your computer and use it in GitHub Desktop.
Claude Code vs Hermes

Coding Agents vs AI Assistants (Simple Version)

They're built from the same brick: a model running in a loop. The difference is what's wrapped around it. A coding agent is the bare loop. An AI assistant is that loop plus a "gateway" so you can reach it from anywhere.

The shared core: a coding agent is a loop

Strip away the branding and a coding agent is one simple thing:

a model being called over and over, allowed to call tools, until the job is done.

The model looks at the task, picks a tool (read a file, run a command, search the web), sees the result, then decides the next move. That repeats until it's finished, and then it stops. You drive it, usually from a terminal or IDE.

Claude Code and Codex are this. Same engine, different names.

flowchart LR
    Task[Task / prompt] --> M[Model thinks]
    M --> D{Done?}
    D -->|"no — call a tool"| C[Run a tool]
    C --> O[See the result]
    O --> M
    D -->|yes| F[Finish and stop]
Loading

That cycle in the middle (think to tool to result and back) is the agent. Nothing more mysterious than that.

Add a gateway and it becomes an AI assistant

The bare loop lives in your terminal. You sit at the keyboard and type at it, and when the task is done it stops.

An AI assistant is that same loop, but wrapped in a gateway: a long-running process that plugs it into the outside world. The gateway connects it to chat apps like Telegram, Slack, Discord, and WhatsApp, routes your message in, sends the answer back out, and keeps the session alive between messages so it's always on.

So the simple formula:

AI assistant = coding agent + gateway

The agent is the brain (the loop). The gateway is how you reach it from anywhere, all day, like messaging a person. Hermes and OpenClaw are this.

flowchart TB
    subgraph Surfaces["Reach it from anywhere"]
        T1[Telegram]
        T2[Slack]
        T3[Discord]
        T4[WhatsApp]
    end

    GW["GATEWAY
    routes messages in and out
    keeps the session alive"]

    subgraph Loop["THE CODING AGENT = the loop"]
        M[Model decides] --> C[Calls a tool]
        C --> R[Gets the result]
        R --> M
    end

    Surfaces <--> GW
    GW <--> Loop
Loading

Side by side

Coding agent AI assistant
What it is The bare loop: model + tools The loop + a gateway
Where you use it Terminal / IDE Your chat apps, from anywhere
How it runs You start a task, it finishes, it stops Always on, persistent across messages
Feels like A power tool you operate A teammate you message
Examples Claude Code, Codex Hermes, OpenClaw

The one nuance: Hermes vs OpenClaw

Both are AI assistants (both are "agent + gateway"), open-source and self-hosted. The only difference is which part sits at the center:

  • Hermes (Nous Research, Python) is agent-first. The loop is the star; the gateway is an optional add-on. It also tries to improve itself as it goes.
  • OpenClaw (TypeScript) is gateway-first. The gateway is the star — one long-running process that owns routing, sessions, and state, built to coordinate many agents across many channels.

One-liner to remember:

Hermes wraps a gateway around an agent. OpenClaw wraps an agent around a gateway.

Same Lego bricks, stacked in a different order.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment