I have to admit, when I first heard about co-pilots, I was fast to fall in love with the idea of having a trusty AI assistant always at hand to help me in my daily tasks. Also, that instantly reminded me of the good old Windows 95 era paper clip assistant called Clippy in MS Office… but that’s just how old I am. You could also opt for Clippy’s other incarnations, anyone still remember The Genius, Power Pup the dog or Scribble the cat? Back in the day, people had mixed opinions about Clippy, but I think that was mainly because he had no memory and lacked a sense of timeliness and an understanding of your goals. Of course, Clippy always popped up on your screen at the worst possible moment. I think Clippy was disliked not because he tried his best to help, but rather because he wasn’t very good at it. But looking back in retrospect, and what we do with Copilots today, Clippy was very much ahead of his time.
Fast forwarding nearly 30 years, why do folks today willingly choose to employ Copilots, those devil’s little helpers, in their daily tasks? There are several reasons:
1) To boost productivity:
2) To enhance decision-making:
3) To employ a personal assistant:
I can agree with all this, as these are things that will make your life easier and will most likely get you faster to results with less repetitive work.
But what about developers, the heroes who create miracles in code? Don’t they need help too? What could a software developer gain by employing a co-pilot?
1) Coding on steroids
2) Quality improvement
3) Make your code clear and shareable
I can respect all that. It makes perfect sense as most developers prefer to produce high quality code with minimal effort and time spent.
But what does a co-pilot mean to SAS developer? I was taught early in my career that SAS is a procedural language that has powerful expressions like SAS procedures (PROCs) and the all-capable data step. This power of expression means that you can get a lot done without typing too much code. Does it mean that a SAS developer will get less benefits than developers employing more ambiguous languages?
Not so. The upcoming SAS Viya Copilot is a new feature of SAS Viya that provides various capabilities to assist the developer across the entire analytics life cycle by enhancing SAS code development for faster results by providing LLM-based assistance. (Disclaimer: image depicted may or may not reflect the released product):
SAS Viya Copilot leverages the power of generative AI and large language models (LLMs) to help you code smarter and easier. The obvious benefits come from coding assistance:
All informed AI users put emphasis on the security, in the accidental case that a developer accidentally enters for example personally identifiable data to the prompt. There will be safeguards employed for protection, as the content is first passed through several content filters before it lands on the LLM.
Copilot is an exciting new technology, but I want to remind you that SAS works on providing solutions based on generative AI on multiple fronts:
SAS Viya platform and the APIs it provides can be very valuable in creating and orchestration framework for your organization’s LLM assets. By incorporating prompt generation to purpose-built SAS Studio steps, you can provide users with a governed way to harness the power of LLMs. With the help of SAS Intelligent Decisioning, you can deploy customized decision workflows as APIs to serve a point-of-decision, such as recommending whether or not to enroll a new customer.
There are numerous examples of utilizing LLMs via SAS Studio custom steps and a few of them can also be found in the custom step repository that is freely available to all at: https://github.com/sassoftware/sas-studio-custom-steps If you’re new to the concept of SAS Studio custom step, it intuitively enables a developer to wrap SAS code into a re-usable, shareable package for all SAS users at your site. Think User written transformation, if you come from SAS Data Integration Studio background, but with improved usability and ease of sharing.
My personal favorite is the Custom Step that calls an LLM to create a new custom step. It is called LLM - Custom Step Generator with Azure OpenAI and it’s available here. There is also a very informative blog post by Bogdan Teleuca with step by step instructions and a video that explains the use case and usage. My head spins when thinking about the recursive possibilities of having tools that spawn new tools (that hopefully don’t spawn yet more tools). This demonstrates the limitless ways to utilize LLMs with only your creativity as constraint!
Co-pilots are thus useful for various tasks, but what about automation? While LLMs are very capable of parsing and processing user input, in most cases they can’t access your data, abide by your organization’s business rules and most importantly, they can’t act autonomously. They are limited to by the data they were trained upon and that is both a blessing and a curse. Wouldn’t it be blissful to have an autonomous agent that could react to changing requirements and execute tasks when needed? Cue in the concept of Agentic AI, the hottest buzzword in AI at the moment.
Agentic AI can be defined as AI systems that have the agency to act and perform complex tasks. LLMs are known to output answers that look and sound right but often are not based on facts. Have you ever tried asking an LLM to explain yourself as an individual? To become trustworthy companions, they need governance, control, and auditability. A concept of collaborative agents has been introduced. Agents that are autonomous to a certain degree, but work together with a human user, under a set of constraints and whose decisions and actions are governed and explainable.
To wrap things up, SAS Viya platform coupled with SAS Intelligent Decisioning makes it possible to design, build and deploy interfaces to LLMs in a governed, controlled manner. Main interest of this blog, obviously the SAS Viya Copilot, is underway in near future. Regarding our future vision, pre-built, intelligent agents for various industries and ecosystems are being visioned and developed.
It’s exciting times we live in, but if you’re like me and feeling nostalgic for good old Clippy, there is an unofficial substitute for Clippy for Windows called Paperclip by FireCube. You guessed right, it utilizes an LLM under the hood. It may not be all business-like Windows Copilot, but having an assistant with a twist of personality can never be overrated.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
The rapid growth of AI technologies is driving an AI skills gap and demand for AI talent. Ready to grow your AI literacy? SAS offers free ways to get started for beginners, business leaders, and analytics professionals of all skill levels. Your future self will thank you.