Home > Root > Log book > A digital assistant?
A digital assistant?
Tuesday 5 December 2023, by
All the versions of this article: [Deutsch] [English] [français]
Let’s face it, I am not as of today a professionnal programmer anymore. This does not prevent me to need to code stuff from time to time for specific needs, work-related or otherwise.
This leads me to occasionally write Excel VBA macros (yes, those are also programs). Occasionally here means, less than once per year. And when one does not practice writing regularly in a language, one forgets most of it, so a lot of internet research needs to be done to check the basic things again, or to tackle a new problem. In my case, I was in need of the following information:
- How to open a file in VBA
- How to read a file character by character and filter some characters
- How to create a temporary file and write to it
- How to delete a file
It’s very basic stuff, but when you write Excel macros, you don’t often have to manually open and save files (because you usually work on your Excel spreadsheet).
So this time, instead of spending hours to look online for basic information, I decided to use "Bing Chat", the digital assistant offered by Microsoft Edge, to see if it could directly offer me code bits to do these basic things.
I described it my problem using natural language (which reminded me of my training years as a programmer, where we were taught to do this before going to any implementation) and asked him to write a VBA for Excel solution.
Bing Chat did the trick and offered a program that was not functional, but allowed me to win a lot of time. Everything was already in there: how to open, read and write files, how to create a temporary file, how to filter characters, etc. . Only some debugging and reorganization were necessary.
So instead of searching online without having proper keywords, I was able to directly search for the specificities of each function Bing was offering, and in fine I was able to reorganize and write my program in very little time. Bing Chat had had the role of an intern, knowing a lot of stuff but without much practical experience of the programming world.
Some afterthoughts...
Earlier this year I had asked ChatGPT to write me a sample assembly program for the TLCS900H CPU of the Neo Geo Pocket, and I had obtained an unusable piece of code that had nothing to do with the assembly of that processor. I don’t think Bing Chat would have done any better: it’s just that there is not enough available information online for that very specific sort of stuff, to allow large language models to perform well. As a matter of fact, those digital assistants work super well for very general problems, on very popular programming languages, where the information is already available online. When one needs to do something very special, there are only so few humans (if any) who already wrote about it online, so the models do not contain enough training data to give meaningful answers.
This raises questions. I love the fact that the digital assistant allows me to skip the tedious task of searching for solutions online - it has become so hard to find anything relevant in the mountain of spam, AI-generated fake websites, and scams that constitute the internet landscape of today, so hard to pass through the hoops of the captchas and cookie banners asking us if we are OK to share our personal data with 157 partners etc. . But the knowledge compiled by these digital assistants is based on voluntary, public contributions of human netizens - human netizens who share knowledge because they get feedback from the larger community.
The StackOverflow forums are popular because of this: someone asks a question, and several people offer solutions, each building on each other’s answer, and this creates a common knowledge base. With a digital assistant, we directly obtain a meaningful answer without going through this phase of research, discussion, and sharing. We "win some time" but we stop contributing to the sharing of knowledge that is - or used to be? the internet. We become simple information consumers. Won’t this stiffle the evolution of knowledge that used to take place online, just like the social networks have stiffled the sharing of information and news via blogs and personal websites?
Isn’t this ultimately going to remove and lower the quality of the available information online, specifically on niche subjects? If the search engine ultimately disappear because they were replaced by digital assistants, how will we find the informations that the digital assistants can’t produce because they are not popular enough on the network?
This seems to me as a new version of the "long tail" problem, this concept made popular by Chris Anderson: our digital assistants can help us with the most popular stuff, but they might prevent us from finding the long tail of information available online...