So, I guess this is the inevitable conclusion with LLMs. Connect them to a real terminal and let them act on real-world objects... I honestly don't know whether I like the idea or not, but I guess it's good to have this conversation now while it is only a marginally better version of tldr.
```
grammar = """
Response ::= "Alice\n" (ListOfCmds | SingleNaturalLangResponse)
ListOfCmds ::= (BashCommand\n)+
BashCommand ::= "$ " AnyString
SingleNaturalLangResponse ::= AnyString without $"""
```