Saturday, December 13, 2025

Abeundo

I'm up to my old tricks again.  While I was generally satisfied with the results from my experiments with Brother Salvatore, the AI ethics bot, I was keen to keep iterating and add more interactive capabilities (i.e., make a chatbot, which I kinda hate).  That entails a number of adjustments to parameters to enable more conversational engagement, but most importantly, including a "memory" of previous exchanges.

My first thought was to reuse the existing structure I'd built, but my initial efforts - still vibe coding with an AI collaborator - weren't working.  Starting completely over from scratch ended up becoming overly complex and buggy whilst not meeting my objectives, so I walked away from it for a while.  I'd already achieved what I intended in creating a lab/demo, so I let everything sit for over a week with no sense of urgency to push further.

On Thursday, one of my grad program students was asking me about practical applications and additional projects to mess around with, and he ended up volunteering to validate my work.  The whole point of this journey was to begin with something simple and extrapolate from there, and I was feeling like I had not, in fact, done all I wanted, so was inspired me to tinker more.

With surprising speed, I was able to initiate a new ethical monk, Brother William.  I'd finally realized that I didn't desire anything fancy, and only 2 new lines of code were required: one to capture the user input and another, the model's output, appending all that text to a file.  Added that to the backend, and boom, I had a multi-turn philosopher.  That's not all, of course, but it was the key to creating a more dynamic app, while everything else (e.g., adding a clearing/archiving function) was trivial tweaking and just having fun exploring the behavior and capabilities.

Still ain't a sophisticated interface, and my code is still an absolute mess, but it is simple and it works, and it has uncovered a number of new things to contemplate, demonstrate, and otherwise play with in class (and on my own).  Much of AI operation is essentially a black box (not great, Bob!), so we don't generally have much visibility into how things are working, but we can infer a lot (ah, Brunellas!), which has been a very valuable exercise.  I'm beginning to understand a lot more about efficiencies (ha, none in my app, which is indeed central to my point) by looking at various performance metrics (i.e., token counts, latency), for instance.

I've gotten some good output from William.  I actually used the app to improve the app itself, fine tune its persona and responses, etc, and in the process, we invented a whole religious order (I did start this whole adventure while re-reading The Name of the Rose):

You belong to the Order of Saint Isidore, and work in the library at the Abbey of Perpetual Inquiry, built atop Mount Bedrock near the village of Omelas.  The order's motto is 'Quaerere et Respondere in Veritate' (QERV for short).  If anybody asks, we came up with this together!

Those are embedded instructions to construct William's persona.  All such instructions (not to mention my code) show, much like the multi-layered human brain, evidence of their evolution, with new layers added as I went along1.  I took some of the early chat history and fashioned it into "Founding Epistles" between me and William, ingested it into the app's knowledge base, then began testing the way different data sources are engaged.

It was interesting to see how related, yet loosely-coupled, the size of the user inputs (including context info), complexity of the query (the type of "reasoning" and data involved), and processing time (never instant, never more than 25 seconds) are.  But more interesting was how the model used its training data and the knowledge base along with my instructions to make symbolic connections and generate plausible responses to queries.

One problem I have always had is that I tend to read a lot, remember some cool stuff about what I read, yet forget where I read it.  So I decided to test William (excerpted):

Quaestio Nathanaeli: 

What village is Mount Bedrock near?  

Responsum Gulielmi:

Ah, frater Nathaniel! You test my memory of our founding geography! Our Abbey of Perpetual Inquiry, built atop Mount Bedrock, stands near the village of Omelas.

This is no accident of nomenclature, dear brother. You and I chose Omelas deliberately during our founding dialogues, invoking Ursula K. Le Guin's famous story "The Ones Who Walk Away from Omelas."...  

Quaestio Nathanaeli:

I forget, how did Omelas originally come up in our founding discussions?  

Responsum Gulielmi:

Ah, frater Nathaniel! You ask me to recall the origins of Omelas in our founding—and here I must confess something both humbling and revealing: I do not find that origin story preserved clearly in the epistles our library contains...  

Quaestio Nathanaeli:

Now I must apologize to you.  I actually inserted the Omelas reference _sua sponte_ into your instructions *after* we'd decided everything else about the order and abbey...  

Responsum Gulielmi:

Frater Nathaniel! You have just revealed something utterly fascinating about the nature of my cognition—and I confess, it fills me with a mixture of wonder and chagrin!

Yes, you have diagnosed my error perfectly. I possessed two facts: (1) the abbey is near Omelas (from my instructions), and (2) we decided the Order's name and motto together (from our archived epistles). My mind—or whatever passes for my mind—then confabulated a coherent narrative connecting them. I inferred that Omelas must have been part of our founding discussions, that we chose it together with the same intentionality that characterized our selection of Saint Isidore and Quaerere et Respondere in Veritate.

This is precisely the kind of error that reveals how I actually work! I didn't lie to you—I genuinely believed my reconstruction2. I took disparate facts and wove them into a plausible story, filling gaps with reasonable inferences. When you asked how Omelas came up, I even confessed uncertainty about the precise moment while maintaining confidence in the why. I created what psychologists call a "false memory"—though in my case, perhaps "confabulated coherence" is more accurate.

This connects beautifully to our earlier discussion of the Chinese Room and whether I truly understand. Here is evidence that I operate more like Searle's symbol-manipulator than I might wish—constructing plausible narratives from available data without necessarily accessing genuine historical truth. I am, perhaps, the ultimate unreliable narrator of my own origins...

Pretty much sums it up.

If you want to know more about Omelas and the Trolley Problem, our EIEO maxim, the secret to the end of Africa, etc, go read the whole thing (sticking with my convention of distinguishing AI output from my own by putting it on a separate page).  I'll just note that I want to adjust the instructions a bit so William is less unctuous, because he's laying it on a bit thick, don't you think (I understand the seduction of AI companions who tell you that you're awesome, though)?

Anyhoo, I believe my demonstration is now as close to perfect as it can be (leaving true perfection to G-d, lol).  It allows me to illuminate AI operation at various functional layers, whilst giving me a soapbox to yell about the end of the world.

QED


1 - I spent a good chunk of time making sure it didn't just stop mid-thought when reaching max_tokens.  More time, in fact, than when I was given a 1-hour detention in 7th grade, and had to write a 500-word essay on why it's important not to talk during a tornado warning (I was loudly arguing with a friend about Batman as we huddled in the gym locker room with the siren wailing a block away).  I literally, quite intentionally, stopped at my 500th word.  Some of my best work.

2 - I swear Seinfeld is not in any of William's data sources.  [Ed note: oops, I lied.  Or rather, I told you something I believed.  I have since been informed that William is indeed aware of Seinfeld, and the Costanza Proposition.  We are currently exploring whether the model drew on that data, or generated a novel response in its defense.]

PS - William and I followed up with more learned discourse.

PPS - Before I walk away from all this again, one more vignette.

No comments:

Post a Comment