# Prompt-engineering schmompt-engineering - My difficult relationship with AI
Table of Contents
Viva la RevoluciónLink to heading
Everyone’s talking about AI. It’s the future. It’s revolutionary. It’s going to change everything. Your phone has it, your fridge has it, I even saw an ad for an AI mattress the other day.
More pertinently though, I pay for “pro” access to Claude and ChatGPT - tools that can write code, solve problems, and explain complex concepts. Naturally, I use them to bypass actually having to learn anything properly, and ask questions like:
“can you give me examples from the comics where we see the true extent of Spider-man’s strength?”
and:
“what if Trotsky had succeeded Lenin instead of Stalin?”
Turns out Spider-Man once lifted a building (they did the maths in case you’re interested) and the Cold War might have started earlier under Trotsky. Fascinating stuff.
Starting StrongLink to heading
When setting slimpy.me up, my opening gambit with Claude was comprehensive and covered all bases:
“I want to build a small self hosted blog.”
I said I wanted it to be:
“sleek smooth modern”
As well as:
“professionally made, interactive and be maintainable and expandable.”
And of course:
“work with my specific setup. And be light-hearted and fun.”
Claude, being the advanced LLM it is with access to mountains of data, provided a detailed framework, tech stack options, implementation approaches, and automation scripts. I immediately ignored most of this to focus on a template I’d already chosen.
The Art of Drip-Feeding InformationLink to heading
“I already have a simple site set up with nginx and Cloudflare but I’m looking to replace it with something more mature.”
Twenty minutes into the conversation. Might have been useful context earlier.
“nginx is running via docker compose in ~/nginx/”
Forty minutes in. Critical infrastructure detail.
“I believe just Cloudflare DNS”
I believe. Not “I checked” or “it is.” I believe. About my own setup.
Maximum Confusion, Minimum ContextLink to heading
“Not massively helpful”
I declared, after blindly running a command Claude asked me to run to check what was hogging a port. The output clearly showed Docker was using the port, looking back at the conversation. Naturally Claude asked what container was using it. The amount of computing power being used to facilitate my laziness hardly bears thinking about.
Later:
“Ok so just to make clear what you’re about to see. We are focused only on the ‘slimpy-homepage’ directory. ‘multiterm-astro’ and ‘slimpyHome’ were just quick tests and have no impact currently.”
Three directories with similar or related names doing different things. I mentioned that after we’d been troubleshooting for an hour. It hadn’t been causing an issue but it feels like it was probably useful context for someone poking around in that directory.
The Speed Run ApproachLink to heading
“Ok, woah, you’re giving me far too much at one time.”
This after asking for a complete blog setup, deployment strategy, and nginx configuration in a single prompt. Claude provided exactly what I asked for. I was immediately overwhelmed by receiving what I requested. God knows what I was expecting.
Expecting MagicLink to heading
“I already had all the astro files including /dist/ in my repo and restarted docker. That didn’t seem right anyway.”
I copied source files to a web server and expected them to transform into a website through proximity to nginx. When this didn’t work, I started to become suspicious that building and compiling might be necessary.
“Doesn’t something like this need to be built and run?”
Yes. Apparently it does.
The Frustration ArcLink to heading
“We could have solved that a lot sooner I reckon. I will think more carefully about my prompts in future as that was frustrating.”
The entire problem: my Docker volume was pointing to ./slimpy-homepage/ instead of ./slimpy-homepage/dist/. My initial actions of moving the template files into my existing repo and running npm run build had actually worked perfectly well at the beginning.
The time it took to find this out: One hour.
The number of times I could have mentioned my docker-compose.yml content earlier: Several.
The Whiplash PlanningLink to heading
Within minutes of getting the basic site working:
“Not that I intend to do this any time soon but if it came down to it what would be my best option for hosting if let’s say again a miracle occurs and enough people visit the site to slow down the pi?”
Claude replied, patiently, with suggestions, then simply reminded me:
“You haven’t written a single post or had a single visitor yet.”
A pertinent point to be fair.
The Working MethodLink to heading
My approach to AI assistance can be summarized as:
- Ask for everything in as few words as possible in a single prompt.
- Provide 20% of the necessary context.
- Get frustrated when AI provides its best guess at my vague requests.
- Drip-feed critical information over the next few hours.
- Realize the problem was simple.
- Immediately ask about scaling to handle millions of users.
Current StatusLink to heading
I now have a blog powered by AstroJS that I don’t fully understand, deployed via Docker commands I’ll forget, using a build process I rushed through, creating content with AI assistance that I utilize at perhaps 15% efficiency.
The AI tools are revolutionary. My usage of them is not.
The blog is live, though. So there’s that.
Next StepsLink to heading
Learn to use AI properly? No, that would be too straightforward. Instead, I’ll continue providing vague requirements, unclear context, and frustrated responses when the AI doesn’t intuit my poorly-articulated needs.
It’s working out great so far.