If you can only pick one, pick the failure you are willing to own.
Star counts will send you to the wrong production. OpenClaw sits at 388,041 GitHub stars this morning. Hermes Agent sits at 238,242. AutoGen still shows 60,698, and its last feature tag is python-v0.7.5 from September 30, 2025. The successor, Microsoft Agent Framework, has 13,214 stars and shipped Python 1.16.0 two days ago. Rank the field by crowd size and you will adopt a museum while skipping the repo that is actually moving.
Yesterday I mapped three paths: build the runtime around a framework, adopt OpenClaw for reach, or bet on Hermes for compounding. Those paths still hold. The scorecard is how you test them against the failures that show up after the demo. Persistence, recovery, memory, tool discovery, multi-agent support, community, self-improvement, token spend, and the cost of owning the thing. Feature matrices flatten those into checkmarks. Production does not.
Five names keep landing in the same meeting, and they are not the same kind of product. Hermes Agent v2026.8.27, tagged August 27 as v0.20.6, is a Python runtime you operate. OpenClaw’s npm latest and GitHub “latest” tag are v2026.7.1-2 from August 4; the tree is also shipping v2026.9.1-beta.1 as of August 28. LangGraph is 1.2.11 on PyPI, released August 11, at 40,692 stars. CrewAI is 1.15.18, released August 27, at 57,816. Microsoft Agent Framework is Python 1.16.0 and .NET 1.19.0. They can all run useful agent work this week. They do not own the same loop.
What they agree on is narrower than the marketing. Every one of them will persist something. Hermes writes sessions, skills, memory, and checkpoints into durable state with rollback. OpenClaw keeps memory files, skills, and instructions in a workspace, and the last month of releases added crash-recoverable SQLite snapshots and quarantine stores. LangGraph will checkpoint graph state to SQLite or Postgres. CrewAI Flows will persist a Pydantic state object across kickoff(). Agent Framework 1.16.0 even had to stop workflow checkpoints from being mutated outside storage, which tells you the persistence is real enough to grow bugs. AutoGen is the control: it no longer ships this layer at all.
Agreement ends at the process boundary. A checkpointer saves the graph. It does not notice the dead worker, replay a side effect safely, or deliver the last message after the gateway dies between generation and send. That is the runtime question August has been asking since the first Saturday. LangGraph, CrewAI, and Agent Framework give you graph-level resume inside a service you already run. Hermes and OpenClaw give you an operator for an agent that is supposed to exist when nobody is watching. Mix those two rows on a spreadsheet and you will buy a library while expecting a pager.
Recovery is where the split gets expensive. Hermes already shipped a delivery-obligation ledger so a finished response cannot vanish if the gateway crashes between generation and delivery. The August 27 window added durable incident acknowledgements for cron and clearer code-skew failures. OpenClaw’s current beta is still landing gateway restart recovery: preserve admitted turns across repeated restarts so a restart-safe run continues through each checkpoint and delivers the final response. That is the right problem. It is also still a beta line, while the stable npm package remains 2026.7.1-2. LangGraph resume is excellent if you own the worker fleet that wakes the graph. CrewAI will resume a flow you persisted. Agent Framework will resume a workflow you hosted. None of the frameworks will page you when the process that hosts them is gone.
Memory is the dimension most scorecards fake. Hermes scores memories, accumulates procedural skills, and carries those procedures into a cron run, a terminal session, or a Slack message. That compounding loop has not changed in the month since I wrote about it. The surface around it has: lean-tail compression is now the default, tool search is multi-query with stemming, and the remote MCP catalog added fifty-plus live-verified vendor-hosted servers in the v0.20.6 window. OpenClaw has memory files and skills. It does not put an autonomous closed learning loop at the center of the product. LangGraph, CrewAI, and Agent Framework will use whatever memory you wire. That is not a defect. It is a statement that memory is your problem, which is the correct statement for a library.
Tool discovery follows the same split. Hermes and OpenClaw treat tools as something the runtime can find while it is running: MCP servers, plugins, ClawHub, a catalog, a search path. Frameworks treat tools as functions you bind in code. After a week on MCP, Composio, Strands, and OpenConnector, that difference should feel familiar. If the agent’s job is to live on a changing set of APIs, runtime discovery is the product. If the agent’s job is a known graph of approved actions, binding the tools in code is the control plane. Skip Hermes for the catalog size when your auditor needs a frozen allowlist. Skip LangGraph for the frozen allowlist when your users keep adding channels.
Multi-agent support is the trap for personal runtimes. CrewAI still wins the role-based demo, and Flows is the control plane under it. Agent Framework productized handoff, sequential, concurrent, GroupChat, and Magentic, and I already said GroupChat stays off a case-file workload. LangGraph will express multiple actors as a graph you can checkpoint. Hermes has profiles and subagents inside one runtime. OpenClaw is a personal agent surface that can be extended, not a coordination fabric. Start with a framework inside a service when the work is a crew. Start with a runtime when the work is one agent with isolated identities. Borrow a crew abstraction from a personal assistant and you get token inflation with extra names.
Community size is the number everyone quotes and the number that lies with the most confidence. OpenClaw has the crowd, and that crowd matters for channel adapters that rot. Hermes has a quarter-million stars and a release cadence that rolled about 525 pull requests into v0.20.6 in six days. CrewAI ships near-daily patches. LangGraph is slower on the core package, 1.2.11 on August 11, and busier on the SDK and checkpointer satellites. AutoGen still out-stars Agent Framework by more than four to one, with a last push on April 15. Stars buy you shared maintenance on undifferentiated glue. They do not buy you a living tree. Use them to estimate who will see a Slack scope change first. Do not use them to estimate who will still be tagging releases in six months.
Self-improvement is a one-horse dimension. Hermes has the loop. OpenClaw does not, by architectural choice. The frameworks do not, because they are not operators. If your value comes from procedures that accumulate across incidents, this dimension is the decision. If your value comes from a graph that must replay the same way for an auditor, this dimension is a distraction. I would rather have a slow pipeline I trust than a skill library I cannot review. Hermes without skill review is drift with a flattering name. That cost belongs on the scorecard next to the capability.
Token efficiency is where multi-agent theater goes to die. A CrewAI crew or an Agent Framework GroupChat pays a full prompt for every speaker, every round. LangGraph is as cheap as the graph you wrote. OpenClaw sessions grow like any long-lived chat unless you budget the prompt. Hermes now defaults to lean-tail compression, and a skill that already knows your verification commands stops spending tokens rediscovering the repo. Hermes does not always win this column. The runtime that reuses procedure beats the framework that restages a meeting. A graph of three deterministic nodes and a human interrupt will beat both personal runtimes on spend, because there is no extra operator in the way.
Total cost of ownership is the dimension that decides the meeting after everyone is tired of features. A framework looks cheap: pip install langgraph, or crewai, or agent-framework, on top of a service, an identity provider, and an on-call rotation you already have. The hidden cost is every concern outside the graph. A runtime looks expensive: you are standing up Hermes or OpenClaw as a platform, with profiles, gateway config, channel auth, and a learning curve. The hidden savings is the year of glue you do not write for messaging, scheduling, session storage, and crash recovery. Count engineering time over twelve months, not install time over twelve minutes. Count who is awake when the process dies.
The deciding factor is still who owns the loop. If the agent is the long-lived worker, pick a runtime. Hermes is the bet when that worker should get better. OpenClaw is the bet when it must exist on the channels your users already live in, and you can accept a stable tag that lags a hot beta line. If the workflow is the product, pick a framework and operate it yourself. LangGraph earns that seat when the topology is a graph you need to checkpoint and interrupt. CrewAI Flows earns it when the team thinks in roles and the path has to replay for an auditor. Walk through Microsoft Agent Framework when procurement, OpenTelemetry, and Azure identity are the door you cannot skip. AutoGen is not on that list for new work.
If you can only pick one, pick the layer that matches the 2:13 a.m. failure. A dead gateway with an undelivered answer is a Hermes or OpenClaw problem. A graph that woke twice and emailed the member twice is a LangGraph or CrewAI problem you failed to make idempotent. Import GroupChat and you will spend four hundred thousand tokens watching specialists agree with a hallucination; that one is on you, not on Microsoft. A ranking does not fix a wrong owner. It only tells you which owner you actually hired.
Tomorrow I will close August with what the month taught us about the execution layer, and hand September a problem one level down: the runtime still depends on the model sitting under it.
If this was useful, forward it to one engineer who needs less noise in their feed.


