Praxistest: Mit chatGPT in wenigen Minuten eine Mini-Anwendung erstellen

Immer wieder finden sich Nachrichten wie sehr uns generative AI Arbeit abnehmen kann und Entwickler überflüssig macht. In diesem Artikel soll es um ein ganz konkretes Beispiel aus der Praxis gehen. Ein Echtwelt-Szenario in dem die KI chatGPT in nur 24 Minuten zu einer Mini-Anwendung zur Kontrolle von Weiterleitungen verholfen hat.

In der täglichen operativen Arbeit kommt es bei meinen Tätigkeiten immer wieder dazu, dass ich wissen will, wie die Weiterleitungskette eines Links aussieht. Sei es für Performance-Markting Trackinglinks, Kurz-URLs oder oder. Diese Information lässt sich auch schnell über das „Netzwerk“ der Entwickler-Konsole herausfinden. Ist aber bei häufiger Nutzung doch etwas umständlich.

Diese Infos programmatisch zu ermitteln und darzustellen, ist ein perfektes Szenario für ein kleine App die durch eine eine KI erstellt werden kann. Der Prompt war schnell ohne große Überlegung (mit schlechtem Satzbau) geschrieben.

Nicht überraschend, aber dennoch beeindruckend, zeigt sich bereits in der ersten Antwort ein Code der ausreichend funktional ist. Trotz des sehr kurzen Prompt funktioniert alles, sind alle nötigen Informationen enthalten und die Mini-Anwendung erfüllt ihren Zweck. Für nur 2 Minuten ein unfassbar tolles Ergebnis.

Generierter Code aus dem ersten Prompt:

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['url'])) {
    $url = $_POST['url'];
    $userAgent = $_POST['user_agent'];

    function getRedirectTrace($url, $userAgent) {
        $redirects = [];
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, true);

        do {
            curl_setopt($ch, CURLOPT_URL, $url);
            $headers = curl_exec($ch);
            $info = curl_getinfo($ch);
            $url = $info['redirect_url'];
            $redirects[] = ['url' => $info['url'], 'status' => $info['http_code']];
        } while ($info['http_code'] >= 300 && $info['http_code'] < 400);

        curl_close($ch);
        return $redirects;
    }

    $redirects = getRedirectTrace($url, $userAgent);
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Redirect Tracer</title>
</head>
<body>
    <form action="" method="post">
        <label for="url">Enter URL:</label>
        <input type="url" name="url" required>
        <label for="user_agent">Choose User-Agent:</label>
        <select name="user_agent">
            <option value="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537">Chrome</option>
            <option value="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0">Firefox</option>
            <option value="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Edge/15.15063">Edge</option>
        </select>
        <input type="submit" value="Trace Redirects">
    </form>

    <?php if (isset($redirects)): ?>
        <h2>Redirect Trace:</h2>
        <ul>
            <?php foreach ($redirects as $redirect): ?>
                <li><strong>URL:</strong> <?= $redirect['url'] ?> | <strong>Status:</strong> <?= $redirect['status'] ?></li>
            <?php endforeach; ?>
        </ul>
    <?php endif; ?>
</body>
</html>

Wir eine interne Nutzung wäre hier dann auch schon Schluss und man hätte in nur wenigen Minuten ein funktionierendes Werkzeug programmiert, das im Alltag Zeit und Nerven spart. Da ich die Anwendung jedoch online stellen wollte, habe ich noch einige Minuten in die Optimierung des Codes, der Sicherheit und der Gestaltung gesteckt.

  1. Damit die Weiterleitungen nicht immer mit nur einem User-Agent getestet werden, kann der User-Agent des Nutzers übernommen werden.
  2. Die Variable für die URL ($_POST['url']) wurde gegen XSS-Attacken abgesichert.
  3. Es wurde ein sehr einfaches klassenfreies CSS-Framework integriert, damit es zumindest ein wenig ansprechender aussieht.

Am Ende waren es tatsächlich nur 24 gemessene Minuten und der RedirectTracer1.0 war online. Aus meiner Sicht ein perfektes Echtwelt Beispiel dass zeigt, wie weit die aktuellen AI-Lösungen schon sind und wie sehr diese Lösungen uns unterstützen können.