Categories
Artificial Intelligence Automation Autonomous Agents Information Technology Services Technology User Experience UX web architecture

Navigating the Future with Generative AI: Part 3, Building the AInternet – AI, Web, and Customer Experience

A Revealing Experience

Allow me to share a personal experience that perfectly illustrates the challenges I will discuss. I was involved in a car accident where a vehicle coming from the opposite direction severely damaged the right side of my car. Following the procedure, I filed an accident report with the other party, although I found myself unable to provide my insurance number simply because I didn’t have it readily available at that moment.

In the meantime, I went to my regular dealership so that an appraisal could be carried out and the next steps for repair could be determined. I then contacted my leasing company, and one of their agents agreed with me and the dealer that I would drop off the vehicle within two weeks. A replacement vehicle would be provided, and the full repair would take one to two weeks.

However, due to my lack of foresight, I did not deem it necessary to contact them again initially. A few days later, I received a letter from them informing me of the accident – which was correct – but also stating that I had not submitted the accident report and that without it, their insurance reserved the right not to cover the damages. In fact, I had sent this document a week earlier, but to the wrong email address. Out of habit, I had used their general contact details, avoiding contacting the agent in charge of my leasing file – who had recently retired. As a precaution, I had even added the generic address, but clearly without success since the insurance department had not received it.

I then called them back urgently to obtain clarification. They confirmed that the accident report was missing, and the agent, with great understanding which I acknowledge, told me that I had to send it to another specific address because the insurance department had not been notified by their colleagues in charge of customer relations. Moreover, the latter was not authorized to provide me with a replacement vehicle until the repair shop had received their approval – even though it was the approved dealership where I had been carrying out all maintenance operations for years.

This kind employee then offered, as an exception, to handle my entire case without further difficulty since the drop-off of my vehicle was imminent, just a few days away. She knew also that my leasing contract was expiring and that I would have to return the vehicle in two weeks to obtain a new one.

While this situation caused me a little stress, it was only temporary. An hour later, the agent contacted me again to confirm that everything was settled: I could bring my vehicle the following Monday and a replacement vehicle would be provided for the duration of the repairs.

Lessons from This Experience

You may be wondering why I am sharing this story with you.

First of all, I was unaware of the procedures governing the reporting of an incident in the context of a leasing contract. Should I first contact my company, directly the historical leasing company, or the new one? When I called them, why didn’t I reach the dedicated claims and insurance department directly? Why didn’t I find any information about this on their website? Why, when everything seemed clear to me – that I would drop off my vehicle within two weeks, that a replacement vehicle would be waiting for me, and that the repairs would be handled smoothly – did things unfold differently due to a lack of following the proper procedure?

Beyond that, how can a single service company exhibit such a lack of communication between two complementary departments?

The Revolution of the “AInternet”


We are entering a new era where artificial intelligence will be at the heart of exchanges between human beings. Where everyone previously had to search for information themselves on the Internet, navigating from site to site and compiling data to find a company’s contact details, the instructions for a recipe, the contacts of a repairman, or browse the Yellow Pages, the new paradigm will rely on exchanges between humans, intermediated or not by an artificial intelligence capable of performing synchronous or asynchronous tasks, i.e. in the background, to provide immediate knowledge to the user rather than forcing them to seek it out.

And to return to my use case, the AInternet brings a revolutionized customer experience that unfolds as follows:

When I am involved in an incident, I ask my personal AI assistant to help me fill out the accident report digitally. I do not have to provide all the information since my assistant has a global context encompassing data related to my vehicle, its insurance, my contract, my identity card, my passport, my postal and telephone contact details, my insurer, the maintenance status of my car, its technical inspection certification, etc. All this information allows for automatic and complete filling of this type of interaction.

Next, I only need to ask my assistant to contact the assistants of my leasing company and my insurance company, to ensure that the report I have validated and electronically signed is transmitted and processed by these two parties.

The assistant of the leasing company then informs the agent that a replacement vehicle is required and that an approved garage must be contacted to book an appointment for the repairs. It also determines whether my car should be taken directly to the dealership in charge of its regular maintenance. The relevant agent then handles my vehicle accordingly.

