ChatGPT im Bereich der Softwareentwicklung: Die häufigsten Fragen unserer Auftraggeber:innen

1. Arbeitet Valudio mit ChatGPT? 

Ja, wir haben ChatGPT in unsere täglichen Arbeitsabläufe integriert. ChatGPT ist zu einem hilfreichen Tool im Rahmen alltäglicher Aufgaben geworden und trägt entscheidend zur Automatisierung und Vereinfachung verschiedener Aspekte unserer Arbeit bei.

 2. An welchen Kundenprojekten arbeitet Valudio, bei denen ChatGPT zum Einsatz kommt? 

Wir haben gerade erst Arbeiten an einem Proof of Concept für eine Schweizer Produktionsgesellschaft, das für seine Kundschaft einen digitalen Assistenten entwickeln möchte, abgeschlossen. Bei diesem Assistenten handelt es sich um einen betriebsinternen Chatbot, der Kundenfragen zu den Produkten des Unternehmens beantwortet.

Zur Entwicklung dieses Chatbots haben wir Produktmarketingmaterialien aus diversen Formaten wie PDF, HTML und Excel importiert und sie in die Datenbank des Chatbots integriert. Überdies haben wir auch Media- und Sprachdateien eingebunden, in dem wir KI-Dienste für die Transkription von Audiodaten nutzten.

