Wie ich meinen eigenen Chatbot ohne Programmierkenntnisse gebaut habe: Gelernte Lektionen
Ich habe in 5 Monaten einen funktionierenden Chatbot von null Programmierkenntnissen aus gebaut – mit der GPT API und ChatGPT 4. Hier erkläre ich, wie ich das gemacht habe und was ich als absoluter Anfänger gelernt habe.
Update (2026): Dieser Chatbot hat sich zu Sydney weiterentwickelt! Nach vielen Iterationen lebt Sydney jetzt unter /ask/ und konzentriert sich auf Blog-Inhalte und Produkte.
Seit der Veröffentlichung von ChatGPT letztes Jahr bin ich von generativer KI fasziniert und wollte unbedingt meinen eigenen Chatbot mit der verfügbaren API aufbauen. Als absoluter Anfänger ohne Programmiererfahrung war das ein ehrgeiziges Ziel. Ich war jedoch entschlossen, mich weiterzuentwickeln und praktische Erfahrungen mit KI-Systemen zu sammeln. Meine Motivation war, über das bloße Nutzen dieser Werkzeuge hinauszugehen und ein tieferes Verständnis dafür zu entwickeln, wie sie gebaut werden. Ich beschloss, meine bestehenden Inhalte zu nutzen, indem ich einen Chatbot baute, der Fragen zu den Beiträgen auf meinem Blog beantworten kann. Diesen Chatbot von Grund auf aufzubauen war eine unschätzbare Lernerfahrung – auch wenn er noch einen langen Weg vor sich hat. In diesem Beitrag teile ich einige der wichtigsten Lektionen, die ich auf dieser Reise als Coding-Neuling bisher gelernt habe.
Was waren also meine Herausforderungen?
- Zunächst konnte ich nicht programmieren. Ich wusste kaum etwas über HTML (abgesehen von der Verwendung von
<h1>oder<h2>), geschweige denn über Python oder andere Programmiersprachen. - Natürlich wusste ich nicht, wie man eine Anwendung in der Cloud bereitstellt, hatte noch nie von Docker, Cloud Run usw. gehört.
- Ich konnte diese Website nicht mal von Bluehost zu GCP migrieren, weil ich nichts über MySQL, virtuelle Instanzen usw. wusste.
- Ich kannte weder SSH noch öffentliche und private Schlüssel oder irgendetwas Ähnliches T.T
- Ich hatte auch keinen Hintergrund in Machine Learning oder fortgeschrittener Mathematik.
- Und ich bin kein junger Hüpfer :| Ich bin 40 Jahre alt und habe einen Vollzeitjob.
Aber nach etwa 5 Monaten ist hier Version 0.1 des Chatbots, den ich gebaut habe – mit der OpenAI GPT API und viel Hilfe von ChatGPT 4. Ich scherze nicht, wenn ich sage Version 0.1, denn er ist noch weit (sehr weit) von dem entfernt, was ich mir vorgestellt hatte – aber er „funktioniert" (irgendwie). Was er kann:
- Wenn du dem Chatbot eine Frage zu früheren Themen stellst, über die ich geschrieben habe, kann der Chatbot den Inhalt über mehrere Artikel hinweg synthetisieren und eine Antwort geben.
- Dieser Punkt ist mir wichtig, weil ich zuvor über die Implementierung von Off-the-Shelf-Lösungen geschrieben habe – aber das häufige Problem ist, dass diese Chatbots den Inhalt nicht über Posts hinweg synthetisieren. Der Chatbot „fühlt sich" eher wie eine Suchfunktion an als wie ein Chatbot.
- Er ist darauf ausgelegt, nur Fragen zu meinen Blogbeiträgen zu beantworten – wenn du ihn also zu anderen Themen befragst, wird er wahrscheinlich ablehnen.
- Sein Wissen umfasst alle Beiträge, die ich in den vergangenen 17 Jahren veröffentlicht habe, bis Ende September 2023. Das sind etwa 500 Beiträge.
Es gibt so viele Dinge, die der Chatbot noch NICHT kann:
- Er kann eine spezifische Zahl aus einem meiner Beiträge nicht präzise abrufen.
- Er kann Fragen zu Veröffentlichungsdaten nicht präzise beantworten.
- Er hat sicher eine Menge Sicherheitsprobleme T.T (trauriges, trauriges Gesicht)
- und vieles mehr
Update Februar 2024:
Version 2.1 des Chatbots ist verfügbar, und du kannst den Beitrag darüber lesen: "Chatbot v2.10 Unveiled: Elevating User Experience with Enhanced Speed, Scalability, and Simplicity."
Was habe ich also in der ersten Phase dieser Reise gelernt?
1. ChatGPT 4 kann die meisten grundlegenden/mittleren Coding-Aufgaben erledigen
wenn du weißt, wonach du suchst, und spezifisch mit deinen Prompts/dem Kontext-Teilen bist.
Der Schlüssel liegt darin, zu wissen, was man die Maschine fragen soll. Sie kann „fast alle" Coding-Aufgaben erledigen, solange sie spezifisch genug sind. Ich sage bewusst „fast alle", weil sie wiederholt bei einigen gegebenen Beispielen versagt.
Der Code, den ChatGPT 4 generiert, ist oft modular genug, um später wiederverwendet zu werden. Die Maschine fügt oft spezifische Kommentare im gesamten Code ein.
2. Grundlegende Coding/IT-Lektionen/Kurse absolvieren
Wenn du in meiner Situation wärst, würdest du nicht wissen, was du nicht weißt. Ein paar Wege, das zu überwinden:
- Erkläre ChatGPT das Gesamtziel des Projekts und bitte es, einen Überblick über alle Schritte zu geben. Das gibt dir ungefähr eine Vorstellung von Bereichen, in denen du mehr lernen musst.
- Wenn du blind dem folgst, was ChatGPT dir sagt, ergibt es möglicherweise keinen Sinn. (Das habe ich versucht :P)
- Diese Grundlagenkurse waren sehr hilfreich für mich. Sie gaben mir breites (aber nicht tiefes) Wissen, sodass ich weiß, wie verschiedene Puzzleteile zusammenpassen sollen.
3. Diese KOSTENLOSEN Kurse über Building Systems with the ChatGPT API absolvieren
Zwei Kurse über die ChatGPT API werden dir viel Zeit sparen:
Auch wenn diese Kurse für Anfänger gedacht sind: Als ich sie vor ein paar Monaten zum ersten Mal sah, hatte ich nicht genug Grundlagenwissen, um überhaupt zu folgen. Also hörte ich nach etwa 10 Minuten auf, sie anzuschauen. Dann versuchte ich eine Weile, mit der OpenAI API und verschiedenen Prompts zu arbeiten, steckte fest – und erinnerte mich an diese Kurse. Im Grunde gaben sie mir alle Antworten, die ich brauchte, um diese Version 0.1 zu bauen.
Der Kurs zum Prompt Engineering ist besonders hilfreich, weil er zeigt, wie man ChatGPT anweist, auf eine bestimmte Weise auszugeben. Zum Beispiel hätte ich ohne den Kurs nicht an diese Art von System-Message gedacht:
„Make sure to ask the user relevant follow-up questions."
Das HTML-kompatible Aufzählungspunkt-Format und Zeilenumbrüche machen es den Chatbot-Nutzern viel einfacher, wenn die Antworten lang sind.
4. Die eigentliche OpenAI-Dokumentation selbst lesen
Ich bin faul (:D), also las ich die Dokumentation von OpenAI anfangs gar nicht. Ich kopierte einfach die Dokumentation in ChatGPT und bat es dann, sie als Referenzquellen zu nutzen und mich mit echtem Code zu führen. Das funktionierte nicht sehr gut, und ich verschwendete ziemlich viel Zeit, bevor ich mich entschied, die Dokumentation selbst zu lesen und ChatGPT dann gezieltere Anfragen zu stellen.
5. ChatGPT verliert sich leicht, wenn das Gespräch zu lang wird oder wenn du nach einigen Stunden aufhörst und wieder anfängst
Ich sollte davon wohl nicht überrascht sein, denn ähnlich wie ein Mensch verliert sich ChatGPT leicht, wenn das Gespräch zu lang wird. Was meine ich damit?
- Es beginnt, Codes zu empfehlen, die keinen Sinn ergeben.
- Oder kann sich an einen anderen Code/Rat nicht erinnern, den es mir kürzlich gegeben hat.
Auch wenn du nach ein paar Stunden (oder über Nacht) aufhörst und dann wiederkommst: Selbst nachdem ich ChatGPT gebeten hatte, den gesamten Gesprächsverlauf zu lesen und zu bestätigen, dass es das getan hat, muss ich – ähnlich wie bei einem Menschen – viel mehr aktuellen Kontext und Code wieder bereitstellen. Sonst scheint es viele Details, die es mir zuvor gesagt hatte, vollständig zu „vergessen".
6. GPT-4-API ist teuer, also versuche so oft wie möglich GPT-3.5 zu nutzen
Zum Beispiel verschwendete ich 20 Dollar mit der GPT-4-API für Zusammenfassungsaufgaben, die GPT-3.5 gut erledigen kann. Achte auch darauf, den Code zuerst an ein paar Dateien zu testen, bevor du ihn auf Hunderte von Dateien „loslässt" – denn die GPT-API-Kosten können schnell steigen.
7. Das OpenAI Cookbook ist dein Freund
Wieder einmal habe ich den Fehler gemacht, das OpenAI sample cookbook vorher nicht zu überprüfen (oder genauer gesagt, nicht zu wissen, dass ich es überprüfen sollte). Dort findest du:
- Wie man Token mit tiktoken zählt: Das ist wichtig, weil ChatGPT sich bei dieser Aufgabe auf alte Methoden für GPT-3 stützt und nicht auf den aktuellsten Ansatz.
- Question answering using embeddings-based search: Ich nutze im Wesentlichen denselben Ansatz, um Version 0.1 des Chatbots zu bauen.
8. Die Context-Window-Länge ist für Anfänger schwierig zu handhaben
Verschiedene GPT-Modelle haben unterschiedliche maximale Token-Limits, und den Code so zu modifizieren, dass man innerhalb des Token-Limits bleibt, ist für Neulinge (wie mich) nicht einfach. Ich musste sehr viel Zeit damit verbringen, weil ich viele sehr lange Blogbeiträge habe.
Außerdem möchte ich, dass der Chatbot den Inhalt über mehrere Beiträge hinweg synthetisiert, bevor er eine Antwort gibt – also stieß ich oft an Token-Limits.
9. Versionskontrolle, Versionskontrolle und nochmals Versionskontrolle
Das ist für Experten wahrscheinlich supereinfach, aber als Coding-Neuling musste ich es auf die harte Tour lernen. Ich musste auch die richtige Git-Commit-Häufigkeit finden, die für dieses Projekt funktioniert, da ich der einzige Beitragszahler/Coder bin.
Fazit
Zusammenfassend hat mich diese Chatbot-Baufahrt als Anfänger die Bedeutung des Erlernens der Grundlagen, des Nutzens von ChatGPT für gezielte Aufgaben, des Studierens der API-Dokumentation und der Verwendung von Versionskontrolle gelehrt. Auch wenn noch viel Raum für Verbesserungen besteht, habe ich jetzt einen grundlegenden Prototyp, der Informationen aus meinen Blogbeiträgen synthetisieren kann, um Fragen zu beantworten. In Zukunft liegen meine Prioritäten darin, die Wissensbasis des Chatbots auf neue Inhalte auszuweiten, seine Fähigkeit zur präzisen Abfrage von Details aus Beiträgen zu verbessern und seine Antworten so zu optimieren, dass sie innerhalb der Token-Limits bleiben. Außerdem plane ich, meine Fähigkeiten in Bereichen wie Prompt Engineering und Cloud-Deployment weiter auszubauen.
Das war's von mir. Ich werde weiterhin über die gelernten Lektionen berichten und mitteilen, wenn die neue Version verfügbar ist.
Hast du versucht, als Nicht-Entwickler etwas mit der OpenAI API zu bauen? Ich würde gerne hören, was dich am meisten ausgebremst hat – bei mir waren es definitiv die Context-Window-Limits und die Versionskontrolle :P
Eine Woche danach
Nach einem einwöchigen Sprint habe ich weitere Updates am Chatbot fertiggestellt. Um mehr darüber zu lesen, gehe hier: "Evolving My Chatbot: A One-Week Sprint to Smarter Interactions."
Viele Grüße,
Chandler





