, ,

6 — The Landingham

I’m shellshocked by the barrage of new developments in AI. This past week it was Fable 5 and then Fable 5 being silently refused to academic researches, and then the U.S. government instructing Anthropic to withdraw Fable 5 from public release. And that’s just the non-technical part of the past week’s AI news.

My only thought here is that, whether we hoi polloi are using Fable 5 (or Mythos), that big, fancy horse is already out of the barn. Whatever the limits of its capabilities, its capabilities already exist and there’s no doubt that someone is using them.

For myself, I’ve mostly kept my head down, though there were a couple of interesting developments that I’ll mention and link to down below. For the most part, though, I worked on important part of the assistant I’d like to build. I don’t know what the future of AI holds, but I do at least know what the end goal for this particular aspect of the assistant is. It looks freakishly like that television series power duo, President Bartlet and Mrs. Landingham.

Mrs. Landingham

So, for those not of a certain age, Bartlet and Landingham are characters in the 1990’s network tv series The West Wing. Bartlet was the U.S. President (a kind of a television shadow alternative to the real-life Republican in office). Bartlet was erudite, civil, and an effective leader. When he finished a meeting or a task, he’d call out for Landingham (at least in the first two seasons; the program killed her off at the end of season 2).

It was Landingham who got all the requests for the President’s time, anything he personally had put on his own to-do list, and any to-dos that just kind of come with the job. She’s the gatekeeper, sure, but she’s more than that. She figures out how to get the most out of the President’s working hours. The President, for his part, has an incredibly simple interface with Mrs. Landingham. When he finishes something, he calls out to her, “Mrs. Landingham, what’s next?

I want to build a “Landingham” that constantly re-evaluates the state of everything that might be relevant (including things I’m not yet aware of) and has the best possible answer for the current moment when I call out “What’s next?”

What have I been saying, Claude?

I’m currently experimenting with a couple parts of this. One experiment is a daily brief I’ve created using Claude Cowork and surfaces items from the Todoist task list app and a notes data table I’ve created on Airtable (the notes collection part is discussed in Issue 4). To date, I’ve managed to get it far enough along that it gives me friendly little sermons about tasks that either are or appear to be long overdue. For example:

You voice-noted this on 6/8 (“I need to figure out something as a design for the front walk”), so it’s clearly still on your mind. Worth committing to a decision or moving the date.

It’s time to push this farther along, so I’ve been tinkering with how to encourage it to interactively ask questions about tasks in terms of the motivation for having the task and how it does or doesn’t tie into longer term desires and goals. I’d really like to create something that says, “Hey, consider dropping these two items and not doing them–they don’t get you any results that you care about and they don’t move your toward any goals down the line.” That sort of thing.

I would argue that this isn’t something that gets set up as an AI prompt, but rather as a non-AI applet that hands off analysis and prioritization to AI. So it’s the end of the daily briefing as a scheduled task in cowork and the beginning of an app with a store of priorities, projects, goals, extended goals, and so on. I’d like to see how much of my actual life’s disparate elements can get crammed in there and then juggled by the algorithm. I want to say, “Mrs. Landingham, what’s next?” and get an answer that has my personal best interests in mind.

Does a person really need a Landingham, or are the obvious tasks that need to be tackled to reach the obvious long-term goals clear enough that only laziness and self-destruction lead to them not being carried out? Or is it perhaps the case that there is so much uncertainty in life that it’s a mistake to get to focused on the “optimal” approach to one’s task list?

I don’t know. But I’ve always been fascinated by the idea of having a to-do system that paid attention to how long you thought tasks were going to take, to how long they actually took, and to what the implications of the real time costs of various tasks were for achieving long-term goals. If a system like that is going to be made to work, surely AI will be at the root of it, and finally the AI seems more than good enough to take a credible stab at building such a thing.

Beyond the Landinham part lurks the Bartlet part, but we’ll save that for a later issue.

