Programmieren mit KI Unterstützung

  • Einige von euch wissen ja, dass ich hauptberuflich programmiere. Und seit zwei Mochen mache ich das mit Hilfe einer KI. GitHub/Microsoft hat das Produkt "GitHub CoPilot" veröffentlich. Das ganze basiert auf OpenAI GPT3 Model.

    Ich nutze es jetzt seit knapp 2 Wochen und am aktuellen Projekt wo ich arbeite habe ich so gut wie keine eigene Zeile Code geschrieben. Egal ob HTML, PHP, JavaScript, TypeScript, Python, CSS, SASS, etc.

    Wenn ich Anfange Code zu schreiben versucht die KI direkt herauszufinden was ich machen will und gibt mir eine Option an meinen Code zu vervollständigen. Mit Druck auf die "Tabulator" Traste schreibt es dann diesen Code z.b. eine Funktion automatisch fertig.

    Es kann auch selbstständig SQL Queries schreiben:

    Als Beispiel:

    Wenn ich an einem WordPress Projekt arbeite und in der globalen functions.php eine neue Funktion schreibe tippe ich:

    Code
    function select_user_by_e

    Ab diesem Zeitpunkt erkennt der CoPilot, dass ich eine Funktion haben wie der mir Benutzer anhand der E-Mail Adresse ausgibt. Er merkt auch automatisch, dass ich mit WordPress arbeite und schlägt mir eine WordPress kompatible Funktion vor die ich mit der "Tab-Taste" nur noch bestätigen muss:


    Das graue ist der Vorschlag vom CoPilot

    Fairerweise ist das natürlich ein einfacher Vorschlag machen wir was komplizierteres. Als Beispiel ich möchte eine Funktion, die mir ein WordPress Menü, ink. der Untermenüs als Array zurückgibt:

    Ich schreibe wieder folgendes:

    Code
    function get_menus_with_submenus_as_arr

    Danach wird mir folgendes vorgeschlagen (wieder in grau):

    In beiden Fällen ist das 100% funktionierender PHP Code der 1:1 WordPress kompatibel ist und ich auch nicht anders geschrieben hätte (evtl hätte ich die Variabeln anders genannt, aber funktional ist das genial). Und spart extrem Zeit.

    Hier ein weiteres Beispiel in JavaScript:

    Ich schreibe folgendes:

    Code
    function check_is_mail_valid

    Als Ergebnis bekomme ich folgendes:

    Und nun wird es mehrfach beeindruckend. Der CoPilot gibt mir nicht nur irgendeinen Code Schnipsel aus, sondern analysiert auch das Projekt an dem ich arbeite. Und findet bisher als einziges Formular Feld vom Typ E-Mail irgendwo in einer HTML Datei das Feld "#molino_contact_mail" und arbeitet das direkt mit ein.

    Gleichzeitig merkt es auch, dass ich jQuery im Projekt aktiv habe und bietet mir entsprechend keine pure JavaScript sondern eine jQuery Lösung. Wenn ich jQuery deaktiviere, bietet er mit stattdessen eine pure JavaScript Lösung an.

    Ganz ehrlich die Art und weise, wie ich in den letzten 2 Wochen programmiert haben, haben sich extrem verändert. Und ich habe in viel kürzerer Zeit massiv mehr geschafft. Die Vorschläge vom CoPilot sind nicht immer 100% akkurat aber oft eine sehr gute Basis und man muss nur noch wenige Dinge verändern.

    Der GitHub CoPilot gibt es für folgende IDEs jeweils als Plugin:

    • Visual Studio
    • Visual Studio Code
    • Neovim
    • und für alle IDEs von JetBrain (WebStorm, PyCharm, etc)

    Man kann das ganze kostenlos in vollem Funktionsumfang für 30 Tage kostenlos testen.

    Danach bezahlt man als Einzelperson entweder 10 Dollar/Monat oder 100 im Jahr.

    Es gibt aber auch Pläne für Unternehmen wo man mehrere Lizenzen auf einmal erwerben kann.

    Ich kann allen die regelmässig programieren nur empfehlen das mal auszuprobieren.

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

  • Nicht schlecht!


    Neben der Einheitsmeinung und durch KI festgelegte Fakten gibt es bald auch gleichmäßigen Code auf der ganzen Welt.

    Schlagzeile 2025: "Weltweit alle Computer lahm gelegt durch von ChatGPT-v7 erstellten Virus"

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

  • Um das ganze etwas auf die Probe zu stellen habe ich nun ein komplett neues Projekt geöffnet und nur eine "index.html" mit folgendem Inhalt erstellt:

    HTML
    <html>
      <head>
        <title>Tic Tac Toe</title>
      </head>
      <body>
        <!-- Create a working Tic Tac Toe Game with inline JS and CSS -->
      </body>
    </html>

    Danach habe ich dem CoPilot gesagt er soll die Datei lesen und mir Vorschläge geben:

    Der erste Vorschlag der kam war folgender:

    Ich habe den Vorschlag akzeptiert und öffne die Datei nun im Browser:

    Als Ergebnis bekomme ich folgendes:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Aber das geht definitiv besser. Also habe ich das Projekt wieder gelöscht und mit 3 Prompts nacheinander gearbeitet.

    Als erstes habe ich der KI gesagt: "Create a Tic Tac Toe Markup":

    Als Ergebnis gab es den gleichen HTML Code wie oben. Danach gab ich der KI den Befehl: "Make the Tic Tac Toe Game look Cool"

    Danach wurde der HTML und CSS Code komplett überarbeitet:

    Als Code habe ich folgendes bekommen:

    Im Browser sieht das ganze so aus:

    Das ganze war natürlich noch ohne Funktion. Also gab ich der KI den letzten Befehl: "Create the Game Logic with cool Win Animation":

    Danach wurde ziemlich viel JavaScript Code hinzugefügt. Und ich hatte ein funktionierendes Spiel siehe hier das YouTube Video:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Dadurch habe ich nun ein funktionierendes Tic Tac Toe Spiel im Browser "programmiert" ohne eine einzelne Zeile Code zu schreiben.

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

    Einmal editiert, zuletzt von kim88 (12. April 2023 um 19:55)

  • Neben der Einheitsmeinung und durch KI festgelegte Fakten gibt es bald auch gleichmäßigen Code auf der ganzen Welt.

    Schlagzeile 2025: "Weltweit alle Computer lahm gelegt durch von ChatGPT-v7 erstellten Virus"

    Da sist Quatsch. So funktion GPT-Ki nicht. Die GPT-Ki macht nicht einfach "Copy & Paste" Code von irgendwelchen Codeschnipseln die sie auf Stackoverflow gefunden hat.

    Sondern hat eben die Dokumentationen von z.b. PHP, JavaScript oder Python "gelesen/verarbeitet" und kann alleine dadurch schon Code schreiben - ohne jemals reale Code Beispiele gesehen zu haben.

    Du bekommst, wenn du mein Beispiel oben nimmst - auch komplett unterschiedliche Ergebnisse - ob du nun z.b. sagst: "Make the Tic Tac Toe Game look Cool" oder "Make the Tic Tac Toe Game look beautiful", "Make the Tic Tac Toe Game look like a Child Game" oder "Make the Tic Tac Toe Game look good and use the colors blue, green and red", etc

    Daher die Art und weisse wie man Code schriebt wird ja eh von der Programmiersprache festgelegt (Also der Syntax) klar hält sich hier auch GPT3 dran. Aber wie er etwas schreibt ist je nach Prompt völlig unterschiedlich.

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

  • Perval Nein. Angst ist grundsätzlich immer ein schlechter Ratgeber -> erst Recht wenn es um gesellschaftlichen Fortschritt geht.

    Beim Programmieren macht man sehr oft repetitive Arbeiten bei jedem Projekt gefühlt Dinge die immer sehr ähnlich aber doch minimal anders sind. Wenn einem die KI diese Arbeit abnimmt, hat man mehr Zeit um die wirklich coole Dinge zu machen.

    Kann z.b. einzelne Animationen verfeinern. Mehr Zeit ins Testing investieren, etc.

    Und ja - vielleicht gibt es irgendwann den Beruf des "Web-Entwicklers" nicht mehr bzw ist hochgradig automatisiert (bzw. mehr automatisiert als er heute schon ist). Und ja vielleicht arbeite ich in 5 oder 10 Jahren dadurch nicht mehr in diesem Beruf. Aber es gibt ja noch extrem viele andere Berufe -> und gerade auch mit der KI gibt es neue Berufe.

    Z.b. geistert ja bereits der Beruf "AI Prompt Engineer" herum. Weil nur weil eine KI "alles" kann muss man am Ende auch die KI dazu bringen alles was man benötigt zu machen. Die "Prompts" sind die Befehle die man einer KI gibt.

    Meine Beiträge hier sind ein gutes Beispiel: Das Der Prompt "Create a Tic Tac Toe Game" nicht ausgereicht hat -> es war zwar etwas da, sah aber scheisse aus -> hat nicht gestoppt wenn jemand gewonnen hat, etc.

    Erst im Beitrag danach habe ich mit 3 Prompts die jeweils aufeinander aufbauen ein wirklich "gutes" Ergebnis bekommen. Und je komplexer die Arbeit wird umso komplexer werden solche Prompts bzw die aufeinander aufbauenden Prompt-Ketten.

    Ich bin Jahrgang 88. Für meinen Grossvater war die Lebensart "Wenn man mal einen Beruf erlernt hat, kann man den Rest fürs Leben in diesem Beruf arbeiten" noch richtig.

    Für meine Eltern stimmte die Lebensart bereits nicht mehr -> und sind heute im Grunde die Generation an Menschen die heute zwischen Anfang 50 und 65 sind -> oft langzeitarbeitslos weil sie nie Weiterbildungen gemacht haben und man sie heute nicht mehr brauchen kann.

    Für meine Generation, stimmt die Aussage definitiv gar nicht mehr. Daher die Annahme das es gut möglich ist, dass ich in sagen wir mal 20 Jahren in meinem Leben etwas komplett anderes mache? Das ist gut möglich -> aber ich habe da definitiv keine Angst davor.

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

  • Da sist Quatsch. So funktion GPT-Ki nicht. Die GPT-Ki macht nicht einfach "Copy & Paste" Code von irgendwelchen Codeschnipseln die sie auf Stackoverflow gefunden hat.

    Sondern hat eben die Dokumentationen von z.b. PHP, JavaScript oder Python "gelesen/verarbeitet" und kann alleine dadurch schon Code schreiben - ohne jemals reale Code Beispiele gesehen zu haben.

    Ich glaube das nicht und werde es demnächst testen, ich habe eine Logik in der Hausautomation die mir das Ding machen könnte. Ich werde sehen ob es geht.

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

  • CoPilot für Microsoft Office ist ja leider noch nicht öffentlich verfügbar. Gibt nur ein paar ausgewählte Firmen die das bisher testen dürfen.

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

  • Es kann auch selbstständig SQL Queries schreiben:

    Als Beispiel:

    Wenn ich an einem WordPress Projekt arbeite und in der globalen functions.php eine neue Funktion schreibe tippe ich:

    Code
    function select_user_by_e

    Naja, das Ergebnis ist doch etwas sehr rudimentär und eher für den Hausgebrauch.. ;)

    Mir fehlt auch hier wieder leider die Zeit.

    Kann das Teil nicht einen 26h Tag generieren. ?(

  • Und schon tauchen die ersten Fälle böser Malware durch ChatGPT und Co auf. War ja eigentlich nur eine Frage der Zeit.

    Das Ganze nennt sich “AI package hallucination”.

    Im Prinzip läuft das so ab, dass man einer KI wie ChatGPT einen Auftrag gibt, irgendeine Programm/Script/etc zu schreiben. Dabei kommt es wohl häufig vor, dass die KI dann Packages implementiert und abrufen möchte, die es gar nicht gibt. Jetzt haben Angreifer sehr viel Code von ChatGPT generieren lassen und geschaut, welche Packages die KI angibt und implementieren will. Dann haben sie Malware erstellt und der die Namen der Packages gegeben. Diese haben sie dann in bekannte Repositories geladen.

    (Bildquelle: https://vulcan.io/blog/ai-hallucinations-package-risk)

    Nun geht der nächste Nutzer her und lässt ein Programm schreiben und die KI fügt dann mal2ware.evil ein. Der Nutzer zieht es und schon wird Malware implementiert.

    Hier auf englisch nachzulesen: https://vulcan.io/blog/ai-hallucinations-package-risk

    💾 AMD EPYC 7452 (8 Cores) 40GB | 💾 Unraid Homeserver i5-4570 16GB

    💻 Ryzen 9 7900X RX7800XT 32GB | 💻 MacBook Pro M2Pro 32GB

    EndeavourOS <3

  • Nun geht der nächste Nutzer her und lässt ein Programm schreiben und die KI fügt dann mal2ware.evil ein. Der Nutzer zieht es und schon wird Malware implementiert.

    Richtig cool!

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

  • Hallo Kim, nutzt du CUDA zum rendering ?

    Mit Python hab ich in KI nur Bild und Video Erkennung gearbeitet. (Das Typische, Hund - Katze)

  • @schnuppi84 ich rendere hier nichts.

    GitHub CoPilot ist bei mir in der IDE eingebunden. Und mach wenn ich irgendwas programmiere automatisch "Vervollständigungsvorschläge" mit Klick auf die "tab" Taste kann ich die akzeptieren.

    CoPilot merkt dabei an was für einem Projekt ich arbeiten, kennt den Kontext der Dateien aus dem Projekt. Und schriebt so ziemlich guten Code.

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

  • @schnuppi84 ich rendere hier nichts.

    GitHub CoPilot ist bei mir in der IDE eingebunden. Und mach wenn ich irgendwas programmiere automatisch "Vervollständigungsvorschläge" mit Klick auf die "tab" Taste kann ich die akzeptieren.

    CoPilot merkt dabei an was für einem Projekt ich arbeiten, kennt den Kontext der Dateien aus dem Projekt. Und schriebt so ziemlich guten Code.

    Achso anstatt mit IntelliSense und IntelliCode zu Arbeiten, macht das dann der CoPilot autonom.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!