So, 5 months ago, I have written a post about Artificial Intelligence and General Artificial Intelligence. You can see the tone from my first post was very optimistic, a little too much maybe, with the hope that things would accelerate soon. I have been using AI a lot recently and I want to report on my understanding of what AI can and can’t do and how to use it as effectively as possible.
Small disclaimer: I have mostly used ChatGPT, and a little of the other Large Language Models (LLMs) like Bard and Llama, so I will mostly talk about LLMs and not other generative AI for arts. I have seen others use Midjourney and stable diffusion, even installed a version of stable diffusion on my computer for testing, but I don’t have much experience in them. So I will refrain from talking about them here.
First of all the big question: Has my optimistic view of AI changed now? Now that the general optimism has somewhat subsided, I have to say that I am still pretty optimistic about the potential uses, but I would possibly be more cautious as to where generative AI has its place. I don’t think that AI alone is strong enough to handle complex task of managing and decision-making. I was dreaming about AI companies where all decisions would be taken by an AI, design of robot worker made by AI, control of those workers by AI, etc… I still think that this is going to happen, but not so soon.
I guess that the main reason I was so enthusiastic about AI earlier in the year was after seeing it being able to take a picture as an input and describe what was funny about it. This absolutely blew my mind to see an algorithm being able to do both of those things and to me, it was a sign of something world changing. Since then, a lot has changed, but mostly, it seems that the main players of AI have pulled the brake and even rolled back a little on what was released, maybe out of fear of what could happen if we let it evolve too fast. Once more, this is the myth of Skynet and terminator, which I don’t believe would happen. AI would be smarter than that.
Let’s focus on what happens now. I have used AI mostly for productivity in the past few months. I think the best way to describe it would be that I had a personal assistant that knew a lot. So far, I have been using it for:
- Travel planning and touristic information : Great results!
- Learning new skills and finding the resources to do so: Also great results
- Crafting documents, at least making the templates and reviewing the final results: Great
- Brainstorming: Ok-ish results. I guess it would have been better with a little more prompt engineering
- Coding assistant: This is a gray area. For simple questions, it was a huge time saver. For complex questions, it was more of a maze of hallucinations and wrong answers. It was mostly for Python and Rust by the way.
Travel planning
This was during my summer vacations. I was basically free to roam from island to island in Greece and I didn’t know where to go, so I used the AI to plan a trip between some nice windsurfing spots with various ancient ruins and museums to visit while in Rhodes. The answers provided were very helpful, and it allowed me to save a lot of googling to find those same results.
Learning
I think this is one of the greatest strengths of LLMs, as a personal tutor or personal research assistant. I have used it to learn stuff in a lot of domains, be it medical stuff, or gastronomy, or computing. I have mostly used it to learn rust actually, after several failed attempts in the past, I was always stuck on some concepts that didn’t hit home, and here, I tried to code and when I was stuck somewhere, ask questions to the AI which would respond. Overall, the answers were satisfying, although I could not say if they were correct or not. I still double-checked sometimes and never found an occasion where the answer was hallucinated.
Crafting documents
I think this is going to stick with me. I have always had trouble starting with the template for emails or whatnot. With AI, it is simple to give the context and what you want to say, tell the AI to generate the template and modify the template with your own words, changing sentences here or there, and end up with a great looking letter or document. I love it.
Brainstorming
This is where I saw some limitations, but it may be improved by using better prompts. I tried to brainstorm ideas for startups for instance, or names for startup, names for boat, etc… All in all, they were ok. One thing I noticed was that the ideas were “simple”. They were all working, of course, but there was no amazingly sharp answer that I couldn’t have gotten myself. To be fair, I would have taken a longer time to do these brainstorms and AI does it in 1 minute or less, so it is still pretty good in that light. I was just expecting more I guess.
Coding assistant
These last months, I have mostly programmed in Python at an intermediate level (multiprocessing, multithreading, GUI, etc….) and in Rust at a beginner level (serial communication with CLI, etc…). I also programmed a raytracer both in rust and python, which I might put in a post if I find something interesting to say about it. So back to AI assisted programming. I used AI in the form of ChatGPT prompt and a website called Phind. I didn’t use copilot or an AI integrated IDE. And when asking questions, I was avoiding sharing most of my code, I tried to anonymize the input as an exercise. In Rust, I found no particular issue at the level I was coding. Like I wrote earlier, it helped me a lot to learn the language. It was only during the raytracing coding that I encountered a challenge that almost stumped the AI. Still, we managed to solve the issue and have the code working. In python, things were more complicated. The more the questions were complex, for instance about multiprocessing, the more it was difficult to get a useful answer. Sometimes, the hallucinations were pretty strong, but I was able to correct the mistakes in the answers in Python and AI really helped me speed the process of writing my raytracer.
Summary
I still think that AI is here to change the way we work. It will certainly take a little more time than what I was hoping for, but we will get there. Right now, AI is best to be used as a personal assistant that you can ask questions that don’t require absolute knowledge. It is also important to not take the answer and simply paste it into your application. You need to take the answer and eventually ask the AI to explain why it wrote something instead of another. This usually helps with the hallucination issue. Overall, I really wished I had this during my studies. It would have been a game changer to explain concepts in physics and mathematics and go straight to the point instead of wasting time looking for the information on the internet, or even more time consuming, in books. Hopefully students will learn to use AI as a learning aid, and not just a magic solve button for their homework. Anyway, if you have discovered other AI uses that I didn’t mention, don’t hesitate to leave a comment to share your insights!