Copilot is amazing because it lets me stay in the flow when I need to churn out stuff (when I already know what I want). I would pay over 100$/month for a faster/less jittery copilot.
ChatGPT is cheap at 20$/month but not even worth that price.
Copilot is amazing because it lets me stay in the flow when I need to churn out stuff (when I already know what I want). I would pay over 100$/month for a faster/less jittery copilot.
ChatGPT is cheap at 20$/month but not even worth that price.
I'm bearish on the idea of long-term prompt engineering being a big skillset since I imagine the "understanding the prompt" side of the tools will get better, but I don't see it necessarily getting around the need for specificity of input. It feels like writing a task ticket and giving it to a junior person - what you get back might not be what you need, and a lot of time the true difficulty is knowing exactly what you need up front. Reducing that cycle time is wonderful, but doesn't replace the hard earned skills of knowing what to make.
For example, in stable diffusion land, lots of people have intuition about the relationship between certain prompts and the output they produce. That intuition is embedding and training data specific, so it's not really transferrable (even to different fine tuned models for stable diffusion 1.5). However, I use clip interrogation to map the portions of the latent that my prompt is pointing to, evaluate the embedding text to find desirable/undesirable elements, then adjust the prompt or add negative prompts to navigate my generations towards what I want.
SD has gotten to the point that someone can fine tune a model (LORAs) with 2 days of time and $2 of GPU time.
There'll be roles for AI wranglers in every large company, where you'll be gathering the dataset and building LORA plugins for the AI to adapt specifically for your codebase/customerbase/documentation etc.
There's also processes involved in building APIs for the AI (AIPI?) to use and interface with your documentation and systems, setting up vector databases, monitoring AI output etc.
People who think there won't be job for expert AI users are just coping. Thinking "haha AI will kill your job too". The steam engine was more powerful than 100 men. In the end it required like 30 people up and down the value chain to support the engines, from coal mining, to coal shoving, to maintenance, to manufacturing.
There will be a lot of business pressure towards using the "good enough" out of the box ones too. If you've got a team of less than a hundred people, rolling your own "datasets, LORA plugins, APIs for AI, vector databases, monitoring, etc" is a multi-person team and significant chunk of new expense. So is the incremental gain their for small to medium teams with relatively "standard" problems?
Kinda like self-hosting at that scale vs using a cloud vendor.
There are some scenarios where it would be useful to have chat like interface in editor to prototype fast - hopefully copilot x delivers.
However, I never was able to get it to write a successful function for anything that would have been useful. It got it wrong every time.
> ChatGPT is cheap at 20$/month but not even worth that price.
This is so general obviously it's not true. It's providing lots of value to lots of people. To me this sounds like someone with the goal of confirming their own biases.
"Programming" is a pretty broad activity description. I can readily imagine that AI tools, trained on publicly-available data, would be more helpful with, say, Wordpress plugins than with flight control systems.
Copilot is way better at generating boilerplate.
The one task I did find it useful was converting model types to open API spec - out of trying to use it for a month.
To my way of thinking, crafting the perfect prompt is about the same, or more, effort than crafting the perfect Google search. In both cases I'll probably have to double check the sources if I want a critical analysis of the results.
Example:
I gave chatgpt a list. Which looked like
st street
av avenue
Convert this to yaml format as
st:
name:
street
And so on.It failed spectacularly. Not even once but about 10 times. Even if it succeeded, it kept changing the output by doing ops which I never mentioned in the prompt (like reordering and merging duplicated values to a single key)
Update: I tried that with GPT4 and got this:
st:
name: street
av:
name: avenue
GPT 3.5 didn't know what to do with it.That's something I don't see mentioned enough; if you change the input to a LLM, that may potentially change the probabilities of all the output tokens. Most of us would be surprised if we told a junior developer to fix a bug in a specific module, and they submitted a PR which modified literally every file in the source tree, but that's entirely plausible with a LLM. Asking it to "fix" one thing may change/break completely unrelated things.
GiGo, basically
I've tried using it for code review on a few functions and tasked it to improve provided code - every time it would write worse code eg. I had some logic that would filter to a new list and then append replacement - it's refactor did filter -> add or replace for already filtered items, the reasoning was bullshit : fake performance claims about avoiding allocation when the "allocation" in question was value type, and the suggested alternative was replacing a vector with a hash map which is both logically wrong because of losing order, and slower for the use case.
For generating small stuff like a regex the pain you have to go through to get a correct prompt is higher than writing the thing and you still need to double check it.
I see no use case where chatgpt would improve my workflow in current stage and I've seen so many idiotic bugs recently when pressing the devs that introduced them it's basically "ChatGPT".
The one time it was useful was when I had to convert a model definition to open API spec - was easy to fact check and give feedback to get a decent solution.
Are you using GPT3 or 4?
Of course they think Chatgpt is a revolution and will replace developers, that's because they don't see the bigger picture.
If you work on anything remotely hard you already know coding is like 10% of the job and out of this only 10% is trivial and this is the only part got will get right
What are you doing in your daily biz? Could you provide some specific examples I'd like to see how chatgpt reacts to them.
Ok can chatgpt understand the super ambiguous requirement demanded by the customer, translate it into something meaningful to implement, anticipate what the customer actually wants (or will need in the future) and make sure the implementation meets that nuanced complexity? doubt it.
are you all writing hello world for a living?
"understand the super ambiguous requirement demanded by the customer, translate it into something meaningful to implement, anticipate what the customer actually wants (or will need in the future) and make sure the implementation meets that nuanced complexity" takes skill, but that is NOT what takes up most of the workday, implementation does - and if a tool saves some meaningful time on the implementation part, then the same project can be done in the same time with less people, i.e. replacing some jobs.
Sorry no, completely untrue here, its about debugging and inter system complexity and getting stuff like debug artifacts together, using various tools, debugger, sniffers here, trace analyzers there, having clue and figuring out the bug, and then fixing it, but please not the surface quick fix, but understanding the root cause (though ChatGPT couldn't even do the first thing well even if guided to most of these I guess, unless trained on multiple 100k to million loc code bases, which would not happen for other reasons)...
Pure implementation is the easy part (even if actually hard) and not taking up the workday, I'd wished it would more often..
It can help on those fun tasks like doing a visualization of some data for these things sometimes.. but there it is 50% great, other 50% I would have better used google skills and directly headed to docs or Stackoverflow where I can judge answers better, or transfer them to my problem more easy.
I personally doubt even ChatGPT10 will be able to do all these various tasks and reason between them...and even if, how much computing power should be there for how many tech people world-wide? I wonder I never read about scaling and limits..