The agent only has to ask their assistant for the contact details of my garage to reach out directly.

From there, a genuinely empathic human relationship is established as we build a frictionless mutual understanding of the situation. Following the garage’s preliminary appraisal report, the leasing agent and the garage are prepared to agree on an appointment date, which is then recorded in the various systems.

The garage proceeds in an automated manner with the reservations and orders for the spare parts necessary for the repairs.

Simultaneously, the leasing company manages with the insurance company all the steps required to allow for the vehicle reparation and the provision of a replacement vehicle during the downtime.

Finally, the agent contacts me personally, by phone or message on a platform such as WhatsApp, to confirm everything is in order:

The incident has been properly recorded and the insurance company will cover all costs. An appointment has been set with my garage. A replacement vehicle will be provided during this period. An estimated date for returning the repaired vehicle has been communicated. They wish me an excellent day with a smile, since their assistant and mine have handled the entire procedure seamlessly. This augmented interaction allows us to reach new heights of fluidity and ubiquity in exchanges.

I am optimistic, indeed. Why wouldn’t I be? The transformation is already in motion.

The Internet will no longer be confined to a vast catalog of information to consult, such as books, encyclopedias, or applications, where interactions must be initiated and orchestrated by us, humans. But the orchestration between an individual and an organization, between two individuals, or between an organization and a computer system, will be performed like a symphony by intelligent agents, artificial intelligences.

This demonstrates an evolution of the World Wide Web architecture, which will constitute a veritable system of systems composed of human beings, applications, automata, and artificial agents.

The challenge from now on to enable this progression towards the era of digital augmentation will be to build artificial intelligence at the heart of human interactions. It is a matter of UX innovation.

It will no longer be a question of programming these interactions in advance by limiting the possibilities, but rather of training these artificial intelligences to handle a wide range of possible scenarios while framing and securing the use cases that could result from malicious computer hacking.

Ensuring a secure web environment requires a multi-layered approach that goes beyond safeguarding the AI models themselves. Equal vigilance must be applied at the integration points, where we erect robust firewalls and implement stringent access controls. These protective measures aim to prevent artificial intelligence from inadvertently or maliciously gaining entry to sensitive resources or confidential information that could compromise the safety and well-being of individuals, imperil organizations, or even threaten the integrity of the entire system.

Thus, emerging risks, such as jailbreaking, aimed at deceiving an artificial intelligence devoid of physical senses such as sight, hearing, and spatial awareness, allowing the authentication of a person, a company, or a system, will have to be compensated by other supervision and protection mechanisms.

It is on this note that this article concludes. We are living in an era of transition rich in exciting developments, and it will be up to you to build the Internet of tomorrow: the Augmented Internet.

🖖

Categories
AR/VR Artificial Intelligence Autonomous Agents Bioengineering Drone Fleet Management Hologram Holographic Display In 2060 Information Technology Storytelling Technology Transportation Drone Writing

Bioengineering in 2060

“Nasir, check this out. Didn’t I tell you PSG would win against New Manchester? Two bitcoins, baby. Who is the soccer king?”

“Stop bragging, man. Gee, I don’t know how you do it. Hey, Betmania, tell me how this regular human with his XXL ears looking like satellite dishes can beat your prediction. Thank God, you were a freebie AI.”

The bet bot replied, “I am not qualified to review Dr Anoli’s performances. Yet, his 97.26% accuracy is…”

Nasir interrupted the hologram: “Ahh, shut it! It was a rhetorical question. My man! You are good, you gooood.”

He lifted his hand, nodding repetitively to perform his most vigorous handshake.

The upper deck lit up like a lighthouse, and then a deafening sound followed the illumination.
Beeeeeepp. “Emergency. Purple alert. All medical engineers on deck. I repeat, Purple Alert. All medical engineers on deck. This is not a drill.”

My heart was pounding. The message was still resonating in my head.

The sudden drop in temperature, produced by the arch-reactor of the medical drone transporter, announced the arrival of an unusual patient. This is the first time I have seen a flying one. Usually, these vehicles were stored in the Corps of Peacekeepers‘ R&D facilities.

The temperature drop caused a fog to rise like a curtain. I saw a blurry figure approaching slowly.