Prototypical

As I mentioned, I spent some time on this week, mostly chatting with Claude from within what might be called the “Proto-Assistant”.

The current focus of this Proto-Assistant is to remember things, as I discussed last week. I have a chat with it, push a button that says “Remember This Chat”, and then it summarizes and “remembers” the chat.

What it means to “remember” the chat is that I pass the transcript of the chat to the api with a prompt that instructs the LLM to create a precis of the transcript. Additionally, the prompt asks the LLM to choose from a list of existing category tags (which are appended to the prompt) up to three suitable tags. And if it thinks important tags are missing, it’s allowed to create no more than two. The limits at three and two are, I should say, completely arbitrary and subject to revision as I get more experience with the system.

The head of this prompt template:

Please create a concise memory summary of our conversation for future reference. Include:
- Key decisions made
- Important context or preferences expressed
- Specific takeaways or action items
- Any technical choices or constraints discussed

Keep it brief and factual, written as a reference note rather than a narrative summary.

Focus on information that would be useful context in future conversations

Then there follow sections that handle category assignment, which project this is associated with (the system supports a notion of separate projects), memories that were prepended to the chat (to be evaluated for possible updates), instructions for the JSON format of the output, and an instruction or two about how to handle multiple updates or a lack of any updates.

The full prompt layout is in the Lab Notes section at PeakZebra.com. The thing to note, though, is that the prompt is pieced together dynamically by my code, not by an LLM. This underscores an important point I’ve mentioned before: if you want to control context in today’s LLM’s, you’ve got to manipulate the prompts with your own code during the ongoing session and you’ve got to work via API calls as a result.

I save both the transcript and the precis (which the system refers to as a memory) as two separate data types, with the transcript being saved more or less because, hey, why not.

As hinted at above, the process is actually just a little more complicated than what I’ve described because I also need the system to consider whether the important bits of the current chat are new material or are updates of things that are stored in existing memories. Mind you, the context window will only hold the memories that have been previously injected, so as a matter of keeping things simple, only those memories are eligible for updates, but I’ve found that this works surprisingly well so far.

Let’s make this about me

I also began to see the wisdom of having a sort of “about me” file that is injected into most or all conversations. There are a number of prompting approaches that use something like this. I ran across and tried out one that is still in alpha, where I’m not sure that they want their name out there yet, so I’ll just say that what they’re doing that’s quite interesting is creating a system that populates the “project” folder in Claude Cowork. For this, it creates what I’d call an “about me” file (they call it something else). It’s like plenty of other things, except that one thing I thought was particularly interesting was that it creates this file by having a long chat session with you.

The conversation asks you about what you’ve been working on lately and then follows up with a long (too long, I suspect, for most potential customers) series of questions about how you think about the strengths and weaknesses of your project, what keeps you up at night about it, what things other people might worry about that you don’t, why it might be that you’re not worried, how you tend to approach problems in this project, how you like to approach work, and so on.

Like a lot of things in the AI productivity world, I suspect it may be overkill. I think the object of systems like this is to onboard people so that, as fast as reasonably possible, they have an experience of the system remembering something that they didn’t expect it to have remembered. It’s at that moment that a person viscerally understands that the system is actively remembering. When it happens (and it does happen), it’s pretty magical.

Having the system remember using simple algorithms is the first landmark I’m tackling, but close behind it will be an awareness of a set of goals and the todo items associated with those goals. Having a Landingham sounds magical (at least to me), but let’s not forget that Bartlet has crazy intellectual chops. He’s always tossing a Latin phrase into the proceedings — on network television, no less. You can tell the series was written and filmed in a long-lost America. Anyway, he asks the hard questions. He surrounds himself with smart people and lets them argue for their positions without pulling rank. He’s a font of remembered history, which is the real point I’m trying to get at. I want the system to facilitate better and better thinking by remembering our conversations and making important connections that I might miss.