A Revelation
Generative AI has been a game-changer for my work as a programmer in recent days. I have been using Bing AI to help me with coding problems and get useful snippets and explanations. It has boosted my speed and efficiency like never before. I have been coding since the early 90s, and this is the biggest leap I have ever experienced in my productivity.
Note that I haven't used any AI integration into my code editor or IDE yet. I talk to Bing AI using the Copilot extension in the browser or on the Bing AI webpage. I am curious about trying Copilot with VSCode and learning how to craft better prompts. I think that would increase my productivity even more as I would not have to switch from editor to browser and back all the time.
I love coding and I am thrilled to have a tool that makes me better at it. I feel like I can achieve more than ever before with this fancy new tech!
Prompt Engineering
One thing that I want to learn more about is prompt engineering. Prompt engineering is the art and science of designing effective prompts that can elicit the desired output from a generative AI system. It involves understanding the capabilities and limitations of the system, the goals and expectations of the user (me), and the best practices and principles of communication with an LLM model. Prompt engineering can make a big difference in the quality and usefulness of the code generated by generative AI.
These are some of the tips that I have learned from Bing AI on the best practices of prompt engineering:
- Clarity: Be clear and specific about what you want the system to do or generate.
- Context: Provide enough context and information for the system to understand your request and avoid ambiguity or confusion.
- Examples: Use examples or templates to guide the system and show the expected format or style of the output.
- Feedback: Use feedback or refinement loops to improve the output and correct any errors or inconsistencies.
- Trial and Error: Experiment with different prompts and compare the results to find the optimal one.
Again note that I'm still learning to put these into practice myself. I am still a novice, but I am looking forward to improving my skills.
Microsoft New Future of Work Report 2023
Just today I came across this excellent presentation by Microsoft Research and I was humbled by how much thought has gone into this and how deep the changes from this technology might be.
The Microsoft New Future of Work Report 2023 is the third in a series of reports that synthesize recent research from Microsoft and around the world on how work is changing in the age of AI. The report focuses on the integration of large language models (LLMs) into work practices and how they can enhance productivity, creativity, and collaboration. The report also discusses the challenges and opportunities of using LLMs, such as ensuring quality, accuracy, ethics, and diversity. The report offers insights and recommendations for all of us on how to leverage LLMs effectively and responsibly. I found the report to be very well-written and informative.
Summary
Of course, this is just my personal opinion and I don't want to sound overconfident. I can see that generative AI is not perfect and it has its limitations and challenges. I still need to verify the quality of the code it generates and make sure it meets the standards and requirements of my projects. There are also ethical and social implications of using generative AI which we need to be aware of (more on this later).
But overall, I think generative AI is a phenomenal (as opposed to incremental) innovation that can benefit many programmers like me. It is not a threat or a replacement, but a partner and an assistant. It is here to stay and I am excited to see how it evolves and improves in the future. Finally, I would also like to become part of the journey by learning and working on generative AI models and applications.
Disclaimer: I used Bing AI to help me write this post. I struggle with keeping up with my blog posts, and I think this kind of writing assistance can really improve my writing skills and consistency.