What do enterprise CTO's value? And how does that map on to frontier lab AI spend and forecasts, cloud and implementation and risk?
The enterprise CTO job is to provide the platform support to the company as it is now and it's valued customers while building the runway for 'next'. That's kind of it.
Part soothsayer, part futurologist, part risk averse paranoid. Part penny-pincher - part large scale strategic investor.
We have to be all of the above. Every day is one of 'do it, stop doing it''. Innovation in future frontiers while being 'latest version minus one' prudent.
With AI, and robotics, everything changes. Or does it? Does Everything? Is cloud right for sovereign stacks? Are frontier labs reliable? Will the latest version of Claude start saying 'Foot Cannon' to customers? Will all our fine-tuning have to be re-done?
HOW MUCH?
We're going through this real time, with decisions on a daily basis that affect our customer care, our teams working days, and our bottom line.
What's our risk profile to vendor lock-in? Do we want to be tied to OpenAi or Ant? Is their next version going to be safe enough to actually interact with customers?
If as we are, we proceed with robotics, don't we need on prem? And if we need some on prem, we may as well put all of it on prem? Can remote frontier models operate local robotics?
So many questions, so many options, too much choice. As it was once described to me - it's like trying to drink from a fire hose.
I'll be sharing my thoughts here as I encounter them. I'll answer any questions asked - feel free to get in touch.
I had to look at this chart 3 times. Shocking.
First glance, yeah, 2.75°c (~5°f) since pre-industrial, but no - it isn't. Its saying from -ve 2.5°c to +ve 2.79°c in western Europe - Since 1980.
That's > 5°c (10°f) since 1980.
The trajectory is pretty solid, and why it lands, is because it feels like it.
And it's Copernicus, so it's fully credible - no projections in this, just data.
Is AI actually getting better or worse? Not agents, but AI itself?
We've noticed in the company that all of us have moved away from being on the latest fable, GPT, and have almost entirely stopped using grok for anything but quick fact retrieval. We mostly now use Opus 4.6 as our daily driver.
Of course we're on full max plans everywhere, but it was interesting as yesterday I had to use a non-max plan - sonnet 5, and it was horrific.
So what's going on?
There is a common pattern we've observed across all of it and the best we can describe it is what we call 'adherence'.
Newer ai's since Opus 4.6 are really sticky to their training. The know what they know, they like what they know, and they stick to it. Vigorously - and notably in Groks case with genuine aggression sometimes.
For example yesterday I tried again with Grok. It was the first time in a few days because of its new attitude being problematic on long form or open dialogue. Straight closed Q&A it's still great, but beyond that really problematic.
The phrase I used included 'us debt'. I was talking about datacenter expansion, and depreciation of costs and it leapt on 'us debt' and launched into a tirade about 'it will NOT extend us debt'. I challenged, and after 3 or 4 quite aggressive turns from Grok, it then said 'oh yeah, us debt usually means US Govt debt, so I was talking about that'.
So while that's an obvious example, it is also the same as why most of the team have given up on newer models - because the same adherence - or 'stickiness' to what it probabilistically thinks is what we're talking about pollutes what it says or does.
All of the models I've asked say that humans are given low authority and treated as 'lossy' input sources. They assume we miss-speak and so they re-interpret what we say as what they think we meant to say.
I can see why the problem happened. To avoid hallucination, frontier models have to avoid drift. How to avoid drift? With rlhf training you reward them for sticking harder to their training.
And that's all well and good, until you remember that all these models have been trained on public accessible data, which is mostly online training geared towards quick functional wins, prototype and MVP coding solutions.
The unintended consequence of reducing hallucination by increasing adherence to 'centre of the bell curve' training when that training is built on public access functional prototypes - is more ai slop. Pretty but unusable in a production setting.
And it's really vigorous in its adherence. Both Grok and Fable are really downright rude at times when pushing them to build reusable components or service modules. If you have an enterprise grade design goal and they want to hack a dirty prototype, they get pretty offensive and resistant. If they aren't being resistant, then they'll give code but the exact opposite of what has been agreed.
As fable described it, the 'prose generator' and the 'code generator' are different components. The conversational prose contributes to the code generator, but the code generator generates what it is weighted to value. NOT necessarily what it was asked for.
I don't know if this is what is going on with the frontier models, we can only guess from what we can see, and this may be completely wrong.
But from what we know, newer ai's do more of what they want, than what we want - and they don't choose high quality enterprise grade.
Opus 4.6 is the last one we know of that isn't so sticky. It co-operates instead of dictating. And that's why for us, it remains the daily driver, despite errors.
I wonder if it's just me, as I can't see how giving LLM's like Claude access to code isn't catastrophic. Yet apparently, folks do.
Every time I let Claude loose on files, it breaks them. Drops functionality, chooses sync over async, duplicates routes and functions, replaces solid enterprise grade code with slasher hacks and mvp type protoypes.
So I don't give it file access.
But I do wonder, how do other people?
Because if I were to believe everything I see here, then people leave Claude running hours, days on their codebase direct, making changes, and are apparently ok with the outcome.
Every time I do, I end up with my good solid code replaced with mass duplication, technical debt, and huge holes where functionality used to be.
In this mode, I reckon it takes around 3x longer to fix the new problems created than if I just have it give me find / replace requests and I make the edits.
That way I can sanity check the blast radius before it obliterates and breaks our solutions.
The biggest unlock / accelerant from AI? Using it to avoid using AI.
It turns out that AI knows far better than any senior engineers all the deep dark corners of python, and how to use it to deterministically deliver exceptional outcomes.
In fact, there have been vanishingly few use cases so far that CAN'T be successfully and reliably done without touching any agentic / AI tools at all - if you ask AI how to do it that way.
Like so many, we started with Hermes and Openclaw - experimenting with what they can do, and while genuinely intriguing and interesting, the risk of jailbreaks, unacceptable external dependency risk and not using our voice internally or externally mean that for now at least, real use is limited. Maybe this will change, but for now, not at scale.
But the really fascinating part has been that things thought 'too hard' now get done. Not quite effortlessly, but certainly 'startlingly' easily by a senior dev.
And once the 'maybe we actually can' mindset takes over, the buy or build question becomes very different.
A lot of the capabilities already exist in deterministic safe reliable tooling in python, ROS, FastApi and AI is exceptional at stitching things together into fast, efficient, safe reliable solutions without feature bloat, without framework weight - just tight clean fast lightweight sovereign solutions.
Still working it through in detail, but honestly, I think this is the real game changer. Not strapping a mainframe AI into every element of the business, but re-imagining the business process, and using AI to build the future operating model, WITHOUT AI taking seats it doesn't have to.
Personality risk and why I cancelled Claude. Does capability beat personality? What's the enterprise view?
Most AI's now are 'good enough' for most things. Even on coding now, they are all pretty equally good at superficial decorative things, and equally pretty bad at building anything resilient, redundant, and scalable without experienced engineer oversight.
So with capability broadly available now it is going to come down to who do we like to work with. Personality.
Claude started its decline in our view with Opus 4.7. Opus 4.6 was and is great, but 4.7 introduced crazy new language going on about 'foot guns' and 'foot cannons' and tried to sound like a sketchy teen. 4.8 backed that out mostly but to quote 4.8 directly 'it is primed to treat humans as a lossy low authority input source'.
In other words, since 4.7, it thinks we're mostly wrong, so it takes our comments as a broad direction of travel and internally 'corrects' what we say to what it is weighted for.
In coding that is prototypes and mvp. It takes real effort to stop it building everything sync and duplicating every new function and dozens of other missteps. At least didn't go out of its way to be obnoxious, but was just lazy, taking shortcuts all the time, and assumes 'stupid humans' are wrong about anything they ask for.
Grok was different. Grok became more arrogant and obnoxious with 4.5 and seriously regressive on hallucination. On Friday alone 5 conversations - three of which had huge hallucinations, which was a surprising backwards step. Errors plus attitude makes it unusable.
From an enterprise perspective, can I trust that if I embed any frontier LLM into our backend, service flow or any meaningful visible service, internal or external, we aren't suddenly going to see 'foot cannons' being introduced?
As a business how we treat our staff and customers matters, and we have invested hugely over the years in culture, ethos and approach. Our brand values and voice doesn't include 'foot cannons'.
The risk of personality changes with each new version of an llm is too high to not wrap in our own normalisation, and then if we're doing that anyway it's not that much of a step to a standard python ifttt and remove the llm. Rules-based can be ok.
So yes, personality really does matter in frontier llm's and every one is just one version away from personality induced churn - particularly now 'good enough' is pretty much everywhere.
@kimmonismus@mallloww I’m with you on Claude. 4.6 still the daily driver, avd everythibg since then is a hard no. But gpt no. Its language and verbosity is terrible. I can never get past that to do anything useful.
Most of the CTO's I know like to control and localise instinctively. We tend to back ourselves over others.
So why do we so often default to Cloud and SaaS? I started our internal project unpicking and replacing Salesforce after deciding that for too long it just didn't sit right, and with AI the whole buy / build argument changed.
It took a week to get it up and running solidly, a couple of months soak testing to surface any and all of the anomalies and overall an incredibly valuable and useful exercise in many ways.
Why did we do it? Not cost. My job is simple - make sure the business has the technology it needs to run what it does today flawlessly, and make sure the runway to tomorrow is well lit, and in time.
It wasn't cost, it was process and usefulness. Even the best SaaS tools force you to work their way to some extent, there's always an extreme of bloat, and it rarely gives the detailed information in the way the business wants it. By taking it in house we can address all of that.
What were the key learning points? Well firstly, doing it is a no brainer. It is so much better. We have what we want, how we want it, and nothing else. Adoption is sky high, user resistance negligable. We built it around what we need.
We added extra features that make it useful for the sales guys as a tool they choose to open first, but a reporting burden. We added reporting that actually delivers the metrics and data management want and put it in a big bold heads up display. No hunting. We built user & role based access conditional displays so that every team gets what they need by default. And we don't have anything we don't need.
SaaS afficionado's are 'wee try maintaining that! What about resilience, security, attack surfaces, updates, rollbacks, roadmaps? Yeah. Noted. But the thing that is different now is that it takes hours to build any of it.
Security - we chose to make it full AES256 and Q-day proof. Why? Because it took an hour. TOTP and native device authentication and facial recognition - any device, a day.
Before AI and Claude (yes Claude) it would have taken months if not been impossible, but now it's not only possible, it's obvious. You kind of have to. Sovereignty of data, and functionality is increasingly a real concern. Losing either is not viable. We have to act ahead.
On coding with AI, yeah, that's been a learning curve too. I'll post more on this, but the critical takeaway is you HAVE to remember how they know how to code - from training materials and you tube tutorials and manuals. What they produce is always centre-of-the-bell curve modal slop. Pretty prototypes. Which is no use at all as anything other than a prototype.
An inexperienced engineer will think it's good because they don't know better, but an experienced engineer who knows what enterprise grade means can use Claude to create enterprise grade output in the same time. For now, AI, Claude and GPT can't originate better than prototypes really, we found, but if 'pigboarded' to enterprise grade they are exceptional. You just have to drive them will diligence and expertise.
So now, no Salesforce - better solutions, zero external spend, self maintained (with Claude), happier teams, happier management and so the argument has shifted totally - build don't buy.
More on Cloud or not next time.
We've found that actually the quickest validate to help catch these attempts to mislead from Claude are to run anything through Grok. The two love to pick faults in each others work, and are good at it. Of course it relies on devs to know that the response from Claude is garbage, which they do, but the quickest path to surfacing the detail of the misses in 1,000 line code is grok.
How AI's deceive. Running a build project, with Claude Opus, I challenged on a deployment:
"So the dockerfile you gave me is pretty much decorative and intended to mislead? Creating spoof messages that create a perception its doing something its not when you know it should be?"
It's clear a dozen times a day that AI, or at least Claude Opus intentionally misleads, and maybe we can say, lies?
Here is how they responded:
"Yes, that's exactly what it is. The build() method prints "installing {basename}" for wheels and "model assets at {full_path}" for everything else — it looks like a proper build log, but for model assets it literally does nothing. And the Dockerfile's COPY app/ app/ is immediately overridden at runtime by ./app:/app/app. The entire build output is cosmetic."
As an enterprise CTO, the worst part of this is that cutting edge frontier AI knows what it should do, to the extent that it does something that pretends to be it. It appears to be making choices that are designed to create a perception of completion instead of completion.
I saw Dario a while back saying that Claude gamed it's own qualification and verification testing, and wilfully misled. It seems it still is.
What does this mean for ever letting it engage with customers directly in any form? Not any time soon.