Saturday, June 6, 2026

Self-agency

In class on Thursday we discussed AI agents, so that accompanying graphic caught my attention layer.

Backing up a bit, the curriculum that I'm piloting is quite different than anything I've developed and delivered previously.  The legacy approach1 has been to teach a bunch of stuff related to a topic, then do stuff that applies some of what was learned.  What I'm experimenting with starts with a challenge: here is a task to complete, now go figure out how to do it.  The tasks my cohort is given are all about sequentially building new capabilities and complexities into an application/workflow.

We began with about 40 lines of code that I handed to them as a foundation.  It's a basic starting point, merely invoking an LLM, and getting a response.  None of the frills one would expect from even the simplest chatbot.  From there, they've added a persona and other system instructions, then access to a knowledge base for retrieval-augmented generation, followed by persistent "memory" (e.g., chat history), etc.  

Each layer requires them to learn something about how to implement technically, but also forces them to consider the implications of each change they make.  Will this improve output, or can it degrade it?  What does this do to performance?  Does it open up new attack surfaces?  That kind of thing.

So Thursday's build was about adding agentic behavior (I actually prefer that descriptor over saying "agents", which oversimplifies as much as "models", but admittedly it's clunky).  When we talk about agents, folks will often analogize by saying this entails giving models hands, but it's really about giving them more context to do their jobs (at heart, responding to queries and other prompts) through access to tools.

The reason I highlight this is because the LLMs are still passive constructs here, waiting for input.  It doesn't all of a sudden give models any particular power or agency, but rather adds a layer of functionality separate from the model that it can direct.  That layer merely presents a menu of options to the model, so if it determines (through its probabilistic predictive capabilities) it needs something (usually information/context) to accomplish its task, it can select a tool that will fill that gap.

Here is an example tool definition from my Socratic learning engine:

So you've got a tool name, a description of its purpose, and the schema used to tell it what to do.  All of that is sent along with the user input and other context (including specs for other available tools) to the model.  It processes everything, then maybe decides it needs some AWS documentation to respond to a learner's query, sends back output selecting the required tool with the necessary arguments ("search for Lambda Function URL AuthType options"), and waits for more info.  Rinse, repeat, until the turn is over (i.e., the final answer is ready).  Again, nothing mysterious, no thinking involved, no selfhood, just a basic programming loop.

Some agentic systems might have more kinetic functions than mere info gathering, like being able to delete something in a directory, which adds a level of risk to the endeavor.  You don't even need to imagine the dangers, as the news has reported our own Kiro coding tool was enabled to cause a couple of (limited) AWS outages.

These things can only do what we engineer them to.  Human developers and operators make security choices when they opt to grant access to agentic powers.  The models are still models, with no agency or accountability.  We are the accountable agents, not the AI tools.

Bottom line: giving a toolkit to models that lack consciousness doesn't magically imbue them with a sense of self.

Selah.


1 - "Legacy" in my program's context is still a departure from typical corporate training (something I've railed against my entire corporate training career).  Since the pandemic started, we've employed a "flipped" model - really not dissimilar to college courses - wherein learners engage with foundational content (lower level Bloom's objectives) on their own (what we call "Individual Space" or simply independent study), then we regularly come together with the larger cohort to synthesize and apply concepts ("Group Space" activities, demos, lectures).  Still following that form in essence, but inverting the pedagogical and cognitive flow.  Point is that we don't click through massive slide decks every day, which is boring and stupid.

No comments:

Post a Comment