So...why should they be included?
I really worry about this "often wrong" part - you only know they are wrong if you already know what you're doing. Otherwise you end up trying to use hallucinated APIs & libraries, or produce code not better than copy & pasting StackOverflow answers (which is what the AI was trained on anyway).
Code has a built-in form of easy fact checking, which makes it one of the most appropriate applications for LLMs. It's much harder to spot a hallucinated fact in a paragraph of prose than it is to spot a hallucinated API method.
The skills you most need to develop in order to take advantage of LLM assisted programming are code reading, code review, manual and automated testing and being really good at thinking of edge-cases that might not be covered.
It turns out these are important skills for being a great developer already - LLMs just force the issue on them a little more.
I've worked a good number of hours with Claude Opus and it has never produced non-compiling code (ChatGPT 4 does that for me), but it can create quite subtle bugs, which is missed by the "just make sure it compiles"-type comments in this thread.
I do think AI fits #9. The fact that current AI tools are not meeting data security requirements are due to the market demands and maturity:
- price needs to be low to attract adopters.
- low price? These service providers will hoard data
- data needs to be collected for training
So i think long term, there will be more premium AI tools that “promise” to not collect your data. Perhaps self-hosted? Self hosting with AI is not attractive, at least not for consumers or small businesses.
People seem not to trust companies which make these promises, which is unfortunate for the industry.
In general I am concerned that LLMs will discourage innovation in programming language design - why write a better Python if GPT can just automate the tedium away?
I believe the knowledge I gained was NDA, so I'm keeping it generic.
I don't think so negatively. My bet: innovation in programming language design will emerge that will make it a lot "less necessary/helpful" to use AIs.
Just one example: Quite some programmers claim that AI take a lot of "tedium" from the programming away. But what if we could create programming languages that mostly get rid of this "tedium" (e.g. by using higher-level abstractions to abstract away the tedious, repetitive tasks)?
Why is AI treated very different than say cloud? Most companies don't have problem with putting all data in Github or AWS or Office 365, but lot of them freaks out if any AI can access the data. I don't think OpenAI/copilot enterprise plan T&C/privacy policy is very different than Github or AWS.
I suspect when any AI model will start using patents databases for training - it will be a watershed moment for what one can do with open data. Old regulations simply would not put up any meaningful fight against volume and quality of model hallucinations, that may become valuable and patentable inventions and improvements according to the same regulations.
I also spun up an internal chat UI[2] to replace ChatGPT so people can feel comfortable discussing proprietary data with the LLM endpoint.
The only thing that would make it more secure would be running inference engines internally, but I wouldn't have access to as good of models, and I'd need a _lot_ of hardware to match the speeds.
[1] - https://marketplace.visualstudio.com/items?itemName=AndrewBu...
[2] - https://github.com/mckaywrigley/chatbot-ui (legacy branch)
So if company will not allow me to use Copilot, that would be a negative factor from me.
I don’t really use it to do anything but tedious stuff and for searching for documentation that google will refuse to show anymore. and it provides sources so you can verify. It really does feel (to me) like the magic of google search’s majestic era, like 2010-2015. It just tends to give the correct answers at an extraordinarily high rate and can be poked and prodded in the right direction without a lot of work.
Unfortunately, it overheats my laptop so I can't actually use it, and I primarily do support, I don't program enough at my job to justify paying for copilot.
If the CPU use was lower, I don't see why I'd ever go without.
If a prospect client or company bans it, it's a hard no from me.
I understand that might be too extreme a red line for some, but for me, life's too short to wait for laggards to catch up with the inevitable.