<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20241031//EN" "JATS-journalpublishing1-4.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.4" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">jcc</journal-id>
      <journal-title-group>
        <journal-title>Journal of Computer and Communications</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2327-5227</issn>
      <issn pub-type="ppub">2327-5219</issn>
      <publisher>
        <publisher-name>Scientific Research Publishing</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.4236/jcc.2026.142008</article-id>
      <article-id pub-id-type="publisher-id">jcc-149819</article-id>
      <article-categories>
        <subj-group>
          <subject>Article</subject>
        </subj-group>
        <subj-group>
          <subject>Computer Science</subject>
          <subject>Communications</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>From Simple Apps to Systems: A Practical Framework for AI-Driven Software Development</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Mathe</surname>
            <given-names>Eliel</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Mukanirwa</surname>
            <given-names>Benedict</given-names>
          </name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
      </contrib-group>
      <aff id="aff1"><label>1</label> Nfinic, Butembo, Democratic Republic of Congo </aff>
      <aff id="aff2"><label>2</label> Pikelo, Abidjan, Côte d’Ivoire </aff>
      <author-notes>
        <fn fn-type="conflict" id="fn-conflict">
          <p>The authors declare no conflicts of interest regarding the publication of this paper.</p>
        </fn>
      </author-notes>
      <pub-date pub-type="epub">
        <day>10</day>
        <month>02</month>
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="collection">
        <month>02</month>
        <year>2026</year>
      </pub-date>
      <volume>14</volume>
      <issue>02</issue>
      <fpage>153</fpage>
      <lpage>182</lpage>
      <history>
        <date date-type="received">
          <day>08</day>
          <month>12</month>
          <year>2025</year>
        </date>
        <date date-type="accepted">
          <day>25</day>
          <month>02</month>
          <year>2026</year>
        </date>
        <date date-type="published">
          <day>28</day>
          <month>02</month>
          <year>2026</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2026 by the authors and Scientific Research Publishing Inc.</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="open-access">
          <license-p> This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license ( <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link> ). </license-p>
        </license>
      </permissions>
      <self-uri content-type="doi" xlink:href="https://doi.org/10.4236/jcc.2026.142008">https://doi.org/10.4236/jcc.2026.142008</self-uri>
      <abstract>
        <p>This article examines the integration of artificial intelligence (AI) tools into software development, with a focus on optimizing workflows for computing professionals. Amid the rapid evolution of AI technologies, we review recent innovations—notably large language models (LLMs), neural networks, and transformers—along with their practical applications. We propose a structured methodology for incorporating these tools into software projects, addressing two primary challenges: managing costs associated with token consumption and enhancing context to reduce errors, commonly referred to as “<italic>hallucinations</italic>”. Approaches such as Retrieval-Augmented Generation (RAG) and the Model Context Protocol (MCP) are detailed for optimizing interactions with LLMs. Intended for developers, researchers, and novices alike, this work provides an overview of available tools and best practices for building robust, efficient applications, while emphasizing the importance of standardized project structures and team collaboration.</p>
      </abstract>
      <kwd-group kwd-group-type="author-generated" xml:lang="en">
        <kwd>Artificial Intelligence</kwd>
        <kwd>Vibe Coding</kwd>
        <kwd>Agentic AI</kwd>
        <kwd>Software Development</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. Introduction</title>
      <p>In an era where artificial intelligence (AI) tools are evolving at an unprecedented pace, computing professionals struggle to keep pace with the growing complexity of these technologies. Yet the targeted adoption of AI tools can significantly streamline workflows, boosting efficiency and shortening delivery timelines. However, the costs associated with these tools and the occasional inaccuracy of their outputs often deter professionals from fully transitioning to AI-integrated workflows.</p>
      <p>This article surveys key AI innovations from the past two years and presents a practical methodology for incorporating them into software projects, from prototypes to full-scale applications. Our approach targets two major challenges: managing the operational costs of AI tools and organizing context to improve result accuracy and minimize hallucinations in software development.</p>
      <p>Given the vast scope of software development, this article offers a concise overview while directing readers to references for deeper exploration. It is aimed primarily at software development professionals and anyone seeking to build applications leveraging AI tools. Computer scientists, educators, and beginners will also find valuable insights.</p>
      <p>This work does not focus on creating bespoke AI tools but highlights market-available solutions for developing software applications efficiently.</p>
    </sec>
    <sec id="sec2">
      <title>2. Context and Literature Review</title>
      <sec id="sec2dot1">
        <title>2.1. Machine Learning and Artificial Intelligence</title>
        <p>Since late 2022, a transformative technology—<bold>ChatGPT</bold>—has permeated nearly every aspect of daily life. Although it emerged at that time, ChatGPT is the culmination of a long lineage of technological advances. This section reviews two of its closest predecessors: machine learning and artificial neural networks.</p>
        <p>2.1.1. Machine Learning</p>
        <p>Machine learning is a set of techniques that enable machines to mimic human learning capabilities [<xref ref-type="bibr" rid="B1">1</xref>]. Algorithms are typically designed for classification or prediction and incorporate an error function to evaluate prediction accuracy against ground-truth examples. An iterative optimization process then minimizes the discrepancy between prediction and reality.</p>
        <p>Unlike traditional algorithms with explicitly defined execution steps, machine learning relies on data to produce outcomes. Greater data volume generally yields better predictions. </p>
        <disp-formula id="FD1">
          <mml:math display="inline">
            <mml:mrow>
              <mml:mi>y</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mi>A</mml:mi>
              <mml:mi>x</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mi>B</mml:mi>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>A basic linear function in machine learning incorporates input features <italic>x</italic> (often vectorial), weights <italic>A</italic> (coefficients or parameters), bias <italic>B</italic>, and the model’s prediction <italic>y</italic>. Andrew Ng discussed this in his 2018 lecture [<xref ref-type="bibr" rid="B2">2</xref>]. The survey “A Survey of Optimization Methods from a Machine Learning Perspective” by Shiliang Sun et al. provides a comprehensive overview of optimization techniques [<xref ref-type="bibr" rid="B3">3</xref>].</p>
        <p>2.1.2. Artificial Neural Networks </p>
        <p>Artificial neural networks, as shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>, are inspired by the human brain, forming a subclass of machine learning known as deep learning [<xref ref-type="bibr" rid="B4">4</xref>]. They consist of interconnected nodes (neurons) organized in layered structures analogous to biological neural architecture<sup>1</sup>.</p>
        <fig id="fig1">
          <label>Figure 1</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId15.jpeg?20260302030013" />
        </fig>
        <p>Figure 1. Representation of a neuron [<xref ref-type="bibr" rid="B5">5</xref>].</p>
        <p>A forward pass through a neural network involves a neuron or node. It receives inputs from nodes in the previous layer (or subsequent layers, depending on the propagation method) and produces an output.</p>
        <p>In a neural network (<xref ref-type="fig" rid="fig2">Figure 2</xref>), the more layers you have, the better the accuracy of the results produced. </p>
        <p>Tools such as TensorFlow, developed by Google Brain, enable the creation and inference of models for diverse tasks, supporting execution from edge devices to the cloud<sup>2</sup>.</p>
        <fig id="fig2">
          <label>Figure 2</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId16.jpeg?20260302030013" />
        </fig>
        <p>Figure 2. Representation of a neural network [<xref ref-type="bibr" rid="B6">6</xref>].</p>
        <p>2.1.3. Transformers </p>
        <p>Transformers (<xref ref-type="fig" rid="fig3">Figure 3</xref>) are a specific artificial intelligence architecture developed by Google [<xref ref-type="bibr" rid="B7">7</xref>] based on the sequence-to-sequence (Seq2Seq) technique [<xref ref-type="bibr" rid="B8">8</xref>]. This approach is particularly effective for natural language processing because it allows models—for example, LSTMs—to assign meaning to a sequence and to remember or forget parts of it depending on their assessed importance [<xref ref-type="bibr" rid="B9">9</xref>]. To make Transformers more effective at understanding long-range dependencies, they are equipped with an attention mechanism [<xref ref-type="bibr" rid="B7">7</xref>]. GPT, for instance, is a model that leverages this technology for content generation.</p>
        <fig id="fig3">
          <label>Figure 3</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId17.jpeg?20260302030014" />
        </fig>
        <p><bold>(Left)</bold> Transformer architecture and training objectives used in this work. <bold>(Right)</bold>Input transformations for fine-tuning on various downstream tasks. All structured inputs are converted into token sequences so they can be processed by the pre-trained model, followed by a linear layer + softmax [<xref ref-type="bibr" rid="B10">10</xref>].</p>
        <p>Figure 3. Transformer architecture [<xref ref-type="bibr" rid="B11">11</xref>].</p>
        <p>After training, the result is a model. When performing inference with the model, it produces an output that can be text, an image, a video, or any other form of data.</p>
        <p>2.1.4. Survey of a Few Models</p>
        <p>The following classification of models was derived through interaction with ChatGPT<sup>3</sup>:</p>
        <p><bold>1) Traditional Machine Learning</bold></p>
        <p><italic>Linear Regression</italic> predicts continuous numerical values. For example, it estimates a house price based on its size: a 100 m<sup>2</sup> house might thus be valued at $250,000.<italic>Logistic Regression</italic> produces a binary decision (yes/no) from input data. For example, given 90% humidity and low atmospheric pressure, it predicts with 78% probability that it will rain today—so the answer is yes.<italic>Decision Trees and Random Forests</italic> build tree-structured rules for classification or prediction. For example, a simple rule might be: “If age &gt; 30 years and income &gt; $50,000, then approve the loan.”<italic>Support Vector Machines</italic>(<italic>SVMs</italic>) identify the optimal boundary that separates two classes of data. For example, they draw a line (or hyperplane) that perfectly distinguishes images of cats (red points) from images of dogs (blue points), with the largest possible margin.<italic>The K-Means</italic> algorithm automatically groups similar data points without prior labels (unsupervised clustering). For example, it can segment a store’s customers into three groups: low spenders, average spenders, and high spenders, to tailor marketing campaigns accordingly. </p>
        <p><bold>2) Artificial Neural Network Models</bold></p>
        <p><italic>Feedforward Networks</italic> constitute the most basic neural networks, ideal for simple classification or prediction tasks without complex sequences. For example, they can categorize emails into labels such as “urgent”, “important”, “secondary”, or “spam” based solely on textual content analysis.<italic>Convolutional Neural Networks</italic> (<italic>CNNs</italic>) excel at image processing and computer vision by automatically extracting patterns such as edges or shapes. For example, they recognize handwritten digits in an image, classifying a hand-drawn “5” with high accuracy thanks to convolutional filters.<underline><italic>Recurrent Neural Networks</italic></underline><underline> ( </underline><underline><italic>RNNs</italic></underline><underline> ) </underline> and LSTMs are particularly well-suited to sequential data such as text or speech, as they maintain memory of previous elements. For example, they predict the next word in a sentence like “The cat is on the…” by generating “mat”, taking prior context into account.<italic>Transformers</italic> represent a powerful advance in natural language processing, efficiently handling long-range dependencies without recurrence. For example, the power tools like ChatGPT can translate an entire sentence from English to French while capturing overall meaning, such as “Hello, how are you?” into “Bonjour, comment allez-vous?”.</p>
        <p><bold>3) Generative Models</bold></p>
        <p><italic>Generative Adversarial Networks</italic>(<italic>GANs</italic>) pit two antagonistic networks against each other—a generator and a discriminator—to create realistic content such as images, music, or videos, iteratively improving quality through competition. For example, models like GANSynth use GANs to compose music by independently controlling pitch and timbre, transforming a simple latent vector into a coherent instrumental melody, such as a synthesized violin solo derived from notes in a dataset like NSynth.<italic>Diffusion Models</italic>, such as Stable Diffusion or DALL·E, generate realistic images by starting from random noise and progressively refining it toward a target, guided by textual prompts for conditional synthesis. For example, given the prompt “an armchair shaped like an avocado”, Stable Diffusion produces a detailed image of a surreal piece of furniture with textured green tones by inverting a diffusion process to faithfully capture the described concept.</p>
      </sec>
      <sec id="sec2dot2">
        <title>2.2. Interaction with LLMs: Prompt Engineering</title>
        <p>Large language models (LLMs) introduce a novel way of interacting with computers using natural language. Thanks to technologies such as GPT-3, computers can now understand and process text entered in everyday language.</p>
        <p>The input text is called a “prompt<sup>4</sup>”; the generated response can take various forms: plain text, JSON, source code, images, videos, etc. From these interactions has emerged a new discipline: prompt engineering<sup>5</sup>.</p>
        <p><underline><italic>Example</italic></underline><underline> : </underline></p>
        <p><italic>Prompt</italic>: “<italic>Write a poem about the sunset in</italic><italic>Kipriani</italic>” </p>
        <p><italic>Result</italic>: “<italic>In</italic><italic>Kipriani</italic><italic>, as the day withdraws</italic></p>
        <p><italic>Each ray becomes promise and smile</italic>. </p>
        <p><italic>The sun falls asleep, yet the soul awakens</italic>…” </p>
        <p><italic>Excerpt from an interaction with GPT</italic>-5</p>
        <p>When interacting with LLMs, the main constraints are <underline> token volume </underline> (the number of characters entered as input and received as output from the model) and <underline> context </underline> (the information provided to the model). The better the context supplied, the higher the quality of the model’s responses; conversely, the more text entered, the more expensive the interaction becomes, as illustrated in <xref ref-type="fig" rid="fig4">Figure 4</xref>.</p>
        <p>Advanced prompts can be crafted to obtain more sophisticated results. Matt Shumer, for instance, shares prompts for advanced LLM usage on his website. An example prompt for creating an agent capable of growing a startup is provided in the appendix [<xref ref-type="bibr" rid="B12">12</xref>].</p>
        <fig id="fig4">
          <label>Figure 4</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId18.jpeg?20260302030016" />
        </fig>
        <p>Figure 4. The number of tokens often grows with context improvement.</p>
        <p>2.2.1. Vibe Coding</p>
        <p>Vibe coding, a term coined by AI researcher Andrej Karpathy in early 2025, is an emerging software development technique that utilises artificial intelligence to generate functioning code from natural language prompts [<xref ref-type="bibr" rid="B13">13</xref>]. Vibe coding accelerates software development and makes app development accessible to people with less software development skills.</p>
        <p>2.2.2. Agent Mode</p>
        <p>Agentic AI enables the use of LLMs with far less human supervision [<xref ref-type="bibr" rid="B13">13</xref>]. Tools pass their results to other tools or agents, which in turn generate new outputs, iteratively, with each component having a clearly defined role.</p>
        <fig id="fig5">
          <label>Figure 5</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId19.jpeg?20260302030017" />
        </fig>
        <p>Figure 5. Collective work of AI.</p>
        <p>Imagine a system composed of several specialized agents (<xref ref-type="fig" rid="fig5">Figure 5</xref>):</p>
        <p>one agent expert in analyzing complex problems, another specialized in creating structured tasks, a third dedicated to drafting clear and professional emails, and a final one responsible for evaluating the quality of contributions from all the others. </p>
        <p>Simply submit the overall task to the group of agents, and you obtain results that are more accurate, coherent, and optimized.</p>
        <p>However, these architectures cause token<sup>6</sup> consumption to explode: usage jumps from a few thousand tokens per request to several million tokens within a single interaction.</p>
        <p>2.2.3. The Context</p>
        <p>Context plays an essential role in interactions with LLMs: the richer it is, the better the results. When an AI is integrated into an application, continuous interaction with the user’s data becomes essential in order to provide precise context for each exchange. Several protocols and frameworks have therefore been developed to optimize context management and streamline interactions: RAG, LangChain, LangGraph, Google Vertex AI, Cap’n Proto, MCP, among others [<xref ref-type="bibr" rid="B14">14</xref>].</p>
        <p>In the following sections, we will review some of these frameworks.</p>
        <p><bold>1) Retrieval</bold><bold>-</bold><bold>Augmented Generation (RAG)</bold></p>
        <p>Retrieval-Augmented Generation (RAG) is an approach that combines two major strengths of artificial intelligence: information retrieval and text generation. Instead of relying solely on the internal knowledge of a language model (e.g., GPT-4), RAG actively fetches relevant information from a database, documents, or any other corpus and then uses it to produce a more accurate and up-to-date response. This mechanism overcomes the limitations of pre-trained models, which do not always have access to the most recent or domain-specific data. </p>
        <p>LLMs possess powerful language understanding and generation capabilities, but they are not reliable sources of factual information and lack access to proprietary data or any information not included in their training set. They are also prone to “hallucinations”, meaning they may fabricate answers rather than admit ignorance.</p>
        <p>Using RAG with an LLM addresses several of these issues. By supplying the model with all the information it needs to answer a question, it can respond accurately on topics outside its original training data and significantly reduce the likelihood of hallucinations. </p>
        <p><bold>2) Model Context Protocol</bold><bold>(MCP)</bold></p>
        <p>The Model Context Protocol (MCP) is a protocol that standardizes the way applications provide context to LLMs using JSON-RPC [<xref ref-type="bibr" rid="B15">15</xref>]. It can be thought of as the USB-C of AI: a universal standard that enables seamless connection between devices and peripherals [<xref ref-type="bibr" rid="B15">15</xref>].</p>
        <p>Several projects and companies now offer an MCP interface that can be directly connected—for example, within development environments such as VSCode<sup>7</sup>—to enrich the context for their new APIs or tools<sup>8</sup>.</p>
      </sec>
    </sec>
    <sec id="sec3">
      <title>3. Methodology</title>
      <p>The use of LLMs in the software development process is evolving rapidly. Traditional stages—requirements analysis, development, testing, and deployment [<xref ref-type="bibr" rid="B16">16</xref>]—are now largely supported by a wide variety of AI tools capable of generating applications ranging from the simplest to the most complex. While many developers already leverage these tools for rapid prototyping, they often hesitate to apply them at scale due to concerns over loss of control or reliability.</p>
      <p>AI agents are a game-changer, enabling structured and accelerated design of complete projects. Our methodology provides proven techniques for extracting maximum value from LLMs throughout the entire development lifecycle. The goal is to equip code owners and teams with the means to integrate AI effectively—even on increasingly large-scale projects—without sacrificing quality or final product control.</p>
      <p>The classic developer stack typically consists of the following components (<xref ref-type="fig" rid="fig6">Figure 6</xref>):</p>
      <p>User interface language: e.g., HTML.Server-side language: e.g., Node.js.Database: e.g., MySQL.Supporting tools: Docker, GitHub, etc.</p>
      <fig id="fig6">
        <label>Figure 6</label>
        <graphic xlink:href="https://html.scirp.org/file/1733416-rId20.jpeg?20260302030019" />
      </fig>
      <p>Figure 6. Classic software developer stack.</p>
      <p>As the application grows in complexity (<xref ref-type="fig" rid="fig7">Figure 7</xref>), the stack expands to include: </p>
      <p>Advanced frontend frameworks for the user interface Backend distributed as microservices, each potentially written in a different language Integration of external APIs Diversified database system: central database, domain-specific databases, caches, or optimized temporary databases Load balancers Firewalls and security systems</p>
      <p>Regardless of the system’s size, all components must communicate efficiently with one another and with their environment. This relies on dedicated programming languages and standardized exchange formats [<xref ref-type="bibr" rid="B17">17</xref>].</p>
      <p>AI introduces novel tools that, when applied to software development, significantly accelerate and optimize the practice of software engineering. While certain vibe coding platforms claim to construct complete systems [<xref ref-type="bibr" rid="B18">18</xref>] from a single prompt or a small number of prompts, this approach rapidly becomes impractical as the system grows in terms of modules, components, and overall complexity. At that scale, sustainable development requires not only adherence to established software engineering best practices, but their deliberate coupling with the AI-augmented methodologies and tools presented in this article. This combined approach—traditional engineering discipline reinforced by targeted AI capabilities—is essential to effectively manage complexity, ensure long-term maintainability, and support controlled, high-velocity scaling.</p>
      <fig id="fig7">
        <label>Figure 7</label>
        <graphic xlink:href="https://html.scirp.org/file/1733416-rId21.jpeg?20260302030019" />
      </fig>
      <p>Figure 7. Architecture of a complex application.</p>
      <p>In the following section, a non-exhaustive list of AI-integrated tools is presented to assist developers in adopting an updated software development methodology that fully leverages the advantages offered by LLMs. The tools discussed are positioned within a development process that remains compatible with agile methodologies and focuses primarily on three core areas: software design, software development (coding), database development and system deployment. At the end of the section, selected aspects of software security—both at the source code level and during execution—are addressed in the context of systems developed with the assistance of LLMs.</p>
      <sec id="sec3dot1">
        <title>3.1. Overview of Tools for Software Development Using AI</title>
        <p>3.1.1. Software Design </p>
        <p>Design is a pivotal stage in the software development lifecycle, encompassing all processes carried out before actual coding begins. To ensure robust outcomes, certain tasks must remain under strict human control—particularly market research and direct client discussions.</p>
        <p>Once these phases are complete, AI tools can dramatically accelerate the production of presentation documents, mockups, and technical specifications. Care must still be taken to minimize the risks of hallucinations or distortion of critical information.</p>
        <p>In practice, many teams adopt agile methodologies, long recognized as highly effective, with SCRUM being the most prominent. Using AI tools does not change the fundamentals: smooth human collaboration remains essential to turn an idea into a finished product. All prompts used should therefore be centralized in a shared folder accessible to every team member, ensuring transparency and consistency in interactions with the model. In <bold>Table 1</bold>, a few tools are provided for software designing.</p>
        <p>Table 1. AI tools for software designing.</p>
        <table-wrap id="tbl1">
          <label>Table 1</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Tool name</bold>
                </td>
                <td>
                  <bold>URL</bold>
                </td>
                <td>
                  <bold>Description</bold>
                </td>
              </tr>
              <tr>
                <td>ChatGPT,Grok</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://chat.com">https://chat.com</ext-link>
                  https://grok.com
                </td>
                <td>Conversational AI assistant for generating design ideas, textual wireframes, or functional specifications during the software planning phase.</td>
              </tr>
              <tr>
                <td>KeepAPrompt</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://keepaprompt.com">https://keepaprompt.com</ext-link>
                </td>
                <td>Platform for storing, sharing, and discovering optimized AI prompts, enabling the creation of reusable prompts to guide software design tools.</td>
              </tr>
              <tr>
                <td>Figma</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://figma.com">https://figma.com</ext-link>
                </td>
                <td>Collaborative UI/UX design tool with AI features that automatically generate prototypes and interfaces from textual descriptions.</td>
              </tr>
              <tr>
                <td>Canva</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://canva.com">https://canva.com</ext-link>
                </td>
                <td>AI-assisted visual creation platform for rapidly designing mockups, diagrams, and graphical assets intended for the software prototyping phase.</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>3.1.2. Software Development </p>
        <p>Software development has taken a giant leap forward thanks to advances in artificial intelligence tools. We have moved from simple code completions to fully autonomous agents capable of implementing complete features in just a few interactions.</p>
        <p>As previously emphasized, rigorous project organization is essential: it facilitates team access and collaboration while adhering to best practices to ensure extensibility and a clear structure. It is important to adopt well-established frameworks, as well as mastering code interaction through automated testing, code reviews, and continuous deployment tools. <bold>Table 2</bold> provides non exhaustive list of software development tools.</p>
        <p>Table 2. Software development AI tools.</p>
        <table-wrap id="tbl2">
          <label>Table 2</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Tool name</bold>
                </td>
                <td>
                  <bold>URL</bold>
                </td>
                <td>
                  <bold>Description</bold>
                </td>
              </tr>
              <tr>
                <td>Github</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://github.com">https://github.com</ext-link>
                </td>
                <td>With GitHub Copilot + Copilot Agent: enable AI-assisted code generation, structured project organization, and automated testing, allowing robust applications to be built with minimal supervision. Tasks can be assigned directly to Copilot Agent, which autonomously creates pull requests.</td>
              </tr>
              <tr>
                <td>Bolt, Lovable, Firebase Studio</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://bolt.new">https://bolt.new</ext-link>
                  ,
                  <ext-link ext-link-type="uri" xlink:href="https://lovable.com">https://lovable.com</ext-link>
                  ,
                  <ext-link ext-link-type="uri" xlink:href="https://firebase.studio">https://firebase.studio</ext-link>
                </td>
                <td>AI tools for rapid full-stack application development. These tools exhibit distinct characteristics tailored to different use cases. For instance, Firebase integrates seamlessly with the Google ecosystem.</td>
              </tr>
              <tr>
                <td>n8n</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://n8n.com">https://n8n.com</ext-link>
                </td>
                <td>Low-code/no-code workflow automation platform that integrates artificial intelligence to connect applications, orchestrate complex processes, and automate repetitive tasks within the software development lifecycle.</td>
              </tr>
              <tr>
                <td>VSCode, Cursor</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://vscode.com">https://vscode.com</ext-link>
                  ,
                  <ext-link ext-link-type="uri" xlink:href="https://cursor.com">https://cursor.com</ext-link>
                </td>
                <td>AI-Integrated Development Environments: VS Code stands out for its exceptional extensibility and strong support for collaboration. Cursor, an advanced fork of VS Code, provides native AI assistance, delivering powerful capabilities for code autocompletion, debugging, and multi-file editing directly through natural language instructions.</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>3.1.3. Automated and AI-Assisted Databases </p>
        <p>Databases are a fundamental component of any information system, as they enable structured storage and organization of data. Creating one involves the following successive steps: analyzing requirements, designing the conceptual data model (CDM), then the logical data model (LDM), and finally implementing the physical data model (PDM) in the chosen DBMS<sup>9</sup> [<xref ref-type="bibr" rid="B19">19</xref>]. Although numerous methods and tools have been developed for database design, their implementation remains a true art: the more experience one gains, the better one becomes at creating performant, elegant, and perfectly optimized databases.</p>
        <p>AI provides developers with powerful tools to design and manage databases more easily. While it is possible to discuss with ChatGPT, Claude, or Grok to create or improve a database, the most effective solution is to connect the application directly to the database using existing technologies, particularly ORMs<sup>10</sup> and BaaS<sup>11</sup>. The bad approach that is not AI friendly is to have the DBMS completely separated from the source code, as shown in <xref ref-type="fig" rid="fig8">Figure 8</xref>.</p>
        <fig id="fig8">
          <label>Figure 8</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId34.jpeg?20260302030023" />
        </fig>
        <p>Figure 8. Use of migration files in the application source code.</p>
        <p>When developing a backend with a framework that includes an ORM, AI agents can easily modify the database structure and automatically generate the corresponding migrations.</p>
        <p>By using BaaS solutions, it becomes possible to develop and fully manage the backend directly from the frontend source code. Although this approach is fast and efficient, it can introduce significant security risks if best practices are not strictly followed.</p>
        <p>Currently, the vast majority of backend frameworks support ORMs for SQL databases (MySQL, PostgreSQL, Oracle, etc.) as well as NoSQL databases (e.g., MongoDB). Similarly, cache databases (Redis, Memcached, etc.) are generally very easy to manipulate from application code thanks to the libraries provided by most frameworks.</p>
        <p>One of the major points of friction in software development is writing, optimizing, and maintaining database queries (SQL, NoSQL, etc.). Integrating AI at the data-access layer offers a radical solution to streamline developers’ work and democratize data access and manipulation for less technical profiles.</p>
        <p>Today, developers no longer need to write complex data queries to interact with their database. They can simply express their request to the AI in natural language (e.g., “Find the 10 most active users in September with a satisfaction score above 90”). An MCP-compatible client forwards this request to the dedicated MCP server for the database. The MCP server translates the request into a native query (SQL or JSON, for example), executes it, and returns the formatted result to the AI, which then presents it clearly to the user.</p>
        <p>This approach provides:</p>
        <p>Reduced context switching: developers can query or even modify the database directly from their development environment (IDE) without resorting to external consoles.Democratization: it allows non-developer team members to explore data using natural language.</p>
        <p>Suggested BaaS (Backend-as-a-Service) platforms and databases are shown in <bold>Table 3</bold>.</p>
        <p>Table 3. BaaS platforms and Database tools.</p>
        <table-wrap id="tbl3">
          <label>Table 3</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Tool name</bold>
                </td>
                <td>
                  <bold>URL</bold>
                </td>
                <td>
                  <bold>Description</bold>
                </td>
              </tr>
              <tr>
                <td>Supabase</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://supabase.com/">https://supabase.com/</ext-link>
                </td>
                <td>
                  An open-source BaaS platform (PostgreSQL) with community-maintained MCP servers available [
                  <xref ref-type="bibr" rid="B22">22</xref>
                  ].
                </td>
              </tr>
              <tr>
                <td>Firebase</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://firebase.google.com/">https://firebase.google.com/</ext-link>
                </td>
                <td>A non-open-source BaaS platform (NoSQL) offering seamless integration with the Google ecosystem, high maturity, and official MCP servers via Google Cloud.</td>
              </tr>
              <tr>
                <td>Convex</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://www.convex.dev/">https://www.convex.dev/</ext-link>
                </td>
                <td>A BaaS platform (Functions &amp; Real-time) focused on collaborative and real-time applications, featuring a simplified API for AI integration.</td>
              </tr>
              <tr>
                <td>DB-Mcp-Tool</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://github.com/wirdes/db-mcp-tool">https://github.com/wirdes/db-mcp-tool</ext-link>
                </td>
                <td>Universal MCP server that connects existing databases to AI agents, making any backend “AI-Agent Ready” without requiring migration.</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>3.1.4. Software Deployment </p>
        <p>Artificial intelligence has revolutionized software deployment by making processes smoother and more automated. The field of continuous integration/continuous deployment (CI/CD), although broad and technical, benefits enormously from LLMs, which accelerate the design and optimization of deployment pipelines.</p>
        <p>For example, tools such as Grok or ChatGPT can quickly generate Dockerfiles tailored to your application, or Ansible scripts to orchestrate multi-environment deployments. These AI assistants convert natural-language descriptions into ready-to-use configurations, thereby reducing manual errors and time-to-production. A list of tools for deployment is provided in <bold>Table 4</bold>.</p>
        <p>Table 4. Deployment tools.</p>
        <table-wrap id="tbl4">
          <label>Table 4</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Tool name</bold>
                </td>
                <td>
                  <bold>URL</bold>
                </td>
                <td>
                  <bold>Description</bold>
                </td>
              </tr>
              <tr>
                <td>Grok, ChatGPT</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://grok.com">https://grok.com</ext-link>
                  ,
                  <ext-link ext-link-type="uri" xlink:href="https://chat.com">https://chat.com</ext-link>
                </td>
                <td>Conversational AI assistant for generating CI/CD scripts, Docker configurations, or automated pipelines directly from natural-language descriptions.</td>
              </tr>
              <tr>
                <td>Termius</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://termius.com">https://termius.com</ext-link>
                </td>
                <td>AI-integrated terminal for interacting with remote servers, especially Linux servers.</td>
              </tr>
              <tr>
                <td>Dotenvx</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://dotenvx.com">https://dotenvx.com</ext-link>
                </td>
                <td>Secure environment-variable management tool with built-in encryption, enabling versioning, injection, and auditing of secrets directly within deployment pipelines.</td>
              </tr>
              <tr>
                <td>Harness CircleCI Github Actions</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://www.harness.io/">https://www.harness.io/</ext-link>
                  <ext-link ext-link-type="uri" xlink:href="https://circleci.com/">https://circleci.com/</ext-link>
                  <ext-link ext-link-type="uri" xlink:href="https://github.com">https://github.com</ext-link>
                </td>
                <td>AI-driven CI/CD platform for deployment checks, canary releases, and intelligent rollbacks, minimizing production downtime.</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>3.1.5. Software and Source-Code Security</p>
        <p>Security is a particularly sensitive domain in the development and operation of software products. It encompasses many aspects, ranging from program logic (e.g., flow validation) to user protection (authentication, role management), input-field hardening (against SQL injection or XSS) [<xref ref-type="bibr" rid="B20">20</xref>][<xref ref-type="bibr" rid="B21">21</xref>], protection of sensitive data, and securing underlying infrastructure (networks, containers, etc.).</p>
        <p>The integration of artificial intelligence (AI) tools, especially large language models (LLMs), opens unprecedented opportunities to strengthen security—for example, by automating vulnerability detection, generating code audits, or simulating attacks to test system resilience.</p>
        <p>However, these tools, while powerful, are not infallible and introduce their own risks. We strongly advise against <italic>fully delegating security responsibility to AI</italic>, because even a minor error—such as a model hallucination producing vulnerable code or a biased recommendation—can lead to irreversible consequences: massive data breaches, financial losses, reputational damage, or regulatory violations<sup>12</sup>. Studies such as the OWASP Top 10 for LLMs [<xref ref-type="bibr" rid="B22">22</xref>] highlight specific threats, including training-data poisoning, malicious prompt injection, and adversarial attacks that manipulate AI outputs. Moreover, code generated by LLMs can inherit hidden biases or vulnerabilities, increasing risks throughout the software supply chain.</p>
        <p>Despite these pitfalls, AI remains a valuable ally when used in a hybrid, human-supervised manner. It can provide actionable insights, such as automated log analysis for anomaly detection or generation of tailored encryption scripts. To maximize benefits while minimizing dangers, adopt a “Secure by Design” approach that integrates AI from the earliest stages of the software lifecycle.</p>
        <p>AI is transforming software security into a more dynamic and preventive discipline, but it demands heightened vigilance and robust human governance. By balancing innovation with caution, organizations can harness its potential without compromising the integrity of their software products. </p>
        <p>Table 5. Security tools powered by AI.</p>
        <table-wrap id="tbl5">
          <label>Table 5</label>
          <table>
            <tbody>
              <tr>
                <td>Tool name</td>
                <td>URL</td>
                <td>Description</td>
              </tr>
              <tr>
                <td>Checkmarx</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://checkmarx.com/">https://checkmarx.com/</ext-link>
                </td>
                <td>An application security platform that helps developers find and fix security vulnerabilities in source code before deployment. It offers SAST tools and seamless integration into CI/CD pipelines.</td>
              </tr>
              <tr>
                <td>Aikido Security</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://www.aikido.dev/">https://www.aikido.dev/</ext-link>
                </td>
                <td>SAST solution with AI-powered AutoFix that automatically identifies and corrects vulnerabilities in code, prioritizing risks based on project context to speed up security reviews with minimal manual intervention.</td>
              </tr>
              <tr>
                <td>CodeQL (GitHub)</td>
                <td>
                  <ext-link ext-link-type="uri" xlink:href="https://codeql.github.com/">https://codeql.github.com/</ext-link>
                </td>
                <td>GitHub’s AI-powered code analysis engine that runs semantic queries on source code to detect malicious patterns and security bugs, with native repository integration for automated scans and real-time alerts.</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Although we have recommended these tools, security is a constantly evolving field. Before using any of them, ensure you conduct thorough research to confirm that the tool fully meets your own security standards (<bold>Table 5</bold>).</p>
        <p>When using AI tools, we favor natural language over traditional programming languages. However, as discussed in previous chapters, two major constraints remain: context management and token volume limitation.</p>
      </sec>
      <sec id="sec3dot2">
        <title>3.2. Optimizing AI Tool Usage in Large-Scale Software Projects</title>
        <p>3.2.1. Token Consumption Optimization for Cost Reduction</p>
        <p>When interacting with LLMs, text is used as input, and they generally return text as output. To measure<sup>13</sup> the amount of input text, cached memory, and output text, the quantity is typically calculated in tokens; nowadays, this is commonly measured in millions of tokens, as illustrated in <xref ref-type="fig" rid="fig9">Figure 9</xref>.</p>
        <p>Model response quality is strongly correlated with the relevance and precision of the provided context, although this must be balanced against token and cost constraints. For example, when interacting with Grok<sup>14</sup> to modify a file, the file should either be attached to the conversation or its content copied directly into the chat interface. This allows the LLM to fully understand the document and make the necessary changes.</p>
        <fig id="fig9">
          <label>Figure 9</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId49.jpeg?20260302030025" />
        </fig>
        <p>Figure 9. Price of the GPT-realtime model on the OpenAI website on January 13, 2026.</p>
        <p>If the modification requires taking another file into account—particularly in the case of imports or dependencies—all relevant files must be attached, and their relative locations explicitly specified (e.g., “the file ‘main.py’ is located in the ‘/src’ folder, and utils.py is in ‘/lib’”). This clarification ensures the model correctly interprets the relationships between modules.</p>
        <p>Adding these files mechanically increases the token count in direct proportion to the size of the provided context.</p>
        <p>The use of artificial intelligence agents dramatically amplifies token consumption. It therefore becomes critical to optimize their usage, especially on platforms where tokens are billed or when developing an autonomous agent. The following section reviews several effective optimization techniques.</p>
        <p><bold>1) Project Discoverability</bold></p>
        <p>To facilitate project discovery by artificial intelligence tools, it is recommended to adopt a structure based on templates that are widely used across the Internet. Rather than inventing a custom organization, we advocate the use of standardized project scaffolding tools that guarantee immediate recognition by LLMs. </p>
        <p>Examples include:</p>
        <p>For full-stack web projects [<xref ref-type="bibr" rid="B23">23</xref>] with a Node.js backend, Volo<sup>15</sup> provides a classic, well-documented structure.For full-stack web projects with a Python backend, django-admin <italic>startproject</italic> (for Django) or <italic>cookiecutter</italic><ext-link ext-link-type="uri" xlink:href="https://github.com/tiangolo/full-stack">https://github.com/tiangolo/full-stack</ext-link> (for FastAPI and Flask).For full-stack web projects with a PHP backend, “<italic>composer create-project</italic><italic>laravel</italic><italic>/</italic><italic>laravel</italic>” (for Laravel) or php artisan new (within the Laravel ecosystem).</p>
        <p>Overall, popular frameworks [<xref ref-type="bibr" rid="B18">18</xref>] offer far superior discoverability compared to highly customized, bespoke architectures. In the latter case, simply adding descriptive context is sufficient to guide the AI tool through navigation of the project files.</p>
        <p><bold>2) Well-Structured Modules</bold></p>
        <p>Project structure plays a critical role for both human collaborators and the artificial intelligence tools that assist during development. A clear and consistent organization greatly facilitates comprehension, maintenance, and automation.</p>
        <p>In this regard, frameworks represent a proven solution: they enforce widely recognized structural conventions, making them particularly well-suited for interaction with LLMs. Frameworks are generally well-suited to LLM-assisted development because they enforce widely recognized structural conventions.</p>
        <p>Beyond the choice of framework, proper naming conventions are essential. Prefer folder and file names in English, following conventions broadly adopted in the ecosystem (e.g., “src/”, “components/”, “services/”, “utils/”, “config/”). This practice ensures immediate readability for both developers and AI models.</p>
        <p><bold>3) Long Files vs. Multiple Short Files</bold></p>
        <p>Since many AI tools include entire files in the context, we strongly recommend favoring short files over long ones.</p>
        <p>A short file dedicated to a single responsibility (e.g., one function or one class) fits far more efficiently into the model’s context window. Conversely, a large file that bundles multiple responsibilities consumes more tokens and dilutes the relevant context, making the LLM’s analysis less accurate.</p>
        <p>Empirical experience suggests that decomposing large files into smaller, single-responsibility units improves both context efficiency and the reliability of LLM-assisted analysis. This practice optimizes both token consumption and the quality of AI-generated responses.</p>
        <p><bold>4) Batching Requests</bold></p>
        <p>Some AI tools charge based not on token count but on the number of requests. This is the case, for example, with GitHub Copilot Agent, which introduces “premium requests<sup>16</sup>”: every task submitted to the agent—whether a full code-generation session or an iterative edit—counts as one such premium request.</p>
        <p>To minimize costs, it is advisable to bundle multiple sub-tasks into a single overarching request. However, the larger the batch of questions, the less fine-grained control you have over the resulting pull request generated by Copilot. This can lead to increased code-review time or to model hallucinations, making the outputs less reliable. <xref ref-type="fig" rid="fig10">Figure 10</xref> summarizes these practises.</p>
        <fig id="fig10">
          <label>Figure 10</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId51.jpeg?20260302030026" />
        </fig>
        <p>Figure 10. Token reduction summary.</p>
        <p>3.2.2. Context Enhancement and Automation</p>
        <p>AI models are primarily trained on public datasets that are fixed in time. However, many companies and individuals possess private data that is absent from these training corpora. Consequently, at each interaction, it is necessary to supply this specific information in the prompt to enrich the context, guide responses, and prevent errors stemming from the lack of internal knowledge.</p>
        <p>This practice significantly improves the relevance of the model’s outputs by compensating for its limited access to confidential or up-to-date data.</p>
        <p>In this section, we present methods for enriching context so that AI tools can produce the best possible results.</p>
        <p><bold>1) Enhancing Context with a RAG System</bold></p>
        <p>As the system scales, incorporating all available data into a single prompt to reduce LLM hallucinations becomes increasingly impractical. To achieve richer and more effective context despite large data volumes, a Retrieval-Augmented Generation (RAG) system built on a vector database provides a well-optimized and scalable solution.</p>
        <p>To create a RAG-based application (<xref ref-type="fig" rid="fig11">Figure 11</xref>), the first step is to assemble a high-quality, relevant corpus of data. Next, an efficient retrieval system must be implemented that indexes the content and enables rapid retrieval of key passages [<xref ref-type="bibr" rid="B24">24</xref>].</p>
        <fig id="fig11">
          <label>Figure 11</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId52.jpeg?20260302030026" />
        </fig>
        <p>Figure 11. Steps in creating a RAG.</p>
        <p>To improve context in your RAG-based application, follow these key steps: </p>
        <p><bold>(1)</bold><italic><bold>Data Collection and Preparation</bold></italic></p>
        <p>The data will serve as the foundation for the model to retrieve information and generate accurate, contextualized responses. It is therefore crucial to organize and clean this information before integrating it into the system.</p>
        <p>This involves:</p>
        <p>Gathering documents (articles, reports, internal databases, FAQs, etc.).Cleaning the data: removing duplicates, standardizing formats, and eliminating noise.Structuring the data: transforming it into usable text formats (JSON, TXT, CSV, or a document database).</p>
        <p><bold>(2)</bold><italic><bold>Indexing and Vectorization</bold></italic></p>
        <p>Once the exploitable text is available in formats such as JSON, TXT, CSV, or a document database, the next steps are :</p>
        <p>Converting the documents into vector representations using semantic embedding models (e.g., OpenAI embeddings or Sentence-BERT [<xref ref-type="bibr" rid="B25">25</xref>]).Storing these vectors in a vector database such as FAISS, Pinecone, Weaviate, or Milvus.</p>
        <p><bold>(3)</bold><italic><bold>Search and Retrieval</bold></italic></p>
        <p>This is the stage where the application user interacts. When the user asks a question, that query is also converted into a vector. The RAG-powered system then performs a similarity search (using cosine similarity [<xref ref-type="bibr" rid="B26">26</xref>], Euclidean distance, etc.) to identify the most relevant passages from the document corpus serving as context.</p>
        <p><bold>(4)</bold><italic><bold>Augmentated</bold></italic><italic><bold>Generation</bold></italic></p>
        <p>The passages retrieved in the previous step are provided as context to the language model (e.g., Claude 4.5, GPT-5, etc.), which then generates a more precise response grounded in the organization’s data.</p>
        <p><bold>(5)</bold><italic><bold>Evaluation and Improvement</bold></italic></p>
        <p>It is essential to systematically evaluate the results produced by the system to ensure their accuracy and to identify necessary improvements for achieving optimal performance.</p>
        <p>Here are some best practices:</p>
        <p>Regularly update the corpus so the system remains relevant.Manage confidentiality: encrypt sensitive data and enforce strict access controls.</p>
        <p><bold>(6)</bold><italic><bold>Limitations and</bold></italic><italic><bold>Failure Modes</bold></italic></p>
        <p>While RAG significantly reduces hallucinations, it remains sensitive to retrieval quality. A common failure mode is irrelevant or weakly related document retrieval, which can bias the model toward incorrect answers while maintaining high linguistic confidence. This issue is exacerbated when embeddings poorly capture domain-specific semantics or when document chunking is misaligned with user queries. Developers can mitigate these risks by combining semantic retrieval with metadata-based filtering, enforcing minimum similarity thresholds, and periodically evaluating retrieval precision using curated test queries. Additionally, fallback mechanisms, such as explicitly allowing the model to answer “insufficient information”, can reduce overconfident but incorrect outputs.</p>
        <p><bold>2) Rules/Directives in the Codebase</bold></p>
        <p>When developing within an IDE connected to a code repository, it is critical to clearly define what the LLM is allowed and not allowed to do. This prevents costly hallucinations that waste time and reduce reliability.</p>
        <p>Rules address this need precisely: they are configuration files embedded in the project that contain explicit instructions about conventions, architecture, dependencies, and expected behaviors. By placing them directly in the repository, they guarantee consistent application every time code is generated or modified.</p>
        <p>Thanks to these customized directives, the LLM produces more reliable suggestions that comply with the project’s standards and align with its technical choices, patterns, and best practices. The AI thus becomes a more accurate collaborator, reducing review effort and the risk of errors.</p>
        <fig id="fig12">
          <label>Figure 12</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId53.jpeg?20260302030026" />
        </fig>
        <p><bold>3) Automating context with MCP</bold></p>
        <p>The primary role of an <bold>MCP</bold> (Model Context Protocol) service is to provide context to LLMs in a standardized way, cleanly <italic>separating context presentation from the actual interaction with the LLM</italic>.</p>
        <p>The MCP service therefore acts as an intermediate layer that simplifies and automates these interactions. It establishes a security layer that prevents the exposure of non-public information, as illustrated in <xref ref-type="fig" rid="fig12">Figure 12</xref>.</p>
        <p><bold>(1)</bold><italic><bold>Main Functions of the MCP Service</bold></italic></p>
        <p>According to the official documentation [<xref ref-type="bibr" rid="B27">27</xref>], the MCP service fulfills several key functions: </p>
        <p><bold>Resources</bold>: expose data (equivalent to HTTP GET endpoints) to automatically load relevant information into the LLM’s context.<bold>Tools</bold>: provide executable capabilities (equivalent to HTTP POST endpoints) that allow running code or triggering concrete actions.<bold>Prompts</bold>: supply reusable prompt templates designed to structure and optimize interactions with LLMs.<bold>Completions</bold>: enable direct interaction with the model in “completion” mode for real-time generated responses.</p>
        <p>MCP services are not limited to serving static text or reading data from a database: they provide genuine secure execution mechanisms. These tools make it possible to integrate executable code into an application’s context while rigorously controlling risks, thereby ensuring reliable, secure, and fully managed interaction between the LLM and the target system. For a concrete working example, download the code from <ext-link ext-link-type="uri" xlink:href="https://github.com/llm-paper-org/basic-mcp-server">https://github.com/llm-paper-org/basic-mcp-server</ext-link>.</p>
        <fig id="fig13">
          <label>Figure 13</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId55.jpeg?20260302030026" />
        </fig>
        <p>Figure 12. MCP service architecture<sup>17</sup>.</p>
        <p><bold>(2)</bold><italic><bold>Integration of the MCP Service into the Software Development Lifecycle</bold></italic></p>
        <p>As previously emphasized, providing adequate context is critical in software development workflows. Configuring an AI setup with access to contextual information from multiple components significantly reduces hallucinations in large language models (LLMs) and minimizes the need for batched requests.</p>
        <p>MCP (Model Context Protocol) servers can be directly connected to sensitive data sources or tasked with executing operations within the system. Proper configuration enables LLMs to request and receive context through secure channels [<xref ref-type="bibr" rid="B28">28</xref>].</p>
        <p>Common context sources needed while developing software that can be integrated via MCP include:</p>
        <p>Access to database schemas and data;Notes stored in tools such as Notion;Design assets hosted on platforms like Figma;Issues, workflows tracked in GitHub;Relevant information retrieved from the Internet to enhance task understanding;Files residing on local or remote servers.</p>
        <p>Integrating targeted MCP services substantially improves the performance and reliability of AI agents. The basic integration process into an MCP-compatible client workflow is as illustrated in <xref ref-type="fig" rid="fig13">Figure 13</xref>.</p>
        <fig id="fig14">
          <label>Figure 14</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId56.jpeg?20260302030026" />
        </fig>
        <p>Figure 13. Interaction with a context provider with a local MCP Server.</p>
        <p>MCP servers can be deployed either locally using standard input/output streams or remotely via RPC. Local deployment, often initiated through npx with a provider-specific command, ensures execution within the developer’s controlled environment, thereby enhancing security. Remote MCP servers are also available as RPC endpoints.</p>
        <p>For local integration, the MCP server executable and required parameters suffice. Many providers implement MCP servers in Node.js, allowing invocation via npx followed by the server package name.</p>
        <p>This approach enables secure access to resources such as a MySQL database<sup>18</sup> using dedicated servers (e.g., mcp-server-mysql). Integration is straightforward and supported by platforms like Smithery, which offer extensions for environments including VSCode, Cursor,… For instance, the command “npx-y @smithery/cli@latest install @benborla29/mcp-server-mysql-client claude-code” (as documented by Smithery) exposes tools such as mysql_query and resources including database schema, column names, foreign keys, and relational structures to the LLM to claude-code.</p>
        <p>The MCP MySQL server can be integrated with specific parameters that restrict access to certain database functionalities, thereby enhancing the security of the database.</p>
        <fig id="fig15">
          <label>Figure 15</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId57.jpeg?20260302030026" />
        </fig>
        <p>Platforms such as MCPMarket.com and Smithery.ai serve as comprehensive marketplaces and registries for publicly available Model Context Protocol (MCP) servers. These resources enable developers to discover, evaluate, and integrate pre-built MCP servers that extend the capabilities of large language models and AI agents, thereby optimizing software development workflows through enhanced contextual access, tool integration, and reduced implementation overhead. </p>
        <p>MCP servers support multiple interaction modes. Local access is commonly achieved via standard input/output streams. Additionally, remote access over the Internet is possible through HTTP-based transports, as demonstrated in the example implementation at <ext-link ext-link-type="uri" xlink:href="https://github.com/llm-paper-org/http-mcp-server">https://github.com/llm-paper-org/http-mcp-server</ext-link>. This approach requires an MCP-compatible client and operates using a Remote Procedure Call (RPC) model over HTTP.</p>
        <p>Agentic AI tools can seamlessly incorporate such servers into their workflows (<xref ref-type="fig" rid="fig14">Figure 14</xref>); for instance, GitHub Copilot Agent can integrate an MCP servers to provide enhanced contextual access during development tasks.</p>
        <fig id="fig16">
          <label>Figure 16</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId59.jpeg?20260302030026" />
        </fig>
        <p>Figure 14. The agentic LLM has access to context from different sources from database to notes and designs thanks to MCP servers.</p>
        <p>MCP-based architectures also present limitations. Incorrectly scoped tools or overly permissive execution rights may allow the model to invoke unintended actions, especially when prompts are ambiguous or adversarial. Moreover, MCP servers introduce an additional operational dependency: failures in the MCP layer (e.g., stale resources, inconsistent session state) can silently degrade model performance. These risks can be mitigated by applying least-privilege principles to tools, validating all tool inputs independently of the LLM, and monitoring MCP interactions through structured logging and audit trails.</p>
      </sec>
    </sec>
    <sec id="sec4">
      <title>4. Discussion on the Use of LLMs in Our Projects</title>
      <p>Since 2023, with the emergence of models such as ChatGPT, the software development process has undergone profound change. Our initial uses of LLMs were very simple: applications that could be built in a single file, such as a Telegram bot or a smart contract to be deployed on Ethereum.</p>
      <p>For larger-scale projects, we continued to work in a traditional manner, only occasionally integrating AI tools. The first LLM directly embedded in an IDE was GitHub Copilot, which revolutionized code autocompletion and significantly increased productivity.</p>
      <p>The arrival of autonomous agents, such as Cursor or GitHub Copilot Agent, subsequently transformed the way we design and develop applications, moving from occasional assistance to active, structured collaboration with artificial intelligence.</p>
      <sec id="sec4dot1">
        <title>4.1. Contribution of LLMs to Our Applications</title>
        <p>4.1.1. LLM Contribution to Pikelo—by Benedict Mukanirwa</p>
        <p>In the development of Pikelo, LLMs have played a central role-not only in generating natural, coherent, and contextually appropriate dialogues between users and avatars, but also in guiding product design and continuous evolution.</p>
        <p>From a technical standpoint, these models have dramatically reduced development and debugging time. In early 2024, while building the MVP, the team sometimes spent hours hunting bugs because LLM usage was not yet fully integrated into the workflow. Today, a well-crafted prompt is often sufficient to identify and resolve an issue reported by a user.</p>
        <p>At that time, code editors equipped with AI agents had not yet appeared. We were still in the era of “pure” LLMs, without true autonomous action capability. Agents, by contrast, can plan, execute tasks, and iterate independently with minimal human intervention.</p>
        <p>In <bold>Table 6</bold>, we present the AI models integrated into our workflow.</p>
        <p>Table 6. AI models used in Pikelo.</p>
        <table-wrap id="tbl6">
          <label>Table 6</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Tool</bold>
                </td>
                <td>
                  <bold>Model</bold>
                </td>
                <td>
                  <bold>Task</bold>
                </td>
                <td>
                  <bold>Frequency</bold>
                </td>
                <td>
                  <bold>Comment</bold>
                </td>
              </tr>
              <tr>
                <td rowspan="3">Cursor</td>
                <td>Claude Sonnet (3.5, 3.7, 4, 4.5)</td>
                <td>Code implementation</td>
                <td>Moderate</td>
                <td>Moderately priced cost, except for the “thinking” models.</td>
              </tr>
              <tr>
                <td>Gemini 2.5 pro thinking</td>
                <td>Planning and creation of to-do lists. With a 1M-token context window, it navigates the files of a large project without much difficulty.</td>
                <td>Moderate</td>
                <td>Too expensive given the context size it provides.</td>
              </tr>
              <tr>
                <td>Gemini 2.5 flash thinking</td>
                <td>Changing small pieces of code (or performing refactoring). Best suited for paying down technical debt.</td>
                <td>Moderate</td>
                <td>Free inside Cursor. It is the daily companion and helps keep costs down. It hallucinates from time to time, but can deliver solid results when combined with clearly detailed prompts (Chain of Thought: CoT).</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>In the software development lifecycle, a recurring conflict often pits UI/UX designers against front-end developers. This tension arises when the implemented interface deviates from the mockups created in Figma or Adobe XD. Today, LLMs dramatically reduce this problem: by crafting a few precise prompts, it becomes possible to generate front-end code that faithfully matches the designs, thereby minimizing back-and-forth and ensuring optimal consistency between design and implementation.</p>
        <p>4.1.2. LLM Contribution to Troto—by Mathe Eliel</p>
        <p>I have been leading the development of the Troto application for over five years at nfinic RDC SARL. The project was born before the emergence of AI tools and has evolved in step with their advances.</p>
        <p><underline><italic>Troto</italic></underline><underline><italic>Version</italic></underline><underline> 1 </underline><underline> — </underline><underline><italic>a chaotic personal project</italic></underline></p>
        <p>Launched at the end of 2019, the first version relied on a frontend built with HTML, Cordova, and Framework7, and a PHP 7 backend. The current interface has been completely rebuilt in Flutter, while the backend has migrated to TypeScript with AdonisJS as the main framework.</p>
        <p>Initially, Troto was a personal project with no organizational or collaboration constraints. The backend used no framework at all, and onboarding new developers quickly became a major challenge, as technical communication and consistency were difficult to maintain.</p>
        <p><underline><italic>Troto</italic></underline><underline><italic>Version</italic></underline><underline> 3 </underline><underline> — </underline><underline><italic>a solid team structure and team</italic></underline></p>
        <p>Version 3 was designed from the ground up as a collaborative project, with dedicated teams for front-end, back-end, file management, performance, database, translations, design, and prototyping. This organization laid the foundation for a robust, well-structured application, even before the massive integration of artificial intelligence.</p>
        <p>In 2024, faced with the new capabilities of LLMs, we encouraged their systematic adoption to speed up development and optimize performance. In 2025, the arrival of agent-driven development changed everything: productivity increased, radically transforming the workflow on the Troto project codebase.</p>
        <p><bold>Table 7</bold> provides an overview of modules utilizing AI and those that do not, along with their respective commit counts.</p>
        <p>Table 7. AI tool usage and commit counts across modules in the Troto system.</p>
        <table-wrap id="tbl7">
          <label>Table 7</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Module</bold>
                </td>
                <td>
                  <bold>Commits</bold>
                </td>
                <td>
                  <bold>Programming</bold>
                  <bold>Language</bold>
                </td>
                <td>
                  <bold>Framework</bold>
                </td>
                <td>
                  <bold>AI Usage</bold>
                </td>
              </tr>
              <tr>
                <td>Front-end</td>
                <td>1845</td>
                <td>Dart</td>
                <td>Flutter</td>
                <td>High</td>
              </tr>
              <tr>
                <td>Back-end</td>
                <td>619</td>
                <td>TypeScript</td>
                <td>AdonisJS</td>
                <td>High</td>
              </tr>
              <tr>
                <td>File management</td>
                <td>45</td>
                <td>JavaScript</td>
                <td>-</td>
                <td>Medium</td>
              </tr>
              <tr>
                <td>Payments</td>
                <td>69</td>
                <td>Rust</td>
                <td>Actix.rs</td>
                <td>Not yet</td>
              </tr>
              <tr>
                <td>Serverless functions</td>
                <td>5</td>
                <td>JavaScript</td>
                <td>-</td>
                <td>Medium</td>
              </tr>
              <tr>
                <td>Web application</td>
                <td>130</td>
                <td>HTML</td>
                <td>ReactJS</td>
                <td>High</td>
              </tr>
              <tr>
                <td>Admin Dashboard</td>
                <td>969</td>
                <td>PHP</td>
                <td>-</td>
                <td>No</td>
              </tr>
              <tr>
                <td>Orchestration</td>
                <td>56</td>
                <td>
                </td>
                <td>Ansible</td>
                <td>High</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Many Troto modules make intensive use of artificial intelligence, particularly those designed with a team-oriented approach, as in Troto version 3. With GitHub Copilot Agent, we now integrate AI as a true team member. Thanks to a well-thought-out and structured architecture, the agent’s suggestions are generally accurate and relevant. In contrast, in legacy parts from version 1, such as the Admin Dashboard, which was poorly designed originally, the use of LLMs often generates hallucinations, making the results less reliable.</p>
        <p>Thanks to LLMs, issue resolution on Troto has increased from 5 to 10 per week per developer to sometimes more than 50 with the usage of GitHub Copilot Agent. This is illustrated by the increase in GitHub Copilot Actions, as shown in <xref ref-type="fig" rid="fig15">Figure 15</xref>. Rather than focusing on manual code writing (except in special cases), developers now concentrate on business logic, specifications, and tests.</p>
        <p>We estimate that integrating an MCP server into our workflow would allow GitHub Copilot Agent to automatically execute tests and reduce iteration cycles. Since GitHub charges each interaction as a Premium Request, a dedicated MCP for testing would significantly reduce costs: instead of triggering a new request after each validation, the MCP would handle execution and verification within the same session. </p>
        <fig id="fig17">
          <label>Figure 17</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId60.jpeg?20260302030029" />
        </fig>
        <p>Figure 15. Growth in the use of GitHub Actions services.</p>
      </sec>
      <sec id="sec4dot2">
        <title>4.2. Discussion on Source Code and Application Security</title>
        <p>The use of LLMs poses numerous security risks, particularly sensitive for application developers. On one hand, platform providers can access data exchanged during interactions. Prior to adopting large language models (LLMs) in the Troto development workflow, several security vulnerabilities had already been identified. The most severe incident involved the public password-reset form on the artist dashboard. Although the form was designed to deliver one-time passwords (OTPs) via SMS in a secure manner, it lacked adequate rate-limiting and replay-attack protection. Malicious actors exploited this weakness by repeatedly triggering OTP requests, generating an extremely high volume of SMS notifications. The resulting charges rapidly depleted the online banking account used to pay for the bulk SMS service.</p>
        <p>The progressive integration of LLMs into the development process has simultaneously introduced new classes of risk while substantially improving our ability to detect latent vulnerabilities and accelerate remediation.</p>
        <p>The principal security concerns we have observed and addressed since adopting LLMs are the following:</p>
        <p>1) Inadvertent leakage of sensitive infrastructure secrets during prompting </p>
        <p>Sensitive values—server IP addresses, SSH keys, database credentials, deployment secrets, Ansible vault passwords—frequently appear in the Ansible playbooks, inventory files, group_vars, and vault-encrypted files that constitute the deployment project. Because these files are often open or referenced in the IDE during refactoring, debugging, or feature implementation, developers occasionally include excerpts (or even fully decrypted sections) in LLM prompts to obtain more precise assistance. </p>
        <p>To mitigate this risk, we instituted a strict organization-wide policy that prohibits the inclusion of any production or pre-production secrets in prompts sent to external LLM providers. Whenever context from deployment-related files is genuinely required, developers must now manually redact all sensitive values before copying code into the prompt, use placeholder tokens (e.g. ‘{{ ansible_host }}’, ‘{{ db_password }}’) combined with a description of the intended structure, or—preferably—leverage local/offline models that can ingest the complete project context when working on infrastructure code.</p>
        <p>2) Propagation of legacy security weaknesses through code completion</p>
        <p>Because LLMs operate predominantly in a completion paradigm, they are strongly conditioned by existing patterns found in the codebase. When older modules contained security deficiencies (insufficient input sanitization, missing CSRF tokens, unsafe use of eval/exec, etc.), these same patterns were frequently reproduced—and occasionally amplified—in newly generated sections. </p>
        <p>To address this issue, we introduced and progressively enforced project-level security instructions (via Cursor rules, Lovable Knowledge files, and dedicated system prompts) explicitly requiring the model to adhere to current best security guidelines and language/framework-specific secure coding recommendations. In parallel, we implemented a mandatory human security-focused code review gate for every LLM-generated pull request before merging into protected branches.</p>
        <p>3) Merge conflicts and security regressions induced by parallel agent task execution </p>
        <p>Assigning multiple tasks in parallel to AI agents (or to a single agent operating in multi-file mode) can dramatically increase velocity, but hallucinations or divergent reasoning paths sometimes lead to concurrent modifications of the same files, resulting in conflicting or insecure merge outcomes. </p>
        <p>To reduce these risks, we largely shifted to sequential task assignment for all security-sensitive modules and any work touching shared infrastructure or configuration files. For the remaining parallelizable tasks, we established a reinforced review checklist and now require explicit approval by at least one senior engineer before integration into the main branch.</p>
        <p>When different system components are developed by distinct agents—often powered by different underlying models and prompt strategies—subtle semantic or architectural incompatibilities can emerge. Current agentic toolchains still offer limited support for automated end-to-end integration testing across agent boundaries.</p>
        <p>We are actively working toward a more tightly coupled agent orchestration layer that combines standard CI/CD pipelines, dedicated MCP servers responsible for test execution and validation, centralized observability across human- and agent-generated contributions, and automated cross-component contract and integration testing (<xref ref-type="fig" rid="fig16">Figure 16</xref>). This integrated approach aims to preserve strong security invariants while retaining the substantial velocity gains provided by multi-agent LLM-assisted development.</p>
        <fig id="fig18">
          <label>Figure 18</label>
          <graphic xlink:href="https://html.scirp.org/file/1733416-rId61.jpeg?20260302030030" />
        </fig>
        <p>Figure 16. Global system integrated security.</p>
      </sec>
    </sec>
    <sec id="sec5">
      <title>5. Conclusions</title>
      <p>This article explored recent advances in artificial intelligence and their integration into software development projects. These innovations profoundly transform the software creation process. By choosing the right tools, it is possible to multiply individual and collective productivity by 10, or even 100, as observed in the Troto and Pikelo projects. However, effective AI adoption relies on respecting fundamental development best practices: adopting robust frameworks, using clear communication tools, rigorous code structuring, and version control.</p>
      <p>The use of LLMs raises two major challenges for any architect: access cost and result quality. A concrete method has been presented to reduce costs and optimize responses by enriching the context provided to the model. The MCP protocol has been detailed, along with its precursors such as RAG, and simpler approaches like rule or instruction files adapted to development environments.</p>
      <p>Finally, the integration of LLMs comes with security risks that must be managed to protect the system and users. Particular vigilance is required, especially regarding the confidentiality of transmitted data and validation of generated outputs.</p>
      <p>This article, of a general nature, highlights several tools for fully leveraging LLMs in creating complex systems. More specialized explorations can be conducted in areas such as frontend, backend, security, communication, or project management, where new tools emerge daily.</p>
    </sec>
    <sec id="sec6">
      <title>NOTES</title>
      <p><sup>1</sup>A neural network is an artificial intelligence method that teaches computers to process data in a way inspired by the human brain. It is a type of machine learning process called deep learning, which uses interconnected nodes, or neurons, in a multi-layered structure similar to the human brain. It creates an adaptive system used by computers to learn from their mistakes and continuously improve. Artificial neural networks attempt to solve complex problems such as summarizing documents or recognizing faces, with greater accuracy [<xref ref-type="bibr" rid="B6">6</xref>].</p>
      <p><sup>2</sup>Edge: the edge of the Internet network, often devices like phones or laptops. Cloud: the other side of the Internet network, often consisting of servers.</p>
      <p><sup>3</sup>The key prompt was: “Classify the types of AI models by providing an example for each type of model”. </p>
      <p><sup>4</sup>Prompt: giving an instruction to artificial intelligence (=a computer system or machine that possesses certain qualities of the human brain, such as the ability to interpret and produce language in a way that seems human, to recognize or create images, to solve problems and to learn from data provided to it) using natural language rather than computer language https://dictionary.cambridge.org/dictionary/english/prompt.</p>
      <p><sup>5</sup>You can go to https://platform.openai.com/docs/guides/prompt-engineering to learn more.</p>
      <p><sup>6</sup>The token is the unit of measurement for interactions with LLMs: it represents the text entered or the text output from an interaction with the model in most cases.</p>
      <p><sup>7</sup>VSCode: a software development environment available at https://code.visualstudio.com.</p>
      <p><sup>8</sup>OpenZeppelin, a company specializing in providing secure smart contracts on blockchain, now offers an MCP server: https://mcp.openzeppelin.com. Similarly, Flutter, a framework dedicated to creating mobile applications, has its own MCP server: https://dart.dev/tools/mcp-server.</p>
      <p><sup>9</sup>DBMS: Database Management System.</p>
      <p><sup>10</sup>ORM: Object-Relational Mapping.</p>
      <p><sup>11</sup>BaaS: Backend as a Service.</p>
      <p><sup>12</sup>Regulatory violations such as GDPR or cybersecurity law in the United States.</p>
      <p><sup>13</sup>The millions of tokens: the invisible unit of measurement shaping modern AI https://daijobu.ai/fr/2025/05/19/les-millions-de-tokens-lunite-de-mesure-invisible-qui-faconne-lia-moderne/.</p>
      <p><sup>14</sup>Grok: https://grok.com/, https://fr.wikipedia.org/wiki/Grok (IA).</p>
      <p><sup>15</sup><ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">https://github.com/volojs/volo</ext-link>.</p>
      <p><sup>16</sup>You can read more about “Premium request” here https://docs.github.com/en/copilot/concepts/billing/copilot-requests.</p>
      <p><sup>17</sup>The execution icon comes from https://www.freepik.com/icons/execution.</p>
      <p><sup>18</sup><ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">https://github.com/benborla/mcp-server-mysql</ext-link>.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="B1">
        <label>1.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">IBM (2025) What Is Machine Learning? https://www.ibm.com/think/topics/machine-learning</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>What Is Machine Learning? https://www</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B2">
        <label>2.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Ng, A. (2025) Stanford CS229: Machine Learning—Linear Regression and Gradient Descent | Lecture 2 (Autumn 2018). https://www.youtube.com/watch?app=desktop&amp;v=4b4MUYve_U8</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Ng, A.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Stanford CS229: Machine Learning—Linear Regression and Gradient Descent | Lecture 2 (Autumn 2018)</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B3">
        <label>3.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Sun, S., Cao, Z., Zhu, H. and Zhao, J. (2019) A Survey of Optimization Methods from a Machine Learning Perspective. arXiv:1906.06821.</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Sun, S.</string-name>
              <string-name>Cao, Z.</string-name>
              <string-name>Zhu, H.</string-name>
              <string-name>Zhao, J.</string-name>
            </person-group>
            <year>2019</year>
            <article-title>A Survey of Optimization Methods from a Machine Learning Perspective</article-title>
            <fpage>1906</fpage>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B4">
        <label>4.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">(2025) Qu’est-ce que le Deep Learning? https://aws.amazon.com/what-is/deep-learning/</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>Qu’est-ce que le Deep Learning? https://aws</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B5">
        <label>5.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Model Context Protocol (2025) MCP TypeScript SDK. https://github.com/modelcontextprotocol/typescript-sdk</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>MCP TypeScript SDK</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B6">
        <label>6.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">(2025) Faiss. https://github.com/facebookresearch/faiss</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>Faiss</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B7">
        <label>7.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A.N., Kaiser, L. and Polosukhin, I. (2017) Attention Is All You Need. arXiv:1706.03762.</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Vaswani, A.</string-name>
              <string-name>Shazeer, N.</string-name>
              <string-name>Parmar, N.</string-name>
              <string-name>Uszkoreit, J.</string-name>
              <string-name>Jones, L.</string-name>
              <string-name>Gomez, A.N.</string-name>
              <string-name>Kaiser, L.</string-name>
              <string-name>Polosukhin, I.</string-name>
            </person-group>
            <year>2017</year>
            <article-title>Attention Is All You Need</article-title>
            <fpage>1706</fpage>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B8">
        <label>8.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Ilya, S., Oriol, V. and Quoc, V.L. (2025) Sequence to Sequence Learning with Neural Networks. https://arxiv.org/pdf/1409.3215</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Ilya, S.</string-name>
              <string-name>Oriol, V.</string-name>
              <string-name>Quoc, V.L.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Sequence to Sequence Learning with Neural Networks</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B9">
        <label>9.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Maximer (2019) What Is a Transformer? https://maximeallard.lu/2019/01/04/what-is-a-transformer/</mixed-citation>
          <element-citation publication-type="web">
            <year>2019</year>
            <article-title>What Is a Transformer? https://maximeallard</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B10">
        <label>10.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Radford, A., Narasimhan, K., Salimans, T. and Sutskever, I. (2018) Improving Language Understanding by Generative Pre-Training. https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Radford, A.</string-name>
              <string-name>Narasimhan, K.</string-name>
              <string-name>Salimans, T.</string-name>
              <string-name>Sutskever, I.</string-name>
            </person-group>
            <year>2018</year>
            <article-title>Improving Language Understanding by Generative Pre-Training</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B11">
        <label>11.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">(2025) Qu’est ce qu’un réseau neuronal. https://aws.amazon.com/what-is/neural-network/</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>Qu’est ce qu’un réseau neuronal</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B12">
        <label>12.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Shumer, M. (2025) Startup Growth Consultant Claude 4 Prompt. https://shumerprompt.com/prompts/startup-growth-consultant-claude-4-prompt-prompt-0cee13e1-2893-4620-8dcd-ba9068d0e5ed</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Shumer, M.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Startup Growth Consultant Claude 4 Prompt</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B13">
        <label>13.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Google Cloud (2025) What Is Vibe Coding? https://cloud.google.com/discover/what-is-vibe-coding</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>What Is Vibe Coding? https://cloud</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B14">
        <label>14.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">(2025) What Is Agentic AI? https://www.ibm.com/think/topics/agentic-ai</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>What Is Agentic AI? https://www</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B15">
        <label>15.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Umoren, S. (2025) 6 Model Context Protocol Alternatives to Consider in 2025. https://www.merge.dev/blog/model-context-protocol-alternatives</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Umoren, S.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>6 Model Context Protocol Alternatives to Consider in 2025</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B16">
        <label>16.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Mode Control Protocol (2025) What Is the Model Context Protocol (MCP)? https://modelcontextprotocol.io/docs/getting-started/intro</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>What Is the Model Context Protocol (MCP)? https://modelcontextprotocol</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B17">
        <label>17.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Euro Tech Conseil SARL (2025) Cycle de vie du développement logiciel: Qu’est-ce que le SDLC? https://www.eurotechconseil.com/blog/cycle-de-vie-developpement-logiciel/</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>Cycle de vie du développement logiciel: Qu’est-ce que le SDLC? https://www</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B18">
        <label>18.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Replit (2026) About Replit—Empowering the Next Billion Software Creators. https://replit.com/about</mixed-citation>
          <element-citation publication-type="web">
            <year>2026</year>
            <article-title>About Replit—Empowering the Next Billion Software Creators</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B19">
        <label>19.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">OWASP (2025) 2025 Top 10 Risk &amp; Mitigations for LLMs and Gen AI Apps. https://genai.owasp.org/llm-top-10/</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>2025 Top 10 Risk &amp; Mitigations for LLMs and Gen AI Apps</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B20">
        <label>20.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">(2025) Qu’est-ce qu’un cadre en programmation et en ingénierie? https://aws.amazon.com/fr/what-is/framework/</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>Qu’est-ce qu’un cadre en programmation et en ingénierie? https://aws</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B21">
        <label>21.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Patrick, L., Ethan, P., Aleksandra, P., Fabio, P., Vladimir, K., Naman, G., Heinrich, K., Mike, L., Wen-tau, Y., Tim, R., Sebastian, R. and Douwe, K. (2021) Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. https://arxiv.org/pdf/2005.11401</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Patrick, L.</string-name>
              <string-name>Ethan, P.</string-name>
              <string-name>Aleksandra, P.</string-name>
              <string-name>Fabio, P.</string-name>
              <string-name>Vladimir, K.</string-name>
              <string-name>Naman, G.</string-name>
              <string-name>Heinrich, K.</string-name>
              <string-name>Mike, L.</string-name>
              <string-name>Wen-tau, Y.</string-name>
              <string-name>Tim, R.</string-name>
              <string-name>Sebastian, R.</string-name>
              <string-name>Douwe, K.</string-name>
            </person-group>
            <year>2021</year>
            <article-title>Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B22">
        <label>22.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">OpenAI (2025) Vector Embeddings. https://platform.openai.com/docs/guides/embeddings</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>Vector Embeddings</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B23">
        <label>23.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Grigoryan, M. (2025) Tech for Non-Tech 40: Data Exchange Formats: A Guide to JSON, XML, YAML, and More. https://medium.com/@margrig96/tech-for-non-tech-40-data-exchange-formats-a-guide-to-json-xml-yaml-and-more-aa5289093b4a</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Grigoryan, M.</string-name>
              <string-name>JSON, X</string-name>
              <string-name>ML, Y</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Tech for Non-Tech 40: Data Exchange Formats: A Guide to JSON, XML, YAML, and More</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B24">
        <label>24.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Scenari-Community (2025) Conception de bases des données. https://stph.scenari-community.org/bdd/0/co/pri1c21.html</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>Conception de bases des données</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B25">
        <label>25.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Convex (2025) Convex vs. Supabase. https://www.convex.dev/compare/supabase</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>Convex vs</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B26">
        <label>26.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">SentinelOne (2025) Top 14 AI Security Risks in 2025. https://www.sentinelone.com/cybersecurity-101/data-and-ai/ai-security-risks/</mixed-citation>
          <element-citation publication-type="web">
            <year>2025</year>
            <article-title>Top 14 AI Security Risks in 2025</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B27">
        <label>27.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Jessica, J., Jenny, J., Maggie, W. and Rebecca, G. (2025) Cybersecurity Risks of AI-Generated Code. https://cset.georgetown.edu/publication/cybersecurity-risks-of-ai-generated-code/</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Jessica, J.</string-name>
              <string-name>Jenny, J.</string-name>
              <string-name>Maggie, W.</string-name>
              <string-name>Rebecca, G.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Cybersecurity Risks of AI-Generated Code</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B28">
        <label>28.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">De Santis, M. (2024) Full stack: Définition et usages. https://www.appvizer.fr/magazine/services-informatiques/gestion-informatique/full-stack-glossaire</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Santis, M.</string-name>
            </person-group>
            <year>2024</year>
            <article-title>Full stack: Définition et usages</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
    </ref-list>
  </back>
</article>