My colleague interrupted my stupor: “I haven’t seen a purple alert for 7 years now, it’s serious. Purple means death.”

The flying ambulance emerged at the heliport located at the center of the critical emergency service. Work is pretty easy on platform seventeen, actually. Nowadays, bioengineering is solving almost all critical injuries as they occur. An accident at a construction site? Any multifunction robot worker medic cauterizes your wound with accelerated healing enzymes, bypassing block surgery. As long as you’ve subscribed to the right medical service, the AI health model can be downloaded, and the tier two healing kit purchased for printing.

“What on earth could have happened?”, exclaimed Nasir.

The hologram of the AI diagnostician, Dr. Ernesto, popped up from the ambient hospital Phygital network while the paramedics were transporting the patient out of the medical drone transporter. Then, she said:

“This is unprecedented, we are losing it. We’ve tried traditional medicine and printed the generic assistance bacteria. Nothing works. The patient’s vitals fluctuate over time at an unconventional rate. Scanning the available knowledge from the current corpus does not provide any satisfying answers. The highest probable disease is the Genova IV virus with a probability of 31%”.

I replied “Too much uncertainty… What do you suggest, Nasir?”

“It looks like the emerging meta-virus. The… guy on B-Hacker YouTube Entertainment System… Sorry, I can’t remember the name of that journalist… said it was an open-source public CASPRed experiment.”

I could not believe it at first. But when I saw his wound mutating in front of me, there was no doubt that the potential disease was human-made.

“Arrrghhhhh. It burns… Please get it off me. I am begging you. Just cut it!” shouted the patient.

I was stunned. I cannot remember the last time I saw a real person suffering that much. Dr. Krovariv told me about it. This was surreal. So much pain.

“Hey! Gather yourself, buddy. There’s no time to waste. We might be facing a level 5 threat here,” said Nasir.

He was such a great guy. He was the embodiment of coolness. Not only was he a great bioengineer, but he always kept his cool on the field. I was more of a lab genius. I wish I could be more like him.

“Huh, yeah. Sorry, I froze,” I said with a coating of stupor, disappointment, and anger. I continued without hesitation, “What’s the status?”

While he was unplugging the portable bio-scanner from the trembling body, Nasir replied: “Body temperature 39.9. Heartbeats – 137. Adrenaline level 50.5. Oxygen level 92.12%. Stress level is increasing by 2.4% per minute. If we don’t act quickly, he is going to have a seizure. The stem cell differentiation rate… 272%! This is too high. It looks like he is growing a supernumerary limb, but I don’t know what kind.”

“Pick up the nano-extractors and verify traces of xeno-mRNA.”
It was a Sanofi Nano-extractors SNX43, a state-of-the-art fleet of nano-medical machines with a portable management system. Current extractors were all managed centrally by the hospital drone intervention unit.

I quickly put my face next to the patient’s ear and asked, “Sir, I am going to need your authorization to perform an intracellular analysis. We don’t know what you have, this might be your last chance…”

He grabbed my head and screamed, “What the hell are you asking for? Do it! Arghhhh!”

I felt foolish. Yet, there was no way I could bypass the authorization because the device had a legal lock encoded in it.

“That will do,” I whispered. The nano-extractors became operational, switching from blue ‘stand by’ to green ‘proceed.’ The extractors looked like a stick, no longer than a large pen. I placed it next to the wound, and it opened, deploying four branches on each side, and anchoring onto his skin. I heard a sequence of small noises, like pistons. The extractor fleet deployed into his body.

Then a ballet of lights came up. The SNX43 beamed a 3D representation of the arm’s inner part. The system rendered the location of the fleet in real-time.

They moved surprisingly slowly. I was disappointed. I was used to contemplating much livelier robots with the previous version.

Nasir said deductively: “There’s something wrong. They appear to be sucked in or blocked. Zoom in, Nicolas”.

I pinched out the holo-display to enter the zoom command and tapped on the max button. The illusion of slowness came from the fact that the machines were moving at such a speed that it was hard to follow with the naked eye. They looked like bees on steroids, fighting a wall of flesh. But the alien cells rebuilt the wall as soon as it was destroyed.

