Microsoft Semantic Kernel for AI Development: Chat with John Maeda

AI Basics


Microsoft recently open sourced a product called the Semantic Kernel. It’s a lightweight software development kit (SDK) that allows developers to integrate her AI technology into their applications. To learn the thinking behind the Semantic Kernel (abbreviated SK at Microsoft) and how it is used by developers, Project Lead and Vice President of Design and Artificial Intelligence at Microsoft I did an email interview with John Maeda, who is also

Maeda said in an announcement post that SK “combines traditional programming languages ​​such as C# and Python with the latest Large Language Model (LLM) AI prompts for rapid templating, chaining, and planning capabilities. I will make it possible,” he wrote.

semantic kernel

Image via Microsoft

The art of rapid engineering

I started by asking what skill set a developer would need to acquire to become proficient at using these “prompts.”

“Traditionally, computer science education aims to achieve structured output from well-structured syntax,” he replied.

A key skill, he said, is “choosing appropriate words, phrases, symbols, and forms that can guide the model to produce high-quality, relevant text.” In addition, developers can create “prompt chains” (using the generated text as the basis for the next prompt), “prompt tuning” (tweaking and optimizing prompts for specific tasks or domains), and ” You should be familiar with the Prompt Test. (This is exactly what it is: test the validity of the results).

Sematic Kernel is essentially a low-code tool that allows developers, as Maeda puts it, to “create complex chains of LLM AI prompts that are configurable and testable.”

So is “rapid engineering” just an evolution of what developers have to do, or is it an opportunity for other professions (you mentioned psychologists and English teachers) to reskill? will it be?

“The software world has been literally dominated by people who can. speaking machine,” he replied. “So it is an interesting occurrence that this new kind of programming is so close to natural language. There is certainly room for an English teacher who is fluent in the language to make an impact. There is a reason why the engineering field has emerged as a specialization. It always attracts people who like to build machines. In the future, we can expect prompts designed by developers to have the qualities we need and want, such as reliability and efficiency. It doesn’t change. The difference is that developers can combine it with his AI to create systems that are more reliable and efficient than ever before. “

SK Concepts

This product has some new concepts, the main concepts are “skill”, “memory” and “connector”. The documentation defines a “skill” as “an area of ​​expertise provided to the kernel either as a single function or as a group of functions related to a skill”. Memories provide more context, and connectors let you connect to external data and actions.

Semantic kernel concept

The concept of a semantic kernel. Image via Microsoft.

According to Maeda, the approach here is “purpose-oriented AI.” He describes skills as “the core building blocks of SK”, both simple (“Summary this sentence”) and complex (“Summarize everything you need to know today, How do we need to achieve what we need to achieve”).

“Memory greatly improves skill functionality by allowing skill functionality to be tied to historical data that can be persisted and accessed at any time,” he said, adding that connectors “enable external data access. It is a customizable resource that He added that connectors help address the problem that LLMs are pre-trained and therefore “intrinsically fixed in time,” one of his main criticisms of LLMs. I was.

Let’s Speak Machine

John Maeda is well known not only as a technologist but also as a digital artist. He has authored several books on the intersection of computing and design, including ‘Design By Numbers’ and ‘Creative Code’. His latest book, How to Speak Machine: Laws of Design for a Digital Age, was published in 2019 and seems particularly semantically related to his kernel.

I asked if SK’s concept is a way to allow humans to “talk machines” more efficiently.

“Fortunately, as the person tasked with explaining many of the concepts of the Semantic Kernel and enabling legacy industries to adopt a significant shift in how they build AI-based capabilities, I definitely agree. I think,” he replied. “The first phase is for developers to adopt this way of thinking when creating software systems. We need to gradually adopt a thought process drawn from what we call the Schillace Laws, a set of best practices in how to: We need to speak both humans (non-deterministic), which is in line with the theme of the final chapter of How To Speak Machine, where machine speakers need to speak humans better. There is.”

Of course, developers already have an advantage over us in terms of “talking machines.” SK’s announcement post mentioned Python and C# as supported programming languages. But what about JavaScript, the web’s most popular language?

In addition to C# and Python, Maeda says, “We’re also looking carefully at TypeScript and plan to add support for other languages ​​based on feedback.”

We asked what are the early use cases for SK among developers. He prefaced his response by saying that Microsoft has hosted hackathons for both startups and enterprises.

“We found that there were a number of long-standing ‘halfway’ issues, such as an education app that needed more inventory of good quiz questions, and a customer support app with manually tagged cases. ‘ he said. A process monitoring app that emails interested parties when significant edge cases are triggered that are tagged appropriately or cannot be represented by boolean logic. There are a lot of ‘too computationally expensive to code’ problems that once SK fits in a developer’s toolbox, developers can quickly see how he can demonstrate a working solution in less than an hour of coding. . “

Moving from syntax to semantics

Finally, speaking of semantics, I asked why Maeda and his team used the word “kernel” in the product name. It’s the part that “has full control over everything in the system” as Wikipedia defines it. I’m pretty scared when talking about AI, so I made a note of it in my email (I used a smiley emoji to indicate that I was half-joking).

“That’s because the UNIX kernel has always made computing productive,” he replied. “If you remember when the UNIX kernel came out, you were a little confused by two-letter commands like ‘ls’, ‘cd’, and ‘ps’. But the big ‘ a-ha’ symbol and suddenly the light came on when I piped the command with ‘|’. The simplicity of the UNIX kernel as a breakthrough user experience for developers was the north star in SK’s evolution. And we still absolutely don’t feel it’s right. That’s why we released it as open source. We hope that together we can build the right user experience for developers excited about the new shift from syntax to semantics so that we can learn openly as a community. “

group Created by sketch.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *