top of page

Integrating AI like a Software Engineer


The explosion of consumer-accessible generative AI like Stable Diffusion and ChatGPT took the world by storm as their realistic imagery and natural language made a dramatic impression. AI is poised to revolutionize almost any industry, but we’ve already begun to see issues with how AI solutions are integrated into businesses, such as issues in certain situations like overconfidence and hallucinations. These issues can seem to pop up randomly and be hard to detect until they’ve already been deployed in your AI solution, but this doesn’t have to be the case.


As a software engineer, I believe that the success of an AI solution directly stems from selecting the best problems for AI to solve, and that we can select those problems by having a good mental model of what AI is. When you hear “software engineer,” it brings to mind the classic idea of someone as rigid as mainframe machine code that was written by hand, but nowadays, software engineers have become very familiar with non-deterministic systems, implementing selective features like recommendation engines, sentiment analysis, and feed curation. While they may not be perfect, as an industry, we’ve already been working on systems like generative AI but in reverse for years!


As such, let’s look at some tactical and actionable steps to help set your AI solution up for success.



Getting the Most Benefit

You don’t need to have a background in theoretical computer science to have a better mental model of AI, as there’s one that you’re probably pretty familiar with on your phone already: keyboard auto-suggestions. You may have also heard the technical term “Markov chains”, but keyboard auto-suggest is a fantastic example of a non-deterministic generative system. And while it can be handy, you wouldn’t want to use auto-suggestions to write an important contract or a heartfelt letter, which is why most implementations are limited to a single word or short phrase in order to provide the most benefit.So when considering a new AI-driven feature, it is important to remember that the most benefit often comes from embedded integration by solving small technical problems that AI is particularly good at. As a software engineer that has dealt with a lot of technical problems, I find that they all invariably tend to fall into one of two camps: problems of correctness, and problems of approximation.




Problems of Correctness: The Right, The Wrong, and The Nuance

Problems of correctness are commonly associated with the stereotypical math problem. They often exhibit specific behaviors such as acting in binaries (right or wrong, valid or invalid) or being tricky to solve. While these can certainly have nuance and degrees of correctness, at their core these problems often require precise verification. For example, even though a math problem might be 90% right, it might still be “wrong”. As you might guess, problems of correctness are fundamentally difficult for AI to accomplish, although we are seeing some improvements in that area.


Examples: solving a math equation, generating an image using only one color, making sure that a sentence has no grammatical errors, filtering data, etc.




Problems of Approximation: AI’s Time to Shine

On the other hand, generative and selective AI are fantastic at problems of approximation! These kinds of problems often can be solved iteratively in small steps, and have tolerances for their solutions. While these problems may be difficult or time-consuming for humans, they are a perfect fit for AI models, since this naturally mirrors the iterative nature of how most AI systems work! For example, in Stable Diffusion, a diffusion-type AI model, images are slowly generated over multiple steps from noise.


Click image for source


With ChatGPT, the fact that syllables stream in gradually line by line is no coincidence, since this is the iterative process by which ChatGPT’s transformer-type AI model slowly generates a text passage.


Examples: Summarizing a document, creating an image of a castle, generating recommendations, providing estimates, predicting values, gathering data, etc.




Moving Forward with AI

While most business processes may seem to be composed of problems of correctness, there are often many problems of approximation just beneath the surface. In order to pinpoint which problems might be best integrated with an AI model, our standard approach usually involves mapping each process out. This is how we create a better understanding of which problems a client may need the most help solving and determining whether or not AI would excel at solving it:





If you already have a process management system, you’re halfway to discovering simple ways to integrate AI into your approximation problems! This could range from copying and pasting into a tool like ChatGPT, thinking about selecting an AI-powered platform for a particularly time-consuming step, or implementing an AI-powered feature into a bespoke internal tool made to handle your specific needs.


At Simply Binary, our experience with software development and AI feature implementation can help you identify the right fit for you and engineer your implementation from start to finish and beyond. Get in touch with us at hello@simplybinary.com if you would like to know more.





Comments


bottom of page