Agentic AI in 2006
I built my first “Agent” in 2006. Of course, 19 years ago we weren’t calling them “Agents” and there wasn’t a sniff of “AI”, but there was one thing that remains universally valuable: the vision to automate a process and the tools with which to build something capable of automating that process.
It was in the days before Facebook was available to anyone with an email address, web 2.0 was in its infancy and not only were there no smart phones but you would still take an actual camera with you on a night out. We’re talking pre-selfie, heady days indeed.
Much of my time at university was spent watching films and wondering what it would be like to write and direct Hollywood movies. The rest of the time included having to submit work towards my degree and for the largest project over the 4-year period, my Final Year Project or “FYP”, was something I was supposed to have a passion for.
For some the idea of getting passionate about building a database-backed software product is obvious, who doesn’t love database schema design and getting those SQL queries optimised?! For me though, I needed a spark, something that made it seem worthwhile rather than just building an online shop selling t-shirts or car parts or whatever else was covered by the lecturer’s examples.
Happily, I had a great set of teachers, one of whom told me to go and think what I am passionate about and focus on how I could improve that with this project. So that is what I did, the thing I’d spent most of my degree doing and what I was really passionate about was movies - mostly indie movies in that really pretentious “I’ll probably scoff at any movie with more that 4 famous people attached to it” kind of a way. - was I that awful? definitely, am I still like that? for sure at least a little.
Home truths aside though, one of the things that had taken off as part of the web 2.0 march was forum based social sites and one of those which was movie related was called “Flixster” [it’s since been acquired and changed its MO]. On this site you would log in, leave a review of movies that you had seen and connect with others in a social media type way. The interesting thing for me was firstly a community where people were as passionate about movies as I was [social media 101] and secondly that I could find [if I looked hard enough] people who were as awful as me when it came to their preferred choice of movie. This led to having more of the incredible arthouse movies recommended to me that I would otherwise have missed out on and wouldn’t be able to reference in conversations to confuse and / or bore people - the overly complicated Primer? super depressing midlands tale Dead Man’s Shoes? David Lynch’s impenetrable Mulholland Drive? Wonderful stuff. The only problem - I had to seek this stuff out and spend the time looking at other reviews from users to see that we were on the same page and then look to other things they had liked that I was yet to see.
Anyway, back to why you care. This connection to likeminded folks was what got me thinking about my passion and how to bring that to the FYP. The problem with the site was that you couldn’t necessarily trust everyone on all things. Just because someone liked a movie you liked doesn’t mean another movie they liked will be your cup of tea. lots of people enjoyed Donnie Darko, but some of them also enjoyed Halle Berry’s Catwoman. Yikes. So, what’s the solution?
This is where I started and always start: What is the problem? Now we have our problem how do we solve it?
The solution was - as these things mostly are - a combination of elements brought together.
Firstly - and most obviously - I thought when it comes to a review of a movie I had not seen I would want to consider those people who had reviewed it 4 or 5 stars.
Next, I would want to whittle down the list of people to those who had also rated movies I liked highly [say 3 - 5] to match my reviews.
Finally, I considered which reviews I would take notice of if they were from strangers, I concluded that usually I would be drawn to a review that was written in a similar way to those that I wrote.
This whole process [if conducted manually] would result in hours of time spent to validate the views of even just 1 person - you can test this for yourself today and look at Amazon reviews of the last thing you bought that you liked - then look at the positive reviews and drill down into other positive reviews from those users to find another product they rate highly that you also do. It’s a faff.
So, there I had it, the plan for a movie recommendation service that takes your preferences into account, so you see only the recommendations from users who fit your “profile”, and as your profile is refined through more reviews and data, the recommendation system adjusts accordingly. Sounding familiar?
It’s true that Netflix do [almost] this - they use your viewing and scrolling data to serve you up options along with “trending” [you don’t get that personal touch just yet] - but back in ‘06 they were still sending you DVDs in the post.
But how did I manage to actually construct this “Agent”? Just like breaking down the problem, the solution was building it up with different bricks. The filtering was to be based on the users with similar tastes, this was what would drive the “other” movies they rated highly that could be recommended.
The first filter was for a user’s previous reviews: which users match the most across positive and negative scores - e.g. did they also rate Flight of the Navigator 5* and The Emoji Movie 1*?
If they matched here the next thing was to analyse their review writing. Deploying the Fog Index algorithm across all of the reviews from a given user I then matched those users closest to your “reading level” [the fog index is a writing complexity algorithm : higher score = more complex writing style] and this helped filter to those reviews you would be more closely aligned to. [for example; this blog post scores 13.93 which puts it at “Undergraduate” level].
Then it was a case of finding the other movies those users had rated highly but which you hadn’t reviewed yet, weighting the recommendation on average score and number of reviews that fall into your filter.
Simple right?
The intention was to give you recommendations that you can actually trust above some arbitrary number ranking, and something that would improve with more data. This whole “it’s better with more data” thing has been around a while, eh?
But what’s the point? Yes, sorry - the point of this is not just to tell you how clever I was 20 years ago, it was to point out that the above recommendation system [latterly coined “FogLight” as a way to “see through the fog”] took the best part of 7 months to complete. This is something you can literally ask ChatGPT to do today.
Go here: https://charactercalculator.com/gunning-fog-index/ and paste in the contents of your last piece of writing - email / letter / review / whatever.
Next: open your preferred ai chat bot and paste this: “find reviews from only squaremeal of [your favourite restaurant] that are 5 stars and have a gunning fog index score of [your fog index score range e.g. “13 - 14”] please.” [manners cost nothing despite what Sam Altman says, squaremeal because they expose their review text freely. - note you might need the advanced reasoning model to process text analysis].
There’s a good chance you’ll see reviews from users who you agree with, and then you can see what else they liked and try out something new. - You’re welcome!
And there you can see the power. But I’m not talking about the power of AI. Yes, having an on-demand analyser to do something in 30 seconds that it took me 7 months to achieve is an incredible leap, but my point here is that the power wasn’t and isn’t in the chatbot, AI tool, or latest subscription service. The power is and always has been in the ideas and innovation and creative solutions to the problems we have in our lives. Tools come and go; they are simply the packaging. Sure - some packaging is fancier and performs faster, but it’s the stuff inside that counts. The stuff inside can change your old skateboard and phone mount into a snowboarding simulator*, your rowing machine and google earth into an around-the-world adventure, or even your favourite AI chatbot into your private FogLight. While AI can massively speed up or simplify processes, the original idea remains the real source of lasting value, and is something that is able to adapt, grow and adopt new technology rather than becoming obsolete when the next phase of gadgets or tools come on the market.
*write up coming soon