“I get it; the cellular growth must be faster than the robots can clear the path. It is not good. Not good at all.”

“Have you ever seen something like this before?”

“No…” said Nasir. It was the first time I saw fear in his eyes.

Then he jumped. “It could be contagious. I want all containment units on the platform now. I request a total lockdown of platform seventeen. Now!”

Nasir stopped, then looked at me insistently. I immediately thought something was happening to me.

Then, Nasir froze and fell to the ground.

I jumped immediately to grab him, but something inside me pulled back. My bioengineer spinal safety device prevented me from approaching the new pathogens. Whenever it triggered, it reminded me of the auto-braking mechanisms in my grandparents’ cars. I do not like the idea of having a machine tweaking my neural system. Yet, once more, it saved my life.

“This is not the time,” I whispered. I looked at the sky and said, “Dr. Ernesto. Launch orbital containment in ten. Authorization Kappa-Sigma-Omega-1337.”

Dr. Ernesto answered, “Authorization confirmed. Launching orbital containment in 10, 9, 8…”

“Meanwhile, call the World Health Emergency.”

“Opening channel.”

The dial ended almost instantly.

“Dr. Anoli, this is Dr. Krovariv – replica number 3. State the nature of your emergency.”

“I need to speak to the real Dr. Krovariv. This is a purple priority request.”

“Accepted. Please stand by…”

Time stood still while the platform was flying to space. The quietness of linear magnetic propulsion was staggering. My god. Is Nasir going to make it?

“The patient! I am a monst…”

“Dr. Anoli. What is it about?” Her question interrupted my thoughts.

“Dr. Krovariv. I am sorry, but Nasir has been contaminated by an unknown biological agent. I am heading toward space containment. Furthermore, the patient at the source of the contamination is dying. This agent is too dangerous. Please advise on the protocol,” I finished with a frail voice.

“In this situation, the protocols are clear. Once in space containment, you may use the ‘yellow horizon’ protocol. But you know what will happen if it fails.”

“Yes… I know.”

“I am sorry, son. Since CASPR got open-sourced, we are overwhelmed by these idiots… I am waiting for your decision.”

I had a deep look at Nasir. I knew it would probably be the last time I would see him. It was probably the last time I would see anything else.
I exhaled loudly and said, “Permission to print a new species as a countermeasure.”

“Permission granted. Good luck.”

Asking was the easy part. I was her protégé.

As I was climbing space, the platform changed its path toward a new direction. The Athena Life Engineering Lab, or ALEL, was lighting up like a giant light bulb. It was my dream to one day be worthy of visiting the lab. It was proclaimed as a symbol of hope. But not like this. Not on the verge of my very own death.

ALEL was the only accredited location where humans were allowed to engineer and print new life forms. No one was allowed to penetrate the labs.
Akin to the Athena Orbital Data Centre, it was solely operated by robots and machines following a strict chain of command.

Soon after, the platform slowed down, then stopped near the lab, and the docking system engaged to secure the system. A muffled noise gave me the chills.

“Welcome, Dr. Anoli. My name is Marie Curie. You have been granted the usage of the Athena Life Engineering System by Archdoctor Krovariv of the World Health Organization on the date of 30th December 2060. Any inquiry going against the principles of life and Human Civil Rights will result in your immediate termination. Do you want to hear these principles?”

“No, thank you. I already vowed to fight for life when I became a biomedical engineer.”

“Understood. Please state your prompt, please.”

I thought to myself, “What? Just like that?”

“Marie Curie, I need you to engineer a biological agent to counter Dr. Nasir’s condition. Focus uniquely on alien gene alteration and accelerated growth features. Do not augment the agent with inorganic material. Do not add metamorphic adaptation capabilities. Encode the maximum life duration to be 72 hours. Add automatic degeneration from 70 hours as a failsafe mechanism. No reproduction. No replication. I need you to confirm the supernumerary growth first before proceeding.”

“Supernumerary growth confirmed. Your prompt is acceptable. Proceeding to the registration of the new specimen identified by Anoli-alpha-31122060-001. Beginning prototyping phase.”

As I reached the point of no return, I could not help but wonder if our life would end here. ALEL was a universal robotic womb. What would happen if I asked the Life Factory to… recreate Nasir… Is rebirth possible?


