New ways of working with generative AI: toward an extended or augmented yourself's capability
Intro
The #ChatGPT tornado has already traveled around the world several times and it’s not over! It’s only the beginning whether would be its name. We are just starting to understand how much #Generative #AI could change the way we are working. We can hear strong proponents and as much as defenders, but in the days when calculators were democratized, accountants did not stop working, they just did it differently and much faster, and the same goes for the millions of students or anyone else who handles numbers. It is not that calculation is not important, but I think that the ability to reason and the scientific approach are more important in my eyes. I feel that the situation is quite similar with generative AI, except that the magnitude of the impact is on a completely different scale, which we are scratching the surface of.
Today, what I miss the most, all things being equal, is the time, and I'm not the only one! I finish my days with so many ideas in my head that it is ultimately frustrating. Considering having an assistant doing boilerplates or scaffolding, a sparring partner generating 80% of the work valued 20%, or a second eyes-pair to envisage different paths or explore scenarios are heavily tempting to optimize time and things we are about to deliver within a day.
I'm working in tech and engineering, and?I've been using several generative AI services for a few years. As senior #CTO, I have to admit that I'm not anymore a ninja software developer, but I touch on everything from #app to #infra, from #cloud to #cloudnative, with the idea to assess tech to understand how it works and if it could be advised.
But before moving forward, I would like to start with some red lines I defined as a watchdog related those Generative AI things:
First Generative AI experience
My first comprehensive experience was with the GitHub Copilot service. Released in June 2021, #Copilot is a code completion tool built on top of OpenAI's Codex model. It provides complete code snippets based on the context of the code being written. Copilot has been trained on billions of lines of code from public repositories, including public repositories on GitHub. I entered the beta testing program and I installed the extension in my Visual Studio Code. And the good thing is that it was during summertime, so I had a lot of time to play with, mainly with #Golang, #python, #Javascript, #Web, and some #terraform. I quickly understood that it can make spare a lot of time with #autocompletion, #boilerplate code generation from documentation, and, even better with #reverse #engineering of code in plain text, useful for me also to quickly catch the sense of open source libs for example. I also realize its ability to write plain text documentation about technology or trends after bringing enough context. While I was experimenting with the service, I read and heard voices related to sources and projects that fed the Copilot AI, and I said to myself that 100% of the time, code ownership and licenses of the sources have to be respected. I even asked myself if we could have in the project's repo a mechanism similar to NoFollow in websites, that would instruct robots that the code's author doesn't want it to be part of this.
In 2022, As an answer to Github, Amazon Web Services (AWS) released AWS Code Whisperer during the last AWS re:Invent Summit with Its ML models trained on various data sources, including Amazon’s in-house code and open-source code. AWS Code Whisperer differentiates in particular in its ability to notify users when generated code is similar to the one in a repository, mentioning the licensing information. It makes it easier for the developer to decide whether to use the code and make the relevant source code attributions.
Early 2023, in the field of #API, HTTPie AI assistant, built into HTTPie uses AI to increase your productivity when testing and talking to APIs by natural language interactions.
Those latest are just examples, you may have experienced other tools I do not cross in my journey.
Toward the ChatGPT tornado
Now, let's consider ChatGPT. I won't tell you the story and the background you could read better than I can explain, or ask directly to ChatGPT! I prefer to bring some examples of usage, feedback, and potential scenarios. But keep in mind that AI tool had over a million users as of early December 2022 which looks like an enviable user base by any measure.
Mainstream daily usage
In daily #mainstream usage, ChatGPT is a powerful tool for the automatic generation of natural language content, which can be used for various tasks such as text writing, question generation, machine translation, content generation, and text completion. You have to be aware that its knowledge cutoff is November 2021. But, even if it's obvious, ChatGTP won't be smarter than the quality of the questions or interactions you are applying! So, for example, in my usage when I want information or text generation, I'm cautious to bring general questions to set the context, then I submit the prepared questions to narrow down the information, before asking live questions based on what is generated. I did not deep-dive into the API and integration model of ChatGPT, but it's quite impressive the number of services to which it had been integrated, from Whatsapp to the Linux terminal, without forgetting that Microsoft is looking to add ChatGPT technology to Office365 or Bing search engine.
Development and coding experience
From a #development and #coding perspective, it can lead to augmented or extended developer experience. Just to give an overview of the potential, I prepared a walkthrough scenario to deliver concrete examples to teams and bring awareness to my peer nontech exec colleagues. To do so, I'm using one of the projects that keep my mind safe during the covid period, the #Growlab project of my friend Alex Ellis which aimed at using #raspberry computing, #sensors, Python, and bash scripts to monitor the growth of aromatic plants. Here the idea is to re-implement some parts.
领英推荐
One of the services of Growlab is to build a time-lapse of the growth of plants by taking a picture every 5 minutes, except between 10 pm to 6 am, resizing the picture in 800x600, add in overlay the date and time, saving the file in a defined folder with a unique name made of a year, month, date. ChatGPT can support and assist in the following operations: generate #algorithm in plain text, generate #code for Raspberry Pi platform and Python language, improve existing code by adding an exception if a problem occurs when taking a picture, generate unit #tests, and coverage tests, generate #documentation of all the code, and generate the systemd service for Linux OS. Another service that we are having with the Growlab project is to have a simple web page refreshed every 5 minutes that everyone can look at once deployed on a host. When it comes to the web, you may want to test several implementations based on different frameworks, to choose the best. You can ask ChatGPT to do so. And, you can ask ChatGPT as well to generate the bash script that will manage all the Git instructions to add-commit-push the generated code that will trigger the deployment action in the website on the right host. In the Growlab service, I added several sensors to my configuration to monitor light, temperature, and air quality. To integrate the data coming from those sensors, there are some python libs on Github to do so. Honestly, some require time to really understand how it works. To help, we can ask ChatGPT to explain what the code is doing. Lastly, as I have a home lab cluster with noSQL InfluxDB running, I can ask ChatGPT to generate a Python code that reads every 2 minutes from BME680 sensor the temperature, pressure, and humidity and send them to my influxDB for live monitoring of my in-house metrics.
There are other cases I did not cover here but that could be really helpful like having code translation from one language to another one, code refactoring, code simplification, tracking down bugs, or complex RegExp implementations, ...
At the end of all this, was the code running 100%? The answer is No, but it spares me so much time doing all the scaffolding and getting me closer to something working. Did I explore all the potential that it could bring to dev? damn No! Did ChatGPT release production-ready code? No, and that's why dev are existing. Did I trust blindly the code generated? No, remember my red-line principles. Did ChatGPT do my work? No, it speeds me up and it was a true sparring partner that holds my focus finally on things that matters the most.
Outro
Whether it is with ChatGPT or another, I simply believe that companies cannot afford to miss out on the services provided by this technology, it is a question of competitiveness and performance.
it's still early days, there will be limits to its use and the economic models are not fixed, but ignoring it would seem to me to be a strategic error.
We have to keep in mind that ChatGPT is based on the GPT-3 model and an even more advanced version, GPT-4, is in development, with a totally different potential capability.
However, creating and using these large models can be very costly and may be feasible only for super Tech companies, without forgetting the impact from a sustainability standpoint (just considering the learning steps considering the size of the parameters, for instance). Some questions are remaining open, at least for me:
Behind those important questions, new ones, even more key, could soon emerge around 1/ lock-in and addiction the day no-one will be able to work without GPT-like technology, 2/ skills reorganization, which naturally risks having to increase the level of the added value of humans, but perhaps also limiting the sector to fewer expert profiles, and 3/ recursive learning, because today ChatGPT learns from content produced by a human, but what will happen when the learning content comes from its own production.
Should we be scared? Yes! Should we be excited? Yes! Should we need to have a critical sense? Yes, more than ever!
Final note: This article was also published on Medium.
Tributes
Thanks to the following ones who accepted to kindly review this post, ?? Philippe Charrière , Sylvain Wallez , Sébastien Chauffray , and Didier Girard , you all rock!
Consultant
4 个月En Iran des mollah UN ACTE DE COURAGE UN ACTE DE LIBERTé qui risque de co?ter la vie à cette femme! L’ONU, Human RIGHTS Watch, le Monde Libre doit se mobiliser pour faire libérer cette femme et prendre les dispositions pour assurer sa sécurité en lui accordant un asile humanitaire dans un pays de son choix . Que les ? médias libres ? se mobilisent !!! https://www.dhirubhai.net/posts/sadi-areski-b1430343_womanlifefreedom-iran-activity-7258812689194389505-fTE-?utm_source=share&utm_medium=member_ios
Excellent paper point Philippe! Beyond technology my take away is critical thinking. Alway use your brain or ask around for second opinion. Thank you and looking forward for additional content
Learning and Development Consultant | Program Management | Vendor management | International engagement | B2B Enterprise sales enablement | Course design | Onboarding | Contract, Interim, FTC or Permanent
2 年Very interesting! Thanks for posting. For me, it raises lots of questions to do with 1) the role of managers, 2) the relevance and design of learning resources Philippe Ensarguet Dave S. Yolanda Upshaw
Chief AI Officer at Orange. Making people’s everyday lives better through AI.
2 年A great post. There is so much opportunity ahead of us with generative AI and large language models. Another step in giving people ‘super powers’ in their daily lives. Thanks for sharing!