I don’t much like AI-written articles. The maudlin attempt to balance views without any real expertise comes off as smarmy high-school essay like (written by the teacher’s pet to please). The lack real of expertise prevents AI from prioritising sources. Whatever voices are loudest in the archive of digitised content are given the win. It’s apparent how misleading this can be when science or history changes based on a new discovery.
Left to its own devices, AI self analysis will also prevent a culture from breaking out of its belief system. AI will only reinforce what is wrong (and what is right) within our system.
Bias. What’s worse is that the programmers and their masters (the VC’s and multinationals who ultimately answer to Wall Street and DC) can put their hand on the scales. Effectively AI becomes an unsleeping and frightening 24-hour scold and nanny for state-sponsored groupthink. What the boobtube was, but now on steroids, able to watch you, flag you and gently bully you.
Eventually every time we go online AI will watch everything we do and write. We are not far away from that destination based on what Edward Snowden showed the world in 2013. Just on those documents, in terms of ethics, US security organisations (NSA, CIA, Homeland Security) have no issues with this kind of monitoring and programming of their populations.
That said – AI can be an extraordinarily useful tool. I’m working on a video on AI image creation and what I’ve seen astonishes me. AI images are marvels, rivalling the greatest works of photography and graphics ever made (why not, their creativity is built on our greatest photographers and painters and their greatest work).
If AI can work such wonders, what can it do for programming? We’ve experimented with Github Copilot at Foliovision and should go further. Here’s some useful comments from the front lines about AI’s potential as a programmer’s assistant.
I am using github copilot for almost an year and recently came across chatgpt here are couple of key points on how to use one of them in a given scenario.
1-GithubCopilot works very well if you are using it from the start of the project it can quickly fill up functions, assign variable names , pick up algorithms for sorting and selecting and have a general idea of how you code, this is a key point because most of its suggestions are based on your style of programming, using copilot at the middle of the project it seems to provide solutions that needs to re write the existing solution that i have.
2-Chatgpt is more like a AI assistant where you can provide it a piece of code and ask it to optimize it it surprisingly comes up with a great and easy solution which is code when you want to refactor your code. Chatgpt is also nice in asking for suggestion like for example when to use Action and Func and use cases of anonymous functions a/c to your project for safety and security purposes.
Summary: Both works in different way and provides optimal solution if you ask we how to define them i would say. GithubCopilot works with you and makes you work faster and effective where Chatgpt provides you improvements and alternative methods to do your work efficiently.
Even Copilot has trouble recognising a team’s coding pattern across multiple files:
I would add that both seemed to be trained by the same dataset, Github. I asked ChatGTP to tell me the inner workings of a Laravel Framework function, and it explained it in pure English. Then, I asked it to show me the code for that function, and it displayed it. I don’t know how else it would have gotten it, unless they are both trained on Github sources.
ChatGTP seems to be able to understand design patterns, and given an existing design pattern, generate new code for each file of the design pattern. For example, I gave it my pattern for one CRUD screen, and asked it build it for another CRUD screen. The results were good at first, but then ChatGTP started forgetting earlier things. It would start using wrong field names (making stuff up), and forget earlier requests.
Basically, when you try to do more complex stuff, ChatGTP gets “amnesia”. Hopefully they can fix this, or else working with very large design patterns won’t work well.
Github Copilot, on the other hand, can’t even understand design patterns explicitly and then generate new code for them. It does seem to understand what I am doing in one file, and then when I hop to anther file, it sometimes suggests code that is correct, per the design pattern, so IT IS dong something, but many times, if just doesn’t understand.
I am very surprised there is not a tool in the IDE for Copilot, to select a bunch of existing files (or reference them), explain what’s inside them that you like/don’t like/want to copy, and then explain new requirements, and have it build out those files, just like ChatGTP.
Maybe Copilot suffers the same amnesia issue, so it can’t do it (too much information)?
Copilot seems to more file centric (working within a single file), though it does seem to indicate it understands code from other files, in it’s suggestions sometimes.
It won’t be taking anyone’s job, until it can at least do that (if it could do that, I could probably have 1 or 2 less developers to be honest, but I would rather keep them, and just increase their productivity).
The above comment by hofmny appears to be written by a manager. It’s telling that already mid-rank managers like hofmny are thinking of AI in terms of personnel management. AI is part of the equation of how many programmers are necessary for any project or business.
Human ingenuity is endless. The AI tool is on the table, and we managers are will use it unless it were made illegal. What’s more frightening for the luddites and for the future is those programming houses who successfully adopt AI to accelerate their productivity will outpace those who don’t by whatever margin of speed AI offers them.
We Western (European and North American) software houses who are trapped in a high cost environment (USD, €) should welcome AI with open arms. For the last dozen years we’ve been fighting a (mostly) losing war against Indian and other low-cost environment developers.1
In that vein, I read a deliciously snarky comment on Twitter last week during the Open AI scandal:
The company which brought us Vista has now bought Skynet. What could go wrong?
On my end, I’ve just started to think about how to get AI to proofread my own articles (we could use a proofreader but don’t have enough work to hire one). What worries me is that means I’m feeding my somewhat unconventional ideas and insights directly into the machine determined to replace us all (creatives and thinkers) on a zero day basis. Still, it’s a bit like handing 2000’s Bill Belichick your offense’s playbook two weeks before the big game.
Live by the modern sword (technology), die by the sword.
-
When a single mid-tier developer costs a software house €500/month instead of €5000/month, that software house can afford to put three times the man hours on a project and will still enjoy a much higher ratio of revenue to cost. I.e. a 150 hour project at $8000 would bring a low cost environment software house a gross profit of $4000, whereas a high cost environment house would lose about $500 after social charges and taxes on salary. ↩
Alec Kinnear
Alec has been helping businesses succeed online since 2000. Alec is an SEM expert with a background in advertising, as a former Head of Television for Grey Moscow and Senior Television Producer for Bates, Saatchi and Saatchi Russia.
Leave a Reply