Der Chatbot wird zukünftig zwei Hauptfunktionen erfüllen:

  1. Website-Integration: Der Chatbot wird in die Website des Unternehmens integriert und ermöglicht es der Kundschaft, schnell und unkompliziert produktbezogene Informationen auf der Website zu erhalten.
  2. Metaverse-Erkundung: Darüber hinaus erwägt unser Kunde die Errichtung eines Metaverse. Dabei handelt es sich um eine digitale Umgebung, die mit einem Verkaufsraum vergleichbar ist, in dem die Kundschaft mit einem digitalen Assistenten in Kontakt treten kann.

    Gegenwärtig konzentrieren wir uns auf die Entwicklung einer grundlegenden Interaktion: Die Kundschaft stellt Fragen und der Chatbot beantwortet diese. Die Implementierung komplexer Funktionen wie mehrstufige Gesprächsabläufe muss noch erfolgen.

     3. Setzen die Entwickler:innen von Valudio KI ein, um Code oder dergleichen zu prüfen? 

    Ja, unsere Entwickler:innen nutzen dafür die Plattform GitHub Copilot. Dabei handelt es sich um ein Tool und einen Abonnementdienst von GitHub, das in die Softwareentwicklungsumgebung integriert werden kann. Es schlägt während der aktiven Codierung bestimmte Codesegmente anhand bereits verfasster Elemente vor. Dies ist zum Beispiel bei Aufgaben wie der Erstellung von Testfällen oder der Generierung von Testdaten besonders praktisch.

     4. Ist das von Valudio verwendete KI-System anders als ChatGPT von OpenAI? 

    ChatGPT nutzt die generative KI-Technologie, insbesondere die von OpenAI entwickelte GPT-Architektur.

    Hinter GitHub Copilot verbirgt sich ein Modell namens Codex, das ebenfalls auf der GPT-Architektur basiert. Codex und ChatGPT (wie GPT-4) greifen zwar auf die gleiche Grundtechnologie zurück, werden aber für unterschiedliche Aufgaben trainiert. Codex wurde für die Codegenerierung und -unterstützung entwickelt, während ChatGPT für allgemeinere Konversationsaufgaben konzipiert wurde.

    Kurz gesagt: GitHub Copilot, das von Valudio verwendet wird, wurde mithilfe von ChatGPT entwickelt. Somit nutzen beide Systeme die gleiche Grundtechnologie. Dementsprechend unterscheidet sich die künstliche Intelligenz, die dahintersteckt, gar nicht so sehr voneinander.

    ChatGPT-3.5 und 4 zählen derzeit zu den beliebtesten Modellen, aber es gibt auch weniger bekannte Modelle, die auf spezielle Anwendungsfälle wie die Vervollständigung von Code, logisches Denken, Mathematik usw. ausgelegt sind. Manche dieser konkurrierenden Modelle stehen sogar als Open-Source zur Verfügung. Einer der Nachteile von ChatGPT und Azure OpenAI besteht darin, dass sie auf einer Cloud-Plattform ausgeführt werden müssen, was vielleicht nicht jedem zusagt.

    Eine Open-Source-Alternative bietet LLama 2 von Meta. Dieses Modell kann unabhängig von OpenAI oder Microsoft Azure betrieben werden.

     5. Wie wird ChatGPT in der Softwareentwicklung allgemein eingesetzt? 

    ChatGPT und ähnliche Sprachmodelle können sich in verschiedenen Bereichen der Softwareentwicklung als wertvolle Tools erweisen. Im folgenden Abschnitt geben wir einige Beispiele dafür, wie ChatGPT bei der Softwareentwicklung eingesetzt werden kann:

    Codegenerierung

    Mit ChatGPT können Entwickler:innen Codefragmente für bestimmte Aufgaben oder Funktionen generieren, indem sie ihre Anweisungen in einfacher Sprache schildern. Anhand der gegebenen Vorgaben kann ChatGPT dann Codevorlagen entwickeln oder Codevorschläge machen, um den Entwicklungsprozess zu rationalisieren.

    Fehleranalyse und -behebung

    Entwickler:innen können Codeprobleme oder Fehlermeldungen in ChatGPT beschreiben. Dies kann dazu beitragen, mögliche Ursachen zu identifizieren oder Methoden zur Fehlerbehebung vorzuschlagen. Auf diese Weise kann das System als interaktiver Assistent zur Fehlerbeseitigung fungieren.

    Unterstützung bei der Dokumentation

    ChatGPT kann bei der Erstellung von Dokumentationen für Code, Bibliotheken oder APIs helfen. Als Entwickler:in können Sie Beschreibungen zur Verfügung stellen, die von ChatGPT in einer klaren und präzisen Dokumentation zusammengefasst werden.

    Codeprüfung und Qualitätssicherung

    ChatGPT kann Entwickler:innen bei der Prüfung von Codes unterstützen, indem es Verbesserungen vorschlägt, potenzielle Sicherheitsrisiken ermittelt oder bewährte Verfahren für Programmierstandards empfiehlt.

    Automatisierte Tests

    ChatGPT kann bei der Erstellung und Verwaltung von Testfällen für Softwaretests helfen. Es kann Testszenarien anhand von Benutzereingaben und voraussichtlichen Ereignissen erstellen.

    Projektverwaltung

    ChatGPT kann Ihnen bei der Projektverwaltung helfen, indem es Sie bei der Erstellung von Projektplänen unterstützt. Ferner kann es bei der Ausarbeitung von Berichten und Dokumentationen, im Kontext der Projektverwaltung, behilflich sein.

    Natural Language Processing (NLP) / Linguistische Datenverarbeitung (LDV)

    Auf dem Gebiet der Sprachverarbeitung spielt ChatGPT eine zentrale Rolle. Es eignet sich zur Umsetzung von Chatbots und virtuellen Assistenten. Auch bei Aufgaben wie der Sprachübersetzung kann es nützlich sein, wobei anzumerken ist, dass es spezialisierte Modelle gibt, die bei sprachspezifischen Aufgaben mehr Genauigkeit erzielen.

     6. Ist ChatGPT in der Lage, den Kontext beizubehalten? 

    Diese Frage sollte in mehrere Teile aufgeschlüsselt werden, denn es ist wichtig den Kontext von ChatGPT zu verstehen und zu wissen, warum und wie es funktioniert.

    Was ist der ChatGPT-Kontext?

    Wenn es um konversationelle KI geht, ist der Kontext entscheidend. Doch wie genau wird der „Kontext“ in ChatGPT definiert? Bei dem Kontext handelt es sich um das Kurzzeitgedächtnis des Modells, das den unmittelbaren Verlauf eines Gesprächs festhält. Das Langzeitgedächtnis des Modells stellt dagegen das umfangreiche Wissen dar, das es während des Trainings erworben hat.

    ChatGPT: Kontext vs. Modellwissen

    Der Kontext von ChatGPT

    • Definition: Mit Kontext ist der unmittelbare Teil der Unterhaltung gemeint, an den sich ChatGPT während einer Interaktion „erinnert“. Dabei handelt es sich um den jüngsten Verlauf des Gesprächs.
    • Dauer: Die Dauer ist zeitlich begrenzt. Sobald die Sitzung beendet ist oder eine bestimmte Zeitspanne überschritten wird, verliert ChatGPT diesen Kontext.
    • Zweck: Durch den Kontext ist ChatGPT in der Lage, schlüssige und relevante Antworten anhand des aktuellen Gesprächs zu generieren. Ein Beispiel: Sie erkundigen sich nach dem Wetter in Paris. Daraufhin fragen Sie: „Wie sieht es morgen aus?“ In diesem Fall verwendet ChatGPT den Kontext der Unterhaltung, um zu verstehen, dass Sie sich immer noch auf das Wetter in Paris beziehen.

    Das Modellwissen von ChatGPT

    • Definition: Zum Modellwissen gehören alle Informationen, Muster und Daten, mit denen ChatGPT trainiert wurde. Es handelt sich um die große Menge an Inhalten und Informationen, die der Bot während seiner Trainingsphase erhalten hat.
    • Dauer: Dieses gewonnene Wissen existiert dauerhaft für die jeweilige Version des Modells. Der Wissensstand wird weder verändert noch auf dem neuesten Stand gehalten. Ein Beispiel: Wenn ChatGPT zuletzt im Jahr 2022 trainiert wurde, kennt es keine Ereignisse aus dem Jahr 2023, es sei denn, eine neue Version wird mit aktuellen Daten weiterentwickelt./li>
    • Zweck: Das Modellwissen ermöglicht es ChatGPT, eine Vielzahl von Fragen zu beantworten, kreative Inhalte zu erstellen und sich mit verschiedenen Themen zu beschäftigen. Es ist die Grundlage dafür, dass ChatGPT in der Lage ist, Texte zu verstehen und zu verfassen.

    Der Kontext bezieht sich auf die laufende Konversation und trägt dazu bei, dass ChatGPT im Laufe einer Chatsitzung nicht den Bezug verliert. Das Modellwissen hingegen stellt den umfangreichen Datenbestand dar, aus dem ChatGPT schöpft, um Fragen zu beantworten und sich in Diskussionen einzubringen. Man kann sich den Kontext also als Kurzzeitgedächtnis einer Konversation vorstellen und das Modellwissen als das Langzeitgedächtnis, das mithilfe von Daten entstanden ist.

    Warum wird der ChatGPT-Kontext benötigt?

    Neben dem Abrufen des Gesprächsverlaufs erfüllt der Kontext in ChatGPT noch eine weitere wichtige Aufgabe: Er kann Informationen liefern, die bisher nicht zum dauerhaften Wissensbestand des Modells gehören. Es ist Ihnen vielleicht schon passiert, dass ChatGPT mit einem bestimmten Thema nicht vertraut war. Dies bietet eine Chance für Softwareentwicklungsunternehmen wie Valudio. Durch die Integration von ChatGPT in kundenspezifische Software oder den Aufbau eines individuellen Chatbots kann diese Technik genutzt werden, um den Bot mit Informationen zu Themen zu versorgen, die ihm noch unbekannt sind. Das nennt man „Priming“.

    Wenn Sie z.B. möchten, dass ChatGPT Ihnen Fragen zu einem fiktiven Unternehmen oder zu einem Thema beantwortet, mit dem der Bot nicht gezielt trainiert wurde, können Sie das Gespräch damit beginnen, dass Sie eine kurze Zusammenfassung oder Details zu diesem Thema bereitstellen. Auf diese Weise wird das Modell darauf konditioniert, die entsprechenden Informationen in seinen Antworten zu verwenden.

    Allerdings ist zu beachten, dass „Priming“ zwar effektiv sein kann, aber auch Grenzen hat. Das Modell orientiert sich nämlich nach wie vor stark an seinen Trainingsdaten und seinen typischen Verhaltensweisen, sodass der „Priming“-Kontext seine Ergebnisse nur bis zu einem gewissen Grad beeinflussen kann.

    Wie lässt sich der Wissensstand von ChatGPT erweitern?

    Sie können ChatGPT kein Buch zum Auswendiglernen geben. Wie bereits erwähnt, müssen Sie ChatGPT bei Bedarf trainieren (das Wissen des Modells erweitern), damit es Ihren speziellen Bedürfnissen entspricht. Im folgenden Abschnitt stellen wir Ihnen verschiedene Techniken vor, mit denen Sie die Fähigkeiten von ChatGPT weiterentwickeln können. Diese Methoden richten sich nach dem Stadium der Modellentwicklung, in dem Sie die neuen Daten einführen würden.

    Interne Modellanpassungen

    Bei diesen Techniken werden die internen Parameter bzw. die Architektur des Modells verändert. Das heißt, Sie müssen das Modell an sich anpassen.

    • Feineinstellung: die Fortführung des Trainings anhand eines aufgabenspezifischen Datensatzes.
    • Techniken zur Regularisierung: die Ausführung von Methoden wie „Drop-out“ oder Ebenen-Normalisierung während der Feineinstellung.
    • Kundenspezifische architektonische Anpassungen: die Veränderung der Modellstruktur zur besseren Anpassung an bestimmte Aufgaben.

    Prompt-gestützte Steuerung

    Diese Techniken stützen sich auf den eingegebenen Prompt, um das Verhalten des Modells zu steuern, ohne dessen interne Parameter zu verändern. 

    • „Priming“: die Bereitstellung von Kontext oder Informationen innerhalb des Prompts, um die Antworten des Modells zu steuern.
    • „Few-shot Learning“: die Bereitstellung einiger Beispiele für eine Aufgabe, um das Verhalten des Modells zu steuern.
    • Aufgabenbezogene Prompts: die Formulierung von Prompts, die explizit oder anleitend sind.

    Aggregation und Redundanz

    Bei diesen Techniken wird das Modell mehrfach oder zusammen mit anderen Modellen verwendet.

    • „Model Ensembling“: die Kombination von Ergebnissen aus mehreren Modellen oder mehreren Durchläufen.

    Integration von externem Wissen

    Hier handelt es sich um Techniken, die externe Informationsquellen in die Ausgaben des Modells einbinden.

    • Integration von Wissen: die Zusammenführung von externen Datenbanken oder Wissensdatenbanken mit den Antworten des Modells.

     7. Wie sicher ist ChatGPT? 

    Bei ChatGPT handelt es sich um eine benutzerorientierte Anwendung, die bei täglichen Interaktionen eingesetzt wird. Mithilfe einer API können Sie die Funktionen von ChatGPT in Ihre Anwendungen integrieren. Als Anteilseigner von OpenAI bietet Microsoft über seine Cloud-Plattform Azure Zugang zu ChatGPT. Ein wichtiger Unterschied liegt hier in der Datensicherheit: Bei ChatGPT sind weder Ihre Eingaben noch Ihre Daten geschützt und können ohne jegliche Einschränkungen verwendet werden. Mit Microsoft Azure wird dagegen sichergestellt, dass Ihre Eingabedaten innerhalb Ihres Azure-Abonnements verbleiben, sodass sie garantiert nicht an andere weitergegeben werden.

    Außerdem können Sie ChatGPT daran hindern, auf externes Wissen zuzugreifen. Das bedeutet, Sie können das System anweisen, sich ausschließlich auf die von Ihnen bereitgestellten Daten zu beziehen. Dadurch sinkt die Gefahr, falsche Antworten zu erhalten. Wenn Sie nach etwas fragen, das über das Wissen von ChatGPT hinausgeht, oder wenn Sie um Informationen bitten, die Sie bislang nicht zur Verfügung gestellt haben, wird ChatGPT Ihnen erklären, dass es nicht in der Lage ist, Ihre Anfrage zu beantworten.

    Genau so funktioniert auch der Chatbot, den wir für das Schweizer Unternehmen entwickeln.

    8. Für welche Anwendungsfälle von ChatGPT wirbt Valudio?

    Heutzutage wird intensiv daran gearbeitet, generative KI in Anwendungen einzubinden – und das Potenzial ist enorm. Die Möglichkeit, verschiedene Aufgaben zu automatisieren, stellt einen Wendepunkt dar. Bislang war die Entwicklung von Chatbots oft mit statischem, komplexem Modelltraining verbunden. Doch dank ChatGPT konnte die Komplexität erheblich reduziert werden, sodass es nun ein einfaches und zugängliches Tool ist, mit dem jeder arbeiten kann. Wenn Sie sich fragen, wie Sie Ihr Unternehmen mit ChatGPT voranbringen können, informieren Sie sich darüber, wie Sie ChatGPT für die Softwareentwicklung nutzen können

     9. Könnten Entwickler:innen durch ChatGPT ersetzt werden? 

    Diese Frage beschäftigt uns alle. Immerhin steigert KI schon jetzt die Produktivität, was sich in Zukunft noch weiter verbessern wird. Aber wird sie Entwickler:innen vollständig ersetzen können?

    In uns ruft das die anhaltende Debatte über Low-Code- und No-Code-Entwicklung in Erinnerung. Diese Konzepte ermöglichen es Ihnen zwar, Anwendungen ohne umfassende Programmierkenntnisse zu entwickeln, aber sie haben auch ihre Grenzen. Ihre Möglichkeiten hängen von den Einschränkungen der gewählten No-Code- oder Low-Code-Plattform ab, wodurch Sie möglicherweise bestimmte Funktionen nicht implementieren können. Diese Einschränkung kann ein erheblicher Nachteil sein.

    Hinzu kommt, dass Sie bei der Verwendung solcher Plattformen oft einen Teil Ihrer Einnahmen abgeben müssen. Für die schnelle Erstellung von Prototypen oder das Testen kleinerer Projekte können solche Plattformen nützlich sein, aber es empfiehlt sich, komplexere und skalierbare Softwareprodukte selbst zu entwickeln.

    Der Mensch ist bei der aktuellen Softwareentwicklung nach wie vor unerlässlich, da Kommunikation eine wichtige Rolle spielt. Zwar sind die technischen Aspekte in der Regel gut zu bewältigen, aber eine effektive Kommunikation kann sich als schwierig erweisen. Missverständnisse können auftreten, weshalb zwischenmenschliche Faktoren und gegenseitiges Vertrauen von zentraler Bedeutung sind. Um Herausforderungen zu meistern, spielt die menschliche Zusammenarbeit eine entscheidende Rolle.

    Die Zukunft hält jedoch viele Überraschungen bereit. Noch im vergangenen Jahr haben wir über die Fähigkeiten von ChatGPT gestaunt. Vor drei Jahren erschütterte COVID-19 die Welt. In Anbetracht dieser unvorhersehbaren Entwicklungen ist es vielleicht an der Zeit, nichts auszuschließen. Die Zukunft wird es zeigen.

    Künstliche Intelligenz
    Softwareentwicklung-Trends

    Verwandte blogs

    Lassen Sie uns darüber sprechen, wie wir die Digitalisierung nutzen können, um Ihr Geschäft zu transformieren.