Updates on 2024/5/17

Complete delegation

Over the last year, I've changed my mind quite a bit on the role and importance of chat interfaces. I used to think they were the primitive version of rich, creative, more intuitive interfaces that would come in the future; now I think conversational, anthropomorphic interfaces will coexist with more rich dexterous ones, and the two will both evolve over time to be more intuitive, capable, and powerful.

I'll say much more on that later, but because of this, I recently built a little chatbot agent that eagerly executes its actions without any human approval. I ask questions and request edits, and the system takes action fully autonomously, sometimes giving me post-hoc updates about what actions it performed.

I intentionally built the interface to be as opaque as possible. I talk to it through iMessage, and I can't see the specific API calls that were made nor data that was recorded. I can only see the text the LLM decides to show me. There is no human in the loop, except me asking it to do things. Only safety mechanism is that all actions are append-only, so there's no risk of data loss (only of massive data chaos).

It felt weird for a bit — I kept checking the database manually after each interaction to see it was indeed updating the right records — but after a few hours of using it, I've basically learned to trust it. I ask it to do things, it tells me it did them, and I don't check anymore. Full delegation.

To be in this mode of collaboration, I've completely given up having specific opinions about the exact state of the underlying system. I can't micro-manage. I care little about specific data format or detail the model generates, only that when I ask it for some information in the future, the system will give me a good response. I only care about the I/O, not the underlying data representation. If the LLM is intelligent and coherent enough over long ranges of actions, I trust the overall system will also remain coherent.

I think this might be the right way to do delegation to a generative model-powered autonomous system in the long term: you must believe in the big, messy blob, and trust that the system is doing the right thing.

How can I trust it? High task success rate — I interact with it, and observe that it doesn't let me down, over and over again. The price for this degree of delegation is giving up control over exactly how the task is done. It often does things differently from the way I would, but that doesn't matter as long as outputs from the system are useful for me.

A little glimpse into a future of fully autonomous, natural language-commanded systems. Do you see the light? The trick is to not hesitate. Close your eyes and leap.