AI & Data Driven Enterprise
Collection of practical usage and demonstration heavy posts about the practical intersection of AI, Data, and Knowledge

DALL-E Generated Image

The Evolution of Software-based Automation in the Age of Generative AI

Created on 2024-09-09 20:12

Published on 2024-09-10 14:30


Software-based automation has transformed industries and redefined how organizations and individuals harness productivity for competitiveness. With the recent artificial intelligence (AI) inflection, aided by the emergence of large language models (LLMs), a significant shift is occurring from imperative programming, where every step in an automation process is explicitly defined in code, to declarative programming, where automation outcomes are described, and the system handles the rest. In this new era, companies like OpenAI offer platforms and associated application programming interfaces (APIs) that package automation descriptions in the form of Smart Agents (or Digital Assistants).


Disruption by Generative AI (GenAI)

Large language model (LLM)-based generative artificial intelligence (GenAI) is disrupting the very nature of both software interaction and construction. Historically, software development has gravitated toward two approaches: imperative and declarative programming. These approaches, while complementary, often appear adversarial in terms of developer preferences and interaction with structured data, information, and knowledge.

The rise of LLMs begs the question: how are Declarative Programming and Descriptions connected, and how do they impact the emerging LLM-based inflection that is already transforming the software industry?

In the age of LLMs, declarative programming and descriptions are more relevant than ever. Both approaches emphasize specifying intent rather than micromanaging the underlying process. This shift is key to understanding how LLMs, Smart Agents, and declarative interactions are driving change in automation.


Declarative Programming in LLMs

In declarative programming, especially in the context of AI and LLMs, focus is placed on defining the desired outcome without specifying the exact steps required to achieve it. For example, when you ask an LLM to generate a response or query a database using natural language, you're describing the outcome, and the system handles the complex reasoning and data processing required to produce a result.

Example:

A user might instruct an LLM with a prompt like, "I want to buy the cheapest Virtuoso online offer." The system understands and executes this request without requiring the user to specify the algorithm that handles tasks such as natural language translation, context-building (including document lookups or database querying), or querying using declarative languages like SQL or SPARQL.

Demonstrating an online offer purchase action handled via a Website conversation enabled by a Smart Agent

Descriptions in LLM Interactions

Descriptions are central to how we interact with LLMs today. When you provide an LLM with a prompt or a description (e.g., "Summarize this article"), you specify what the result should be, leaving the system to determine the internal workings and logic needed to generate the outcome.

Example:

Describing how a Smart Agent (or Assistant) handles response generation might involve:

  1. Establishing context via a vector index or selecting an appropriate external function to query external sources.

  2. Performing lookups across relevant external data spaces (e.g., databases, knowledge bases or knowledge graphs, or file systems).


The Connection Between Declarative Programming and Descriptions in LLMs

Both declarative programming and descriptions represent a shift toward intent-based interactions. Users describe what they want a Smart Agent (or Assistant) to handle, while the underlying system determines how to accomplish the task. This is a core principle of LLM interactions, where users provide high-level goals, and the models manage the complexity of delivering the desired outcomes.


Why This Matters Today


Real-World Usage Examples

Here are examples of Smart Agents from OpenLink Software available in OpenAI's Custom GPT Store, embodying the principles described in this post:

OpenAI Custom GPT Store Links:


Conclusion

In the age of LLMs, declarative programming is all about expressing intent through high-level commands—just like providing descriptions that specify what the result should be. This shift fundamentally changes how we interact with automation, bypassing imperative programming's reliance on detailed instructions.

LLMs and Smart Agents, which now bridge the gap between declarative programming, descriptions of intent, and imperative programming complexity, lay the foundation for a new era of software solutions that work for both users and developers. This evolution opens up long-sought opportunities for domain experts, who are not programmers, to contribute to the usage and enhancement of software functionality—driving forward a more inclusive and efficient future in automation.

Related