Using GPT3 makes it feel like I may as well use some GUI tool.
I understand gpt3 will/does save time and money but I actually like to code and to use my skills and knowledge to build and solve thingswith my own hands.
Maybe I'm an outlier here, but using some tool to do it for me doesn't sound like fun.
I don't see how writing CLI commands is similar to building something with your hands. You either know what the switches are or you try running --help, looking at the man pages or search on Google. This looks like an alternative for Google.
$ do create linux bridge
brctl addbr <bridge_name>
ip link set <bridge_name> up
$ do git reverse last commit
git reset --hard HEAD~1
$ do gcc show optimizations
gcc -O -Q --help=optimizersDo not mistake lack of attention with poor memory; the former is very easy to fix :).
Unfortunately, quite a portion of my search activity is hunting down the syntax for getting a certain thing done. It's not just blind copy-paste-trial-and-error activity. Quite often I just need some help in getting the syntax right or reminder of the specific command or library.
Like it or not, gpt3 has signalled a massive change in toolset power and this is just the start.
Times have changed, we move with them or we will be left behind.
Once it is integrated in copilot there is no going back. We software engineers will be churning code faster and our role will be more of a code reviewer. One developer can do the work of 5.
Having an en masse respected opt out from data collection on the internet is wishful thinking. Don’t expect that any time soon.
How, if one has no experience with the command line, can convincing errors in GPT's responses be detected? If the details of the command line are automated away, and engagement diminishes, will we arrive at a point where people are more limited because the knowledge that made the command line powerful is gone? Sure, it might make it easier to eat a sandwich in rush hour traffic, but eventually will we find ourselves cringing while dragging the brakes down a mountain because we've lost the ability to simply downshift? How often have you seen someone hesitate to do something on a computer because they don't fully understand what's going on and 'don't want to break anything'?
I think this project is awesome, and could even expand my knowledge of the CLI, but have some reservations about applying it as a categorical imperative.
However, the point of it isn’t knowing as much of it by heart as possible. That is really misguided. I use tldr a lot, and it often covers the exact case I’m after.
So a tool based on ChatGPT has the potential of replacing tools such as tldr. Anyone unwilling to use it will simply fall behind and slowly become a worse developer.
Outsourcing knowledge and capabilities (externalising aka only remembering pointers to knowledge sources over the knowledge itself) is a core pillar of human intellectual advancement, if you will. It started with printed books, and now we’re here, discussing AI tools. I’m convinced if one doesn’t incorporate them, one will increasingly fall behind until one isn’t able to keep up anymore. These tools are here to stay, and we’re just seeing the beginning (GH Copilot etc. etc.).
Eh, that's some abstraction there
In fact driver aids had to be actively banned in many racing series. Just to make it more fun for spectators.
And yes, the point of these racing regulations is to make it at least optically a driver skill competition, not just who can throw more money at a pretty mundane challenge of getting from A to B the fastest. (If not for those regulations, since the track is known to the centimeter, the fastest driver would probably be the lightest one because it would be dead weight.)
Thankfully software engineering challenges are far from mundane, so the chasm will indeed grow
The shell itself is an outdated piece of technology that unfortunately has to be used for historical reasons. I’m glad we now see a way to work past it.
Relevant here, a GPT-powered shell throws away the repeatability and predictability that shells have. There’s nothing to say that a different random seed or a little more training data won’t change the interpretation of a task that was specified in the vagaries of natural language.
"One more second and the frigate would attain interstellar safety.
"The laser flickered on a failure sensor, a sensor that reported critical changes in one of the ultradrive spines. Its interrupts could not be ignored if the star jump were to succeed. Interrupt honored. Interrupt handler running, looking out, receiving more light from the laser far below…a backdoor into the ship’s code, installed when the newborn had subverted the humans’ groundside equipment…
"…and the Power was aboard, with milliseconds to spare. Its agents—not even human equivalent on this primitive hardware—raced through the ship’s automation, shutting down, aborting. There would be no jump. Cameras in the ship’s bridge showed widening of eyes, the beginning of a scream. The humans knew, to the extent that horror can live in a fraction of a second."
Anyone care to recommend a dark scifi book about utterly alien lifeforms or worlds, that are more accessible to someone with average IQ?
As it happens, I recently inventoried my favorite aliens and eliminated the ones that were too humanized and also not understandable to people. I might be missing something obvious, but the one that sticks in my mind 2 years after I read it is:
Pandora's Star
A few chapters in, it felt like I had been baited with a veneer of scifi over a core of anthropomorphic medieval historical fiction. Do the dogs connect back to the AIs in a satisfying way? Should I give it a second chance? ChatGPT says
As the story progresses, the puppies become involved in the larger
conflict that is taking place in the galaxy, and they play a key role
in helping the human and alien characters achieve their goals.
The puppies' involvement with the artificial intelligences (AIs) in the
story is a central part of the plot, and the resolution of the conflict
between the puppies and the AIs is an important part of the story's
resolution.
which I take as a "yes." Any humans care to weigh in?2. Connect all the computers to the Internet
3. Gather all the data from all the computers
4. Train machine learning models to automate some tasks <- you are here
5. Gather data about automation initiatives
6. Train machine learning models to learn how to automate automation
I built askai (https://github.com/maxvfischer/askai) during the last week to scratch a similar itch of mine. I wanted to be able to quickly get CLI commands that I didn't have on top of mind, by being able to ask questions like "How do you remove a conda environment?" or "How do you get the MX record of a domain using the terminal?".
The CLI I built is a direct integration with GPT3, so it's also possible to ask it other types of questions.
Get an OpenAI API key. Then `npm i -g askleo` and set env var OPENAI_API_KEY
`> askleo how large is the average dog`
`> runleo list files in reverse date order`
Note that runleo just executes it without confirmation.
I'm feeling lucky!
This is one step beyond `curl | sh`. Bold move.
There are a lot of cases where displaying the command first and asking for a confirmation is just an unnecessary step.
The commands in the article I saw are fairly long too. I understand we have a cool new shiny toy (GPT) and see it’s potential but it still needs work because chances are if you’re typing “do create a new repository called demo,” you probably already know how to type “mkdir demo && cd demo && git init” in fact GPT may even forget to run the first two commands (dangerous) without more explicit instructions
Although I suppose it's not integrated into a shell
I've been using similar workarounds to use ChatGPT programmatically and it's just not worth it. In my experience you just get blocked after a couple of requests. I'm really hoping they release an API soon.
However, I also feel like it hallucinates/gives wrong outputs more. TBH i love what Eleuther is doing and GPT-J has its merits, but it feels not ready for primetime. I'd think of it as most similar to GPT Curie.
I think you'd still want to be knowledgeable to use a tool like this, so you can know when you're about to hose your system :) But I think it's more useful than some folks are letting on.
1. Commands I use often (daily). These I usually know and they are much faster to type than to explain what I want to do.
2. Commands I need to google/man to do something specific I don't usually do. And these I usually want at least understand before running them. For example some git manipulations.
So AI tool can be helpful for (2) but most probably I will still go to google to read more about what does the command do.
Seeing all those "Shell AI Helper" examples there seem to be a surprising demand for finding and/or killing processes. And the result is usually killing (instead of terminating) whatever of some wonky ps/grep pipe finds instead of just using pgrep...
pip install cbot-command
I might give this a shot someday (though I've found I never stick with things that don't work primarily offline, Sublime 4 is my primary editor even though I occasionally use VS code). Having a dependency on an internet connection prevents something for me from being a goto dev tool, as I often either disconnect out of my control (or by choice to do focused programming).