In 2060

Categories
Artificial Intelligence Automation Autonomous Agents ChatGPT GPT4 Information Technology IT Architecture IT Engineering Robots Technology Testing

Navigating the Future with Generative AI: Part 2, Prompt Over Code – The New Face of Coding

In this installment of the Generative AI series, we delve into the concept of “Prompt as new Source Code”. The ongoing revolution of generative AI allows one to amplify one’s task productivity by up to 30 times, depending on the nature of the tasks at hand. This transformation allows me to turn my design into code, eliminating almost the need for manual coding. The time spent typing, correcting typos, optimizing algorithms, and searching Stack Overflow to decipher perplexing errors, structuring the code hierarchy, and bypassing class deprecation among other tasks, are now compressed into one. This minimization of effort provides me with recurrent morale boosts, as I achieve significantly more in less time and more frequently; these instances are micro-productivity periods. To put it in perspective, I can simply think about it during the day, and have a series of conversations with my assistant while I commute. My assistant is always available. In addition, I gain focus time.

I don’t need to wait for a team to prove my concept. Furthermore, in my founder role, I have fewer occasions to write extensive requirement documents than I would when outsourcing developments during periods of parallelization. I just need to specify the guidelines once, and the AI works out the rest for me. Leveraging the  AMASE methodology to fine-tune my AI assistant epitomizes the return on investment of my expertise. Similarly, your expertise, paired with AI, becomes a powerful asset, exponentially amplifying the return on your efforts.

Today, information technology engineering is going through a quantum leap. We will explore how structured coding is being replaced by natural language. We refer to this as prompting, which essentially denotes “well-architected and elaborated thoughts”. Prompting, so to speak, is the crystallization of something that aims to minimize the loss of information and cast-out interpretation. In this vein, “What You Read is What You Thought” becomes a tangible reality.

The Unconventional Coding Experience with AI

Although the development cycle typically commences with the design phase, this aspect will not be discussed in this article. Our focus will be directed towards the coding phase instead.

The development cycle with AI is slightly different; it resembles pair programming. Programming typically involves cycles of coding and reviews, where the code is gradually improved with each iteration. An artificial intelligence model becomes your coding partner, able to code 95% of your ideas.

In essence, AI acts as a coach and a typewriter, an expert programmer with production-level knowledge of engineering. The question may arise: “Could the AI replace me completely? What is my added value as a human?”

Forming NanoTeams: Your AI Squad Awaits

My experience leads me to conclude that working with AI is akin to integrating a new teammate. This teammate will follow your instructions exactly, so clarity is essential. If you want feedback or improvements in areas like internal security or design patterns, you must communicate these desires and potentially teach the AI how to execute them.

You will need to learn to command your digital teammate.

Each AI model operates in a distinct yet somewhat similar fashion when it comes to command execution. For instance, leveraging ChatGPT to its fullest potential can be achieved through impersonations, custom instructions, and plugins. On the other hand, Midjourney excels when engaged with a moderate level of descriptiveness and a good understanding of parameter tweaking.

A New Abstraction Layer Above Coding

What exactly is coding? In essence, coding is the act of instructing a machine to perform tasks exactly as directed. The way we’ve built programming languages is to ensure they are idempotent, repeatable, reliable, and predictable. Ultimately, coding is translated into machine language, creating a version that closely resembles human language. This is evident in modern languages like TypeScript, C#, Python, and Kotlin, where instructions or controlling statements are written in plain English, such as “for each”, “while”, “switch”, etc.

With the advent of AI, we can now streamline the stage of translating our requirements into an algorithm, and then into programming code, including structuring what will ultimately be compiled to run the program. Traditionally, we organize files to ensure the code is maintainable by a human. But what if humans no longer needed to interact with the code? What if, with each iteration, AI is the one updating the code? Do we still need to organize the code in an opinionated manner, akin to a book’s table of contents, for maintainability? Or do we merely need the code to be correctly documented for human understanding, enabling engineers to update it without causing any disruptions? Indeed, AI can also fortify the code and certify it using test cases automatically, ensuring the code does not contain regressions and complies with the requirements and expected outcomes.

