# The Language of Bird

*This is a fictional snippet from the* [*AI Vignettes Day*](https://www.lesswrong.com/posts/jusSrXEAsiqehBsmh/vignettes-workshop-ai-impacts)*. I do not think this is a likely future, but it’s a useful future to think about - it gives a different lens for thinking about the alignment problem and potential solutions. It’s the sort of future I’d expect if my own research went far better than I actually expect, saw rapid adoption, and most other ML/AI research stalled in the meantime.*

\[Transcript from PyCon 2028 Lightning Talk. Lightly edited for readability.\]

Ok, so, today we’re going to talk about Bird, and especially about the future of Bird and machine learning.

First of all, what is Bird? I assume everyone here has heard of it and played around with it, but it’s hard to describe exactly what it is. You’ve maybe heard the phrase “human concept library”, but obviously this isn’t just a graph connecting words together.

Some background. In ye olden days (like, ten years ago) a lot of people thought that the brain’s internal data structures were inherently illegible, an evolved hodgepodge with no rhyme or reason to it. And that turned out to be basically false. At the low level, yeah, it’s a mess, but the higher-level data structures used by our brains for concept-representation are actually pretty sensible mathematical structures with some nice universal properties.

Those data structures are the main foundation of Bird.

When you write something like “from Bird.World import Bookshelf”, the data structure you’re importing - the Bookshelf - is basically an accurate translation of the data structure your own brain uses to represent a bookshelf. And of course it’s hooked up to a whole world-model, representing all the pieces of a bookshelf, things you put on a bookshelf, where you’d find a bookshelf, etc, as well as the grounding of all those things in a lower-level world model, and their ultimate connection to sensors/actuators. But when writing code using Bird, we usually don’t have to explicitly think about all that. That’s the beauty of the data structures: we can write code which intuitively matches the way we think about bookshelves, and end up with robust functionality.

Functionally, Bird is about *translation*. It’s a high-level language very close to the structure of human thought. But unlike natural language, it’s fully formally specified, and those formal specifications (along with Bird’s standard training data set) accurately capture our own intuitive concepts. They accurately translate human concepts into formal specifications. So, for instance, we can express the idea of “put a strawberry on a plate” in Bird, hand that off to an ML algorithm as a training objective, and it will actually figure out how to put a strawberry on a plate, rather than Goodharting the objective. The objective actually correctly represents the thing we’re intuitively saying.

That’s the vision, anyway. The problem is that there’s still some assumed social context which Bird doesn’t necessarily capture - like, if I write “put a strawberry on a plate”, the implicit context includes things like “don’t kill anyone in the process”. Bird won’t include that context unless we explicitly add it. It accurately captures “put a strawberry on a plate”, but nothing else.

Today, of course, Bird’s main use-case is for smart contracts. For that use-case, it’s fine to not include things like “don’t kill anyone”, because we have social norms and legal structures to enforce all that already. So for contracts between humans, it’s great. Thus the big resurgence in smart contracts over the past few years: we can finally formally specify contracts which actually do what we want.

But for ML systems, that doesn’t really cut it. ML systems aren’t human, they won't strictly follow social norms and laws unless we program - or train - them to do so.

The obvious solution to this is to express things like “follow the law” or “obey social norms” or ideally “do what I mean, not what I say” in Bird. But this is all tightly tied in with things like agency, self-reference, and goal-directedness. We don’t yet fully understand the right data structures for those things - self-reference makes the math more complicated. That’s the main missing piece in Bird today. But it is an active research area, so hopefully within the next few years we’ll be able to formally specify “what we want”.