Comment by thatjoeoverthr

Comment by thatjoeoverthr 2 days ago

28 replies

In game design we used to call this opacity “hunt the verb” in text adventures.

All chat bots suffer this flaw.

GUIs solve it.

CLIs could be said to have it, but there is no invitation to guess, and no one pretends you don’t need the manual.

QuercusMax 2 days ago

For CLIs - most reasonable commands either have a `-h`, `--help`, `-help`, `/?`, or what have you. And manpages exist. Hunt the verb isn't really a problem for CLIs.

And furthermore - aren't there shells that will give you the --help if you try to tab-complete certain commands? Obviously there's the issue of a lack of standardization for how command-line switches work, but broadly speaking it's not difficult to have a list of common (or even uncommon) commands and how their args work.

(spends a few minutes researching...)

This project evidently exists, and I think it's even fairly well supported in e.g. Debian-based systems: https://github.com/scop/bash-completion.

  • bangonkeyboard 2 days ago

    > For CLIs - most reasonable commands either have a `-h`, `--help`, `-help`, `/?`, or what have you. And manpages exist. Hunt the verb isn't really a problem for CLIs.

    "Hunt the verb" means that the user doesn't know which commands (verbs) exist. Which a neophyte at a blank console will not. This absolutely is a problem with CLIs.

    • npunt 2 days ago

      Discoverability is quite literally the textbook problem with CLIs, in that many textbooks on UI & human factors research over the last 50 years discuss the problem.

    • lossyalgo a day ago

      "Hunt the verb" can be alleviated to some degree for programs that require parameters by just showing the manpage when invalid or missing parameters are specified. It's highly frustrating when programs require you to go through every possible help parameter until you get lucky.

    • dididn284d 2 days ago

      I think this is a naming problem. CLI is usually the name for the interface to an application. A Shell is the interface to the OS. Nonetheless agree with your post but this might be part of the difficulty in the discussion

      • buildbot a day ago

        To be super pedantic, wouldn’t the interface to a shell itself be a Command Line Interface? ;)

        • dididn284d a day ago

          that’s the ambiguity that I think is tripping the discussion up a little. Also the idea of a CLI/Shell/Terminal is also quite coupled to a system, rather than services. Hence the whole ‘web service’ hope to normalise remote APIs that if you squint hard enough become ‘curl’ on the command line

          But the point is none of that is intrinsic or interesting to the underlying idea, it’s just of annoying practical relevance to interfacing with APIs today

    • mingus88 2 days ago

      Per the thread OP, nobody pretends that CLIs do not need a manual.

      Many users like myself enjoy a good manual and will lean into a CLI at every opportunity. This is absolutely counter to the value proposition of a natural language assistant.

    • bnjms a day ago

      Yes. But I think the point is a good one. With CLI there is a recognition that there must be a method of learning what the verbs are. And there are many traditions which give us expectations and defaults. That doesn’t exist in the chat format.

      Every time I try to interact with one of these llm gatekeepers I just say what I want and hope it figures out to send me to a person. The rest of the time I’m trying to convince the Taco Bell to record a customer complaint about how its existence itself is dystopian.

  • nextaccountic a day ago

    > And manpages exist.

    For older tools, sure. Newer tools eschew man pages and just offer some help flag, even though there are excellent libraries that generate manpages like https://crates.io/crates/clap_mangen or https://crates.io/crates/mandown (for Rust, but I am sure most languages have one) without requiring you to learn troff.

    • OJFord a day ago

      Newer in maturity though, I'd say, no not like 'modern' tools vs. only vintage tools have them. It's just not something people tend to consider early on I think, but popular stuff gets there. (For one thing, at some point someone points it out in the issue tracker!)

  • thatjoeoverthr a day ago

    All of this is true. “Invitation to guess” is the key phrase in my comment. CLIs present as cryptic, which is a UX _advantage_ over chat wrappers because the implied call to action is “go do some reading before you touch this”.

    An AI wrapper typically has few actual capabilities, concealed behind a skeuomorphic “fake person” UX. It may have a private list of capabilities but it otherwise doesn’t know if it knows something or not and will just say stuff.

    It really needs to be 100% before it’s useful and not just frustrating.

  • [removed] a day ago
    [deleted]
  • dhussoe 2 days ago

    the comment you're replying to said:

    > but there is no invitation to guess, and no one pretends you don’t need the manual

    which is basically what you're saying too? the problem with voice UIs and some LLM tools is that it's unclear which options and tools exist and there's no documentation of it.

    • nneonneo a day ago

      Siri does have documentation: https://support.apple.com/en-ca/guide/iphone/ipha48873ed6/io.... This list (recursively) contains more things than probably 95% of users ever do with Siri. The problem really boils down to the fact that a CLI is imposing enough that someone will need a manual (or a teacher), whereas a natural language interface looks like it should support "basically any query" but in practice does not (and cannot) due to fundamental limitations. Those limitations are not obvious, especially to lay users, making it impossible in practice to know what can and cannot be done.

PunchyHamster 2 days ago

CLI + small LLM (I am aware of the oxymoron) trained on docs could be fun

  • bmandale a day ago

    If you like deleting all your files, sure. LLMs, especially small ones, have far too high a propensity for consequential mistakes to risk them on something like that.

    • PunchyHamster a day ago

      I was thinking more in context of interactive help that will just find and display relevant manual info (to get around the problem of "it remembered wrong") rather than vibe coder favourite of "just run what you hallucinated immediately"

xnx a day ago

The lack of an advertised set of capabilities is intentional so that data can be gathered on what users want the system to do (even if it can't). Unfortunately, this is a terrible experience for the user as they are frustrated over and over again.

  • setr a day ago

    Given that they made no apparent use of such information in practice, the unfortunate thing is that they had the idea to begin with.

    • eitland a day ago

      This is a problem all over our industry:

      - almost every search field (when an end user modifies the search instead of clicking one of the results for the second time that should be a clear signal that something is off.)

      - almost every chat bot (Don't even get me started about the Fisher Price toy level of interactions provided by most of them. And worse: I know they can be great, one company I interact with now has a great one and a previous company I worked for had another great one. It just seems people throw chatbots at the page like it is a checkbox that needs to be checked.)

      - almost all server logs (what pages are people linking to that now return 404?)

      - referer headers (you product is being discussed in an open forum and no one cares to even read it?)

      We collect so much data and then we don't use it for anything that could actually delight our users. Either it is thrown away or worse it is fed back into "targeted" advertising that besides being an ugly idea also seems to be a stupid idea in many cases: years go by betweeen each time I see a "targeted" ad that actually makes me want to buy something, much less actually buy something.

sakesun 2 days ago

That's explain why there is a limited set of recommended verbs in PowerShell.

pxtail 2 days ago

Very well written, I'm wondering when current "cli haxxxor assistant" FAD will fade away and focus will move into proper, well thought out and adjusted to changed paradigm IDEs instead of wasting resources. Well, maybe not completely wasting as this is probably still part of discovery process.

pixl97 a day ago

>GUIs solve it.

Very charitable, but rarely true.

bane a day ago

A lot of AI models also suffer this flaw.