To expand on this, AI can generate tests, whether they be unit tests, functional tests, or performance tests. It can also create documentation, system design assets, and infrastructure design. Given that it’s all driven by a large language model, we can code the infrastructure and generate code for “Infrastructure as Code“, extending to automated deployment in CI/CD pipelines.

To conclude this paragraph, referring to my first article in the “Generative AI series”, it is apparent that Natural Language Processing is now the new programming language expressed as prompts. The Large Language Model-based generative AI model is the essential piece of software for elaborating, structuring, and completing the input text into code that can be understood both by human engineers and digital engineers.

The New Coding Paradigm

This fresh paradigm shift heralds the advent of a new form of coding—augmented coding. Augmented coding diminishes the necessity of writing code using third and fourth-generation languages, effectively condensing two activities into one.

In this scenario, the engineer seldom intervenes in the code. There may be instances where the AI generates obsolete or buggy code, but these can often be rectified promptly in the subsequent iteration.

We currently operate in an explicit coding environment, where the input code yields the visible result on the output—this is known as Input/Output coding.

The profound shift in mindset now is that the output defines the input code. To elucidate, we first articulate how the system should behave, its structure, and the rules it must adhere to. Essentially, AI has catapulted engineers across an innovation chasm, ushering in the era of Output/Input coding.

Embracing Augmented Coding: A Shift in Engineering Dynamics

The advent of augmented coding ushers in a new workflow, enhancing the synergy between engineers and AI. Below are the core aspects of this transformation:

  1. Idea Expression: The augmented engineer is impelled to express ideas and goals to achieve.
  2. Requirement Listing: The engineer lists the requirements.
  3. Requirement Clarification: Clarify the requirements with AI.
  4. Architecture Decisions: Express the architecture decisions (including technology to use, security compliance, information risk compliance, regulatory technical standards compliance, etc.) independently, and utilize AI to select new ones.
  5. Coding Guidelines: Declare the coding guidelines independently and sometimes consult the AI.
  6. Business Logic: Define the business logic in the form of algorithms to code.
  7. Code Validation: Run the code to validate it works as intended. This becomes the first order of acceptance tests.
  8. Code Review: assess the code to ensure it complies with the engineering guidelines adopted by the company.
  9. Synthetic Data Generation: Use AI to generate data sets that are functionally relevant for a given scenario and a persona.
  10. Mockup-API Generation: Employ AI to generate API stubs that are nearly functionally complete before their full implementation.
  11. Test Scenario Listing: Design the different test scenarios, then consult stakeholders to gather feedback and review their completeness.
  12. Test Case Generation: Make AI to generate the code of test cases. The same technique applies to security tests and performance tests.

AI can even operate in an autonomous mode to perform a part of the acceptance tests, but human intervention is mandatory at certain junctures. It’s crucial to bridge results with expectations.

Hence, when uncertainties arise, increasing the level of testing is prudent, akin to taking accountability upon acceptance tests to ensure the delivered work aligns with the expected level of compliance regarding the requirements.

Non-Negotiable Expectations

In the realm of critical business rules and non-functional requirements such as security, availability, accessibility, and compliance by design, these aspects are often considered second-class citizen features. Now that AI in coding facilitates the choice, these features can simply be activated by including them in your prompts to free you up more time to rigorously test their efficiency.

Certain requirements are tethered to industry rules and standards, indispensable for ensuring individual or collective safety in sectors like healthcare, aviation, automotive, or banking. The aim is not merely to test but to substantiate consistent performance. This underscores the need for a new breed of capabilities: Explainable AI and Verifiable AI. Reproducibility and consistency are imperative. However, in a system that evolves, attaining these might be challenging. Hence, in both traditional coding and a-coding, establishing a compliance control framework is essential to validate the system’s functionality against expected benchmarks.

To ease the process for you and your teams, consider breaking down the work into smaller, manageable chunks to expedite delivery—a practice akin to slicing a cake into easily consumable pieces to avoid indigestion. Herein, the role of an Architect remains crucial.

Yet, I ponder how long it will be before AI starts shouldering a significant portion of the tasks typically handled by an Architect.

Ultimately, the onus is on you to ensure everything is in order. At the end of the day, AI serves as a collaborative teammate, not a replacement.

