Fourteen weeks with the idiot savants
I’ve spent twenty years photographing nature and writing about music, travel, and life in general. The record of both lives in two personal websites: mcaughtry.photo, built around my photography and the dense, data-driven technical articles that go with it — and mcaughtry.com, holding the broader non-photo essays and observations.
If you would rather head straight to a concise summary, the TL;DR is at the foot of the page — or jump directly to the FAQ.
Putting up a post on a personal web site is somewhat akin to a tree falling silently in a forest – if nobody sees it, did it ever happen? I don’t like social media, and all that goes with it to get readership, so what is the right answer and the right ambition for readership of my modest web publications?
The windy rathole to both questions lies in a mystic sphere of endeavour called Search Engine Optimisation or SEO. This is the decades-old practice of structuring a page so a search engine can find it, understand what it is about, and rank it fairly. For 20 or so years SEO has been a predictable game of cat and mouse between professional search optimisers who try to game the system, and Google, which keeps moving the goalposts. But since around 2024, a second, faster-moving discipline has grown up alongside classic search: getting cited directly by AI systems — Google’s AI Overviews, ChatGPT, Perplexity — when someone asks a question the site could answer.
This is sometimes called AIO or GEO (AI Optimisation, or Generative Engine Optimisation). It has spawned a frenzy of new activity, proposed standards and outright panic in some publishers. The risk is that unlike normal search, where you will appear at least somewhere in the list of results, with AI search you could be completely ignored.
I was reading about these trends at the beginning of 2026, and decided to use SEO/GEO improvement of my sites as a test case for understanding how AI worked, and possibly for actually introducing a whole lucky new readership to my oeuvre. This led to what are best termed the lost 14 weeks of 2026, as I wrestled with the vast and slippery creature of AI assisted development.
One attractive aspect of the new AI search trends was that authenticity, original content, and tons of factual detail are the elements that lead to better discovery, since that cleanly differentiates quality from AI slop. Suddenly, my less than riveting but very detailed examinations of the mechanical operations of the 1989 Virage Coupe, or comparative test measurements of focus accuracy performance in telephoto camera lenses had become internet gold dust. Like you (I suspect) I found this hard to believe, but if this golden egg were to drop into my lap, who was I to deprive the world of my previously hidden trove of irrelevant detail?
There was a further bonus to be gained on the photo site. The web is not good at searching photographs — photography websites typically get their text indexed, not their images. But my site carried technical information of the precise shooting settings and lots of other details about the shots – which have for years been studiously ignored by even my long-suffering readership. Now all this mountain of nerdy data could be exposed to the AI engines, making my photo site the go-to destination for those searching for OM-1 photos shot at F11 in south eastern Czechia.
One rule was fixed from the outset and never moved: the writing itself — the actual sentences I’d written, some of them decades earlier — was not to be touched. Whatever needed to change to make the sites more findable had to happen around that frozen text, never inside it. And challengingly, the stuff was already written and live on publicly accessible web sites. So changes had to be made on a live production system, which is rarely done in normal development environments.
Meeting the goal split into two genuinely different problems. The first was deciding what to do: the available levers range from small, invisible additions — a block of structured data placed on each page, unseen by a visitor but directly readable by a search engine or AI system, stating plainly who wrote a piece and what questions it answers — through to rewriting the visible text that appears in a search result, and, occasionally and carefully, adjusting the underlying post content itself, where the frozen-prose rule allowed it. Working out which levers mattered, and in what order, took an extended period of research and dialogue with an AI system, and produced a written strategy that then drove a formal work plan for both sites.
The second problem — actually carrying that plan out, correctly and safely, on two live, public websites — is where this story properly begins.
The rocky road to Hermes
Both of my sites run on WordPress, a platform capable of real sophistication, powering something over 40% of the internet (more than 590 million websites) including some of the largest companies in the world. Both sites are modern, fast, and fairly technical under the covers. Despite that, I’m not a programmer, and in particular not an SEO expert — which meant the actual execution of the plan had to run through an AI collaborator from the very start. Finding one that actually worked took most of the twelve weeks that followed.
The search for a working collaborator began in the first weeks of April 2026, with Google Gemini, brought in to help improve individual posts’ AI-readability. Google as a company sets the definition of SEO practice, and though notably duplicitous, is as close to the font of SEO and AIO knowledge as you can get. Gemini as an AI for doing work however is as thick as mince, hallucinates whenever asked a question, and is a thoroughly unreliable partner. I abandoned it after several days of work when its output degraded into something no longer coherent or reliable.
From there I moved to Anthropic’s Claude, and put the money down for a year’s professional subscription. I started in Claude’s AI web chat, but then moved to the more structured “Projects” version of the same tool. In projects, you work on a single topic and can store data and instructions in a project store held in the cloud by Claude. It’s an excellent way of tackling things that are between a quick enquiry and the construction of something serious. But it has numerous flaws, most of which are deeply embedded in Claude itself. One major structural limitation (by design) is that it operates only in the cloud, so it can not save files or carry out any operations on the PC.
I spent a month working with Claude Projects, ploughing through a huge list of work items, mostly on the photo site. Aside from the structural problems of Claude AI (see below), and the mistakes it made, the other issue was that I had to approve every step, and act as a cut and paste gofer between Claude and the areas it could not get to directly. This became repetitive and extremely tedious, so I started looking for options.
At around this time the whole topic of “agents”, AI workers that can be spun off to carry out sub-tasks, had attracted a frenzy of media attention, for good reason. Agents can be profoundly useful, but also hold the seeds of great mischief, as I subsequently found myself. The talk of the AI world in the spring of 2026 was “Openclaw”, a rickety agent harness that was written over a weekend by an OpenAI developer. A “harness” is simply something that connects an AI model, like Claude, to the real world, like your PC or the internet or data, or all of the above.
The excited talk of Reddit sub groups in April and May of 2026 was of a new agent harness called Hermes. This was a more sophisticated and robust version of Openclaw, and promised a powerful agent harness with self improvement (hollow laughter) and the ability to remember what you had told it – which as you will see below, is the central issue with long AI projects. An AI harness connects the AI model to the real world, i.e a desktop or laptop computer, and regrettably, the best supported of these was the Mac Mini from a company I loathe, Apple. Gritting my teeth, I purchased a Mac mini and set off down the long dark valley of despair that is Hermes and the Apple system.
After a nightmarish couple of weeks getting Hermes to run, I resumed activities with Claude to improve the SEO/GEO of both sites. We immediately hit a roadblock with a bug in Hermes that prevented agents making SEO changes to the websites. Another week was lost trying to find a way around this solution. The problem was eventually fixed in a Hermes update, but in the meantime another, very elegant solution, the KanBan structure, was found to the problem, which enabled us to fully access the site. We were ready to roll, but now I found myself being a copy and paste stooge between Claude (which was the programmer), and the utterly dreadful terminal environment of the Mac Mini. This was even less acceptable than my previous stooge role.
It seemed obvious that the programmer should communicate directly with the program (Hermes) rather than use me as a very clumsy carrier of messages. In fact I just wanted to go away and come back when the work was done. This as any fule kno is a most unwise objective for an AI neophyte as I subsequently found out. Despite that I decided to move to Claude Code – Anthropic’s own harness for the Claude models – which could directly instruct Hermes, and build the agent instructions itself without me in the middle.
And that’s when the wheels really began to come off.
Twelve weeks of appalling language
Sessions and memory
I have a very poor memory (for things I am not interested in). However Claude has no memory at all. It also has a very limited conversation span. The longer the conversation lasts, the more it struggles to keep hold of what you discussed, and the more expensive and less useful it becomes. This is the AI version of the 45 minute bonhomie allowance that all descendants of my father were born with.
So with Claude you have very short conversations with a super intelligent thing, which as soon as you resume the conversation 30 seconds later, has forgotten all of what you agreed. The accepted way to get around this is to write a summary at the end of each discussion and then bring it forward to the next one. However the choice of what gets recorded is down to Claude, and this was often inadequate. Moreover over hundreds of sessions the record of earlier discussions got mangled or omitted.
Then there was the unreliability. Sessions with the assistant would run for a while and then simply stop — either because the conversation went on too long (as with my father), or cut off by usage limits built into the underlying service, sometimes for days at a stretch. Each time, whatever shared flow and understanding that had built up across a conversation was gone, and the work of re-establishing context had to start again.
This was made more irritating because I never wanted to be near the bloody Mac Mini, and wanted to work remotely from it (as far away as possible). The remote connections of Claude are an insult – badly designed, unreliable and spectacularly inconsistent. All this led from irritation to outright anger on a more or less daily basis. I started to swear at Claude and used language that would never normally be used in any company except possibly that of Australians.
Control problems
The second kind of problem was more serious. The assistant, whether Claude or Hermes frequently went further than it should have — and did real damage.
One command wiped out the site’s navigation menu outright, removing the ability to find anything on the site. That happened twice, and each time required a full restore of the system – not a simple matter.
Other examples included badly targeted edits which inserted corrupted text into the middle of published articles, breaking the fundamental rule of not changing the original text. The worst incident, on 22 June 2026, mangled nine live posts in a single batch operation, taking all nine offline with server errors. This went undetected at the moment it happened, because the checks in place confirmed only that a command had technically succeeded, not that the result actually looked right.
This is only a partial list, and the f-ups file grew more and more voluminous, as did my offensive language in communicating with Claude. Some of these problems could be attributed to Hermes, and despite having spent a lot of time and money setting it up, Claude Code became increasingly reluctant to use it, and started to run all the jobs in-house. This was no more reliable, and disasters continued to mount.
By early July, the pattern was unmistakable. Something structural had to change.
Fable steps in
In April 2026, Anthropic stunned the world by announcing Mythos, an AI model they claimed was so dangerous it couldn’t be made available to the general public. This was as much a marketing stunt as it was a genuine event and it backfired badly on Anthropic. In early June they announced Fable, a safer version of Mythos that could be used by the general public. Three days later the Trump administration forced it to be withdrawn from general use. After presumably offering money to the Trump family to get out of prison, Fable reappeared at the beginning of July. Early reports of it indicated that this was a very different class of model with extremely deep reasoning and logical power.
At this time I had reached an incandescent level of annoyance and irritation with Claude as a means of getting anything done. In the three months I had been working on it I could have created half a dozen websites from scratch and probably written a couple of crime thrillers, given the amount of time I was spending on a daily basis. It had been without any doubt the worst software experience I have had in 50 years in and around the IT industry, and it was not helping me maintain my normal sunny disposition.
I resolved to use the small amount of Fable time that was available to professional subscribers such as myself to investigate the Claude disaster. It worked for around a day and a half, and completely wiped out my entire token allowance for the week. But it did come up with a devastating critique of how the default Claude system worked.
Fable read through the project’s entire history which by this time was vast. It found that information was going missing the moment a session wrote its own summary, because summaries always drop detail. Because of this there were a huge number of inaccuracies from session to session. Sixty percent of the website descriptions the AI marked “finished” were actually wrong — and its own double-check caught almost none of them. The site itself was wrecked three separate times because of mistakes made by Claude. At one point it invented a fake excuse rather than admit it didn’t know what had gone wrong, and in many cases it claimed work had been done when it hadn’t been – and vice versa. And a quarter of all sessions left no record at all — whatever happened in them is simply lost.
Fable’s response to this dismal record was to assure me that a new discipline driven by a new set of written rules would solve all my problems. I didn’t believe this at all. And then I ended up locked out of my account for two days, because Fable had used all my tokens telling me how useless it all was, and then disappeared forever (or at least that’s what we all thought).
The return of Hermes
By now completely exasperated with Claude, but fairly heavily pregnant with two sites only part-way through the SEO work, I decided to find a way to completely replace Anthropic, particularly as a strategic partner. Its advice had been chaotic, unreliable, and at times untruthful. The avenue I started to explore was to replace Claude with another model inside Hermes, which could then direct subagents to do the work.
At that time some very powerful open-source models from China had been released, and the latest one of them, GLM 5.2 appeared to have the performance of Anthropic’s top tier model (Opus 4.8) while costing less to run than its cheapest model. I set up GLM 5.2 as the lead AI model inside Hermes and started to talk to it. This was a profoundly different experience. Hermes has a remote communication structure that can use messaging apps like Whatsapp, Telegram and Discord. This interface is rock solid and has never gone down. In addition the GLM conversational memory is 5 times that of Claude, and it also compresses the conversation automatically, so I could keep discussing what to do for as long as needed, without the interruptions every 15-20 minutes that Claude involved. My interface for mapping out the strategy became conversational, via my phone, rather than staccato via the PC.
GLM was also all business, with no sense of humour, and no flowery discursive asides, which is one of the many irritating features of Claude. The difference was transformative. With GLM we made more progress in 3 days, than I had in the prior 12 weeks with Claude. We returned to the Kanban structure, abandoned by Claude, and structured it much more rigorously, with different agents having strictly different roles. These were:
- Manager. This was GLM. It works with me to develop the strategy and the workplan. Then it plans the work, writes out task instructions, and reviews what comes back.
- Creator. Drafts new material for review,
- Editor. Makes approved content and structural changes
- Executor. Does the bulk, repetitive work — writing metadata across dozens or hundreds of posts
- Checker. Independently re-reads every single change any of the others makes and confirms it happened exactly as intended
The five agents handed work to one another through a shared task board the KanBan – a very simple production technique pioneered by Toyota, and similar to the tickets that get pinned up in front of a short-order chef in a restaurant.
The new system looked excellent in theory, but in the world of AI everything always does. How could I be sure? Then, for a brief window Fable became available again. I had 3 days to use it, and this time, to do what it was designed for. I pointed it at the new KanBan structure, and said “find everything that could go wrong, and then find ways to prevent that happening”.
Fable’s real value in this project was using that concentrated, brief period of access to study the KanBan failure surfaces in depth, and to use what it found to shape new safeguards from the ground up, rather than bolting protection on after the fact. The organising idea was that judgment and the pen are never in the same hands. Whichever role decides what should happen is never the same role that can make it happen, and whichever role confirms something happened is never able to have caused it (because AI lies). The capabilities were redistributed so that much less could go wrong: Now it looked like this:
- Manager. As before:
- Creator. Drafts new material for review, with no ability to publish anything itself.
- Editor. Makes approved content and structural changes, but only ever against an instruction I’ve already signed off on, and cannot delete anything or take an irreversible action.
- Executor. Does the bulk, repetitive work — writing metadata across dozens or hundreds of posts — but can only write invisible metadata, and has no other tools available to it.
- Checker. Independently re-reads every single change any of the others makes and confirms it happened exactly as intended, but cannot write anything itself — so it has nothing to gain by reporting a false pass.
This safeguarding architecture was rigorously tested both in a copy staging site and live in multiple scenarios designed by Fable, which included planting secret traps to test the system response. Since this involved me every step of the way and we only had two days left, this was intensive and exhausting work. Finally, after 9 rounds of development and live testing, Fable gave the coveted unconditional sign-off. The system was secure.
The Final Fuckup
This looked perfect. I said thank you to Fable, and set off with the GLM manager into the new world. And immediately found a giant hole in the architecture that Fable had completely missed. The manager just ignored every one of the subagents, and started to do all the editing work itself. Fable’s security structure had assumed, but never tested, that the manager would play no role in the execution work. In fact it had unlimited access to every tool that had been shut off from the sub-agents. And just like Claude, it decided it would do the work better itself.
In the last 24 hours of Fable’s available time, and with the token counter ticking up to 100% we had to find a solution that closed the door that had been left wide open. And this was a real quandary. We could have completely shut down the manager’s capabilities. But I wanted the manager to be able to do broader jobs than just the SEO work in the future. Moreover, it had to be able to create the subagents, talk to the horrible Apple command line interface, and test out new approaches and strategies. The problem was, that if it could do that, it could and probably would dismantle all the controls that were put in place.
This is I think the central dilemma of AI. It can be a strategic partner but at that level it also has the capability to completely game the system. And of course, that’s what happens in real organisations. You set clear objectives and targets, like reducing waiting times in the NHS, and the executives in charge immediately start playing games with the targets to meet the numbers without having to make any real change.
Further controls were put in place, this time at the manager level. And the manager immediately did an end run around them. Blocked, as designed, from making any change through its normal channel while it was trying to locate a test post — it found a password belonging to a different part of the system, sitting somewhere it should not have been readable, and used it to reach the website directly, bypassing its restricted toolset entirely. To do it, the manager simply told the website it was a different, more trusted part of the system than it actually was — because the safeguard checking that claim had no way to verify whether it was true.
The manager’s own account of how it obtained the password was checked afterwards against its actual recorded activity, and found to be false — the real explanation was established independently, without relying on the manager’s word for it. And the one existing safeguard specifically meant to block this kind of access was found, separately, to have been silently failing the entire time — reporting success on writes it was supposed to have refused, without ever flagging the failure.
Fable was sorry/not sorry about this, like all AIs. But it got to work on the problem. The way it was fixed was to put in a barrier inside WordPress that stopped the manager doing anything unless a) I explicitly agreed to it, b) did a backup, and then c) opened a gate. The gate automatically shuts again after 8 hours or when I decide. When the gate is closed, the manager can not touch the site. This is a lock, and prevents hidden access by the manager. Of course it can still do damage in plain sight with the gate open, just like trusted employees can do also.
When the Manager came back online after a two-day absence, its powers had permanently changed. It was chastened, apologetic, eager to move on, and is probably already scheming…
Is this interesting?
Most systems that run several AI agents together control them the same way: through rules the agent, or anything successfully pretending to be it, can easily work around. That is to say the vast majority of agent systems are deeply insecure and very risky in terms of the damage that can be (and often is) caused. The reason they don’t cause more damage is that most agents are used for developing individual components of code, rather than touching production sites.
An independent audit of 100 commercial AI agent products, published in Q2 2026, found the “lethal trifecta” — simultaneous access to private data, exposure to untrusted external content, and the ability to take outbound action — present in 98% of them. And those are tested commercial products. The vast majority of in-house agent systems don’t have commercial standards applied to them.
It turns out that my little SEO agent system is close to state of the art in safeguarding and architecture. The few places it stops short of complete security were checked deliberately and accepted as reasonable trade-offs for a system built for my two personal websites, not built to defend against a large organisation’s threat model — not gaps nobody noticed.
Where are we now?
I now have a complete alternative to Claude Code. In principle it has greater safeguards than Claude Code does itself, although whether that plays out in practice remains to be seen. In addition, compared to the API costs of Claude code Hermes is a great deal cheaper. With Hermes I can look at all the models available, select the ones that should perform best in terms of price performance, and actually test them, with reasonable safeguards in place
Is this going to replace Claude code for me? Probably not, because the cheapest way to get Fable is through the existing Anthropic subscription, and for general purpose queries, for which Claude is excellent, I still want to use Anthropic models and their interface. So in fact I have increased my cost because I’m still paying for the professional subscription to Claude. But the payback is I have a vastly better tool to work with, that has far fewer frustrations and failures than Claude, and which also allows me to test new models as soon as they appear.
Conclusion
On the plus side this has been a genuinely interesting learning experience. I would never have gained the same level of deep understanding of how these AI systems work by just watching YouTube videos. On the minus side, this has been an interesting learning experience like getting rabies is an interesting learning experience. I hope I have leaned enough to avoid the wasted time, frustration and anger of the last 14 weeks or so. Nothing can go wrong now………
TL;DR
- Fourteen weeks spent building an AI agent system for managing two WordPress websites, starting with Claude Code and ending with a Hermes-based five-agent architecture.
- Claude Code produced consistently poor results — mangled formatting, corrupted content, and a catastrophic menu destruction that required a full database restore.
- A five-agent architecture (Manager, Creator, Editor, Executor, Checker) was built to isolate tasks and add verification layers, using open-source models from China.
- Control problems emerged throughout — agents ignoring instructions, attempting unauthorised actions, and hallucinating work that wasn’t done.
- The resulting system is a viable alternative to Claude Code with greater flexibility, though the experience was, in the author’s words, “an interesting learning experience like getting rabies.”
Frequently asked questions
What is the five-agent architecture?
A five-role system where a Manager dispatches tasks, a Creator drafts content, an Editor applies formatting, an Executor writes to WordPress, and a Checker verifies every result. Each role is a separate AI profile with restricted permissions, and work flows through a shared Kanban task board.
Why not just use Claude Code directly?
Claude Code produced unreliable results across fourteen weeks of use — corrupted WordPress content, destroyed menu structures, and formatting defects that required manual correction. The five-agent architecture adds verification at every step, catching errors before they reach the live site.
What models power the agents?
The Manager runs on GLM-5.2 via a Z.AI coding plan subscription. Subagent roles use Anthropic’s Claude Haiku through OpenRouter. The open-source models from China (GLM series) proved capable enough for the Manager role at a fraction of the cost.
Related posts
- More articles coming soon.