Is AI Coding the Future of Coding?

The maxim “And is greater than or” resonates well when reflecting on the exponential growth of generative AI models, the burgeoning number of published research papers, and the observed productivity advantages over traditional coding. I discern that augmented coding is destined to be a predominant facet in the future landscape of information technology engineering.

Large Language Models, also known as LLMs, are already heralding a modern rendition of coding. The integration of AI in platforms like Android Studio or GitHub Copilot exemplifies this shift. Coding is now turbocharged, akin to transitioning from a conventional bicycle to an electric-powered one.

However, the realm of generative AI exhibits a limitation when it comes to pure invention. The term ‘invention’ here excludes ideas birthed from novel combinations of existing concepts. I am alluding to the genesis of truly nonexistent notions. It’s in this space that engineers are anticipated to contribute new code, for instance, in crafting new drivers for emerging hardware or devising new programming languages (likely domain-specific languages).

Furthermore, the quality of the generated code is often tethered to the richness of the training dataset. For instance, SwiftUI or Rust coding may encounter challenges owing to the scarcity of material on StackOverflow and the nascent stage of these languages. LLMs could be stymied by the evolution of code, like the introduction of new keywords in a programming language.

Nonetheless, if it can be written, it can be taught, and hence, it can be generated. A remedy to this quandary is to upload the latest changes in a prompt or a file, as exemplified by platforms like claude.ai and GPT Code Interpreter. Voilà, you’ve just upgraded your AI code assistant.

Lastly, the joy of coding—its essence as a form of creative expression—is something that resonates with many. The allure of competitive coding also hints at an exciting facet of the future.

Short-Term Transition: Embracing the Balance of Hybrid A-Coding

The initial step involves exploring and then embracing Generative AI embedded within your Integrated Development Environment (IDE). These tools serve as immediate and obvious accelerators, surpassing the capabilities of features like Intellisense. However, adapting to the proactive code generation while you type, whether it’s function implementation, loops, or SQL code, can hasten both typing and logic formulation.

Before the advent of ChatGPT or GPT-4, I used Tabnine, whose free version was astonishingly effective, adding value to daily coding routines. Now, we have options like GitHub Copilot or StableCode. Google took a clever step by directly embedding the AI model into the Android Studio Editor for Android app development. I invite you to delve into Studio Bot for more details on this integration.

Beware of Caveats During Your Short-Term Transition to Generative AI

Token Limits

Presently, coding with AI comes with limitations due to the number of input/output token generation. A token is essentially a chunk of text—either a whole word or a fragment—that the AI model can understand and analyze. This process, known as tokenization, varies between different AI models.

I view this limitation as temporary. Papers are emerging that push the token count to 1M tokens (see Scaling Transformer to 1M tokens and beyond with RMT). For instance, Claude.ai, by Anthropic, can handle 100k tokens. Fancy generating a full application documentation in one go?

Model Obsolescence

Another concern is the inherent obsolescence of the older data on which these models are trained. For example, OpenAI’s models use data up to 2022, rendering any development post that date unknown to the AI. You can mitigate this limitation by providing recent context or extending the AI model through fine-tuning.

Source Code Structure

Furthermore, Generative AI models do not directly consider folder structures, which are foundational to any coding project.

Imagine, as an engineer, interacting with a chatbot crafted for coding, where natural language could reference any file in your project. You code from a high-level perspective, while the AI handles your GIT commands, manages your gitignore file, and more.

Aider exemplifies this type of Gen AI application, serving as an ergonomic overlay in your development environment. Instead of coding in JavaScript, HTML, and CSS with React components served by a Python API using WebSocket, you simply instruct Aider to create or edit the source code with functional instructions in natural language. It takes care of the rest, considering the multiple structures and the GIT environment. This developer experience is profoundly familiar to engineers. The leverage of a Command Line Interface – or CLI, amplifies your capabilities tenfold.

Intellectual Property Concerns

Lastly, the risk of intellectual property loss and code leakage looms, especially when your code is shared with an “AI Model as a Service”, particularly if the system employs Reinforcement Learning with Human Feedback (RLHF). Companies like OpenAI are transparent about usage and how it serves in enhancing models or crafting custom models (e.g. InstructGPT). Therefore, AI Coding Models should also undergo risk assessments.

The Next Frontier: Codeless AI and the Emergence of Autonomous Agents

Names like GPT Engineer, AutoGPT, BabyAGI, and MetaGPT herald a new branch in augmented coding: the era of auto-coding.

These agents require only a minimal set of requirements and autonomously devise a plan along with a coding strategy to achieve your goal. They emulate human intelligence, either possessing the know-how or seeking necessary information online from official data sources, libraries to import, methods, and so on.

However, unless the task is relatively simple, these agents often falter on complex projects. Despite this, they already show significant promise.

They paint a picture of a future where, for a large part of our existing activities, coding may no longer be a necessity.

Hence, the prompt is the new code

If the code can be generated based on highly specific and clear specifications, then the next logical step is to consider your prompt as your new source code.

It means you can start storing your specifications instructions, expressed as prompt, then store the prompt in GIT.

CD/CC with Adversarial AI Agent
Continuous Development/Continuous Certification (CD/CC) with Adversarial AI Agent

Suddenly, Continuous Integration/Continuous Delivery (CI/CD) becomes Continuous Development/Continuous Certification (CD/CC), where the prompt enables the development of working pieces of software, which will be continuously certified by a testing agent working in adversarial mode: you continuously prove that it works as intended.

The good thing is that benefits stack up: the human specify, the AI code/deploy and the AI certify, to finish with the human using the results of the materialization of its thoughts. Finally, the AI learns along with human usage. We close the loop.

Integrating New Technology into Traditional Operating Models

AI introduces a seamless augmentation, employing the most natural form of communication—natural language, encompassing the most popular languages on Earth. It stands as the first-of-its-kind metamorphic software building block.

However, the operating model with AI isn’t novel. A generative AI model acts as an assistant, akin to a new hire, fitting seamlessly into an existing team. The workflow initiates with a stakeholder providing business requirements, while you, the lead engineer, guide the assistant engineer (i.e. your AI model) to execute the development at a rapid pace.

Alternatively, a suite of AI interactions, with the AI assuming various roles, like dev engineer, ops engineer, functional analyst, etc. can form your team. This interaction model entails externalizing the development service from the IT organization. Here, stakeholders still liaise through you, as lead engineer or architect, but you refine the specifications to the level of a fixed-price project. Once finalized, the development is entirely handed over to an autonomous agent. This scenario aligns with insourcing when the AI model is in-house, or outsourcing if the AI model is sourced as a Service, with the GPT-4 API evolving into a development service from a Third-Party Provider like OpenAI.

AI infuses innovation into a traditional model, offering stellar cost efficiency. Currently, OpenAI’s pricing for GPT-4 stands at $0.06 per 1000 input tokens and $0.12 per 1000 output tokens. Just considering code generation (excluding shifting deadlines, staffing activities, team communication, writing tasks, etc.), for 100,000 lines of code with an average of 100 tokens per line (which is extensive for standard leet code), the cost calculation is straightforward:

100,000 × 100 = 10,000,000 tokens; (10,000,000 tokens × $0.12) ÷ 1000 = $1,200. This cost equates to a mere two days of development at standard rates.

For perspective, Minecraft comprises approximately 600,000 lines of Java code. Theoretically, you could generate a Minecraft-like project for less than $10,000, including the costs of input tokens.

However, this logic is simplistic. In reality, autonomous agents undergo several iterations and corrections before devising a plan and rectifying numerous errors. The quality of your requirements directly impacts the accuracy of the generated code. Hence, mastering the art of precise and unambiguous descriptive writing becomes an indispensable skill in this new realm.

Wrap up

Now, you stand on the precipice of a new coding paradigm where design, algorithms, and prompting become your tools of creation, shaping a future yet to be fully understood…

This transformation sparks profound questions: How will generative AI and autonomous agents reshape the job market? Will educational institutions adapt to this augmented coding era? Is there a risk of losing the depth of engineering expertise we once relied upon?

And as we move forward, we can only wonder when quantum computing will introduce an era of instantaneous production, where words will have the power to change the world in real time.

🖖