recherche
Maisondéveloppement back-endTutoriel PythonIngénierie rapide (pour les programmeurs paresseux) : obtenir exactement le code que vous souhaitez (et encore plus, avec ChatGPT)

Prompt Engineering (For Lazy Programmers): Getting Exactly the Code You Want (and Even More, Out of ChatGPT)

Bill Gates a tout dit... soyez un programmeur paresseux !.

En tant que programmeur, il n'y a rien de mieux qu'un code qui fonctionne dès le départ : pas de bugs, pas de débogage sans fin. en suivant certaines techniques d'invite, vous pouvez demander à ChatGPT d'écrire non seulement du code, mais aussi du code optimisé, entièrement fonctionnel et documenté, complet avec des cas extrêmes, des tests et même des optimisations de performances.

Mais d'abord...

Qu’est-ce que l’ingénierie rapide ?

L'intelligence artificielle, en particulier ChatGPT, est devenue un outil puissant pour la création de contenu, l'aide au codage et la réponse à des questions complexes. Pourtant, nombreux sont ceux qui n’exploitent pas tout son potentiel. La magie réside dans la manière dont vous formulez vos demandes : ce que nous appelons l’ingénierie rapide. Dans cet article, nous explorerons les techniques qui peuvent rendre votre expérience ChatGPT plus fructueuse, en mettant en évidence quelques astuces qui peuvent faire passer vos invites de moyennes à brillantes, en tant que programmeur de logiciels.

Pourquoi l’ingénierie rapide est-elle importante ?

ChatGPT est formé sur de grandes quantités de données, mais ses réponses sont façonnées par la qualité de l'invite que vous lui donnez. Des invites mal formulées ou vagues peuvent conduire à des réponses non pertinentes ou génériques. À l’inverse, des invites bien structurées peuvent générer des réponses réfléchies, précises et créatives.

Ce guide aidera les programmeurs paresseux (comme moi ?) à obtenir du code de haute qualité, optimisé et encore plus fonctionnel de ChatGPT en utilisant l'ingénierie rapide. Ceux-ci permettront exclusivement à ChatGPT de faire le gros du travail : automatiser la génération de code, l'améliorer et même suggérer des optimisations et des tests. Ci-dessous, j'ai également inclus des exemples qui comparent les invites normales aux invites optimisées et les résultats qu'elles génèrent.

Alors commençons !.

Déclenchement des raffinements automatiques pour un meilleur code

Demandez à ChatGPT d'affiner automatiquement ses réponses en intégrant des déclencheurs pour détecter les inefficacités, suggérer des optimisations ou ajouter des fonctionnalités.

Invite de base : "Écrivez une fonction Python pour inverser une chaîne."

def reverse_string(s):
    return s[::-1]

# Example usage:
print(reverse_string("hello"))  # Output: "olleh"

Invite optimisé : "Écrivez une fonction Python pour inverser une chaîne. Si l'entrée est trop volumineuse ou inefficace, suggérez une meilleure façon de gérer efficacement les grandes chaînes."

def reverse_string(s):
    return s[::-1]

# Trigger: Refining for large strings
def reverse_large_string(s):
    # Handle large strings in chunks for efficiency
    chunk_size = 100000  # Process in 100k chunks
    return ''.join(s[i:i+chunk_size][::-1] for i in range(0, len(s), chunk_size))

# Example usage:
large_string = "a" * 1000000  # 1 million characters
print(reverse_large_string(large_string))
  • La fonction de base est simple et fonctionne pour les petites entrées.

  • La version optimisée introduit une solution efficace basée sur des morceaux pour inverser les grandes chaînes sans consommer trop de mémoire.

Mémoire contextuelle pour les projets en plusieurs étapes

Lorsque vous avez besoin de code pour des projets en plusieurs étapes, ChatGPT peut mémoriser les étapes précédentes. Ceci est idéal pour les flux de travail plus complexes où vous construisez une couche sur une autre.

Invite de base : "Écrivez une fonction Python pour créer un profil utilisateur."

def reverse_string(s):
    return s[::-1]

# Example usage:
print(reverse_string("hello"))  # Output: "olleh"

Invite optimisé : "Écrivez une fonction Python pour créer un profil utilisateur. Maintenant, étendez-la pour stocker également les préférences de l'utilisateur et connectez-la à une base de données pour enregistrer les profils."

def reverse_string(s):
    return s[::-1]

# Trigger: Refining for large strings
def reverse_large_string(s):
    # Handle large strings in chunks for efficiency
    chunk_size = 100000  # Process in 100k chunks
    return ''.join(s[i:i+chunk_size][::-1] for i in range(0, len(s), chunk_size))

# Example usage:
large_string = "a" * 1000000  # 1 million characters
print(reverse_large_string(large_string))
  • La première fonction de l'invite de base crée un profil utilisateur simple.

  • La deuxième invite crée un gestionnaire de profil utilisateur connecté à la base de données avec des fonctionnalités étendues pour enregistrer les données.

Demander le mode débogage pour un code sans erreur

Vous pouvez demander à ChatGPT d'agir comme s'il fonctionnait en mode débogage, où il vérifie et corrige les problèmes potentiels dans le code avant de fournir le résultat final.

Exemple d'invite simple : "Écrivez une fonction Python pour calculer la racine carrée d'un nombre."

def create_user_profile(name, age, email):
    return {"name": name, "age": age, "email": email}

# Example usage:
user_profile = create_user_profile("Alice", 30, "alice@example.com")
print(user_profile)

L'astuce : "Écrivez une fonction Python pour calculer la racine carrée d'un nombre. Activez le mode débogage pour vérifier les erreurs telles que les entrées négatives et réécrivez la fonction si nécessaire."

def create_user_profile(name, age, email, preferences):
    return {"name": name, "age": age, "email": email, "preferences": preferences}

# Extend with a database connection
import sqlite3

def save_user_profile(profile):
    conn = sqlite3.connect('users.db')
    cursor = conn.cursor()
    cursor.execute('''CREATE TABLE IF NOT EXISTS users
                      (name TEXT, age INTEGER, email TEXT, preferences TEXT)''')
    cursor.execute('''INSERT INTO users (name, age, email, preferences)
                      VALUES (?, ?, ?, ?)''', 
                   (profile['name'], profile['age'], profile['email'], str(profile['preferences'])))
    conn.commit()
    conn.close()

# Example usage:
user_profile = create_user_profile("Alice", 30, "alice@example.com", {"theme": "dark"})
save_user_profile(user_profile)

  • La fonction de base fonctionne bien pour les entrées valides mais plante avec des nombres négatifs.

  • L'invite optimisée garantit la gestion des erreurs pour les entrées négatives, renvoyant un message personnalisé au lieu de casser le code.

Jeu de rôle : agir en tant que réviseur de code

Vous pouvez demander à ChatGPT de jouer le rôle d'un réviseur de code senior pour fournir des commentaires et suggérer les meilleures pratiques pour votre code.

Exemple d'invite : "Agir en tant que développeur senior et examiner ma fonction Python qui vérifie si un nombre est premier. Suggérer des améliorations en termes de performances et de lisibilité."

import math

def square_root(n):
    return math.sqrt(n)

# Example usage:
print(square_root(16))  # Output: 4.0

L'invite propose une version plus optimisée, vérifiant uniquement les nombres impairs jusqu'à la racine carrée, ce qui améliore considérablement les performances.

Utiliser les invites en couches pour les sorties multifonctions

Vous pouvez empiler des couches de fonctionnalités dans une seule invite, demandant à ChatGPT de gérer plusieurs tâches connexes en une seule fois.

Invite de base : "Écrivez une fonction Python pour générer un mot de passe aléatoire."

import math

def square_root(n):
    if n 



<p><strong>Version optimisée :</strong> "Écrivez une fonction Python pour générer un mot de passe aléatoire. Le mot de passe doit répondre aux critères suivants : au moins 12 caractères, contient des majuscules, des minuscules, des chiffres et des caractères spéciaux. Écrivez également une fonction de validation pour vérifier si le mot de passe est fort."<br>
</p>

<pre class="brush:php;toolbar:false">def is_prime(n):
    if n 



  • L'invite de base génère un mot de passe aléatoire.

  • L'optimisé donne un générateur de mot de passe complexe et comprend une fonction de validation pour vérifier la force du mot de passe.

Développement piloté par les tests : générer une suite de tests complète

Vous pouvez demander à ChatGPT d'écrire le code ainsi qu'une suite de tests complète en une seule fois, garantissant ainsi que votre code est prêt pour la production avec un minimum d'effort. (Si vous devez demander de l'aide, assurez-vous d'en demander beaucoup ?).

Invite de base : "Écrivez une fonction Python pour vérifier si une chaîne est un palindrome."

def reverse_string(s):
    return s[::-1]

# Example usage:
print(reverse_string("hello"))  # Output: "olleh"

Obtenir plus : "Écrivez une fonction Python pour vérifier si une chaîne est un palindrome. Écrivez également une suite de tests complète en utilisant pytest avec des cas extrêmes comme des chaînes vides et des espaces."

def reverse_string(s):
    return s[::-1]

# Trigger: Refining for large strings
def reverse_large_string(s):
    # Handle large strings in chunks for efficiency
    chunk_size = 100000  # Process in 100k chunks
    return ''.join(s[i:i+chunk_size][::-1] for i in range(0, len(s), chunk_size))

# Example usage:
large_string = "a" * 1000000  # 1 million characters
print(reverse_large_string(large_string))
  • La version de base vérifie les palindromes mais manque les cas extrêmes.

  • L'astuce cachée affine non seulement la fonction en ignorant les espaces et la ponctuation, mais fournit également une suite de tests complète utilisant pytest.

En maîtrisant ces techniques, vous pouvez extraire du code ChatGPT hautes performances, sans erreur et prêt pour la production, tout en effectuant moins de travail. Grâce aux affinements automatiques, aux déclencheurs de mémoire, à la gestion des erreurs et aux suites de tests complètes, vous coderez plus intelligemment, pas plus durement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Le plan Python de 2 heures: une approche réalisteLe plan Python de 2 heures: une approche réalisteApr 11, 2025 am 12:04 AM

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Python: Explorer ses applications principalesPython: Explorer ses applications principalesApr 10, 2025 am 09:41 AM

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Combien de python pouvez-vous apprendre en 2 heures?Combien de python pouvez-vous apprendre en 2 heures?Apr 09, 2025 pm 04:33 PM

Vous pouvez apprendre les bases de Python dans les deux heures. 1. Apprenez les variables et les types de données, 2. Structures de contrôle maître telles que si les instructions et les boucles, 3. Comprenez la définition et l'utilisation des fonctions. Ceux-ci vous aideront à commencer à écrire des programmes Python simples.

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures?Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures?Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu?Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu?Apr 02, 2025 am 07:15 AM

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Que dois-je faire si le module '__builtin__' n'est pas trouvé lors du chargement du fichier de cornichon dans Python 3.6?Que dois-je faire si le module '__builtin__' n'est pas trouvé lors du chargement du fichier de cornichon dans Python 3.6?Apr 02, 2025 am 07:12 AM

Chargement des fichiers de cornichons dans Python 3.6 Rapport de l'environnement Erreur: modulenotFoundError: NomoduLenamed ...

Comment améliorer la précision de la segmentation des mots jieba dans l'analyse des commentaires pittoresques?Comment améliorer la précision de la segmentation des mots jieba dans l'analyse des commentaires pittoresques?Apr 02, 2025 am 07:09 AM

Comment résoudre le problème de la segmentation des mots jieba dans l'analyse des commentaires pittoresques? Lorsque nous effectuons des commentaires et des analyses pittoresques, nous utilisons souvent l'outil de segmentation des mots jieba pour traiter le texte ...

Comment utiliser l'expression régulière pour correspondre à la première étiquette fermée et à s'arrêter?Comment utiliser l'expression régulière pour correspondre à la première étiquette fermée et à s'arrêter?Apr 02, 2025 am 07:06 AM

Comment utiliser l'expression régulière pour correspondre à la première étiquette fermée et à s'arrêter? Lorsque vous traitez avec HTML ou d'autres langues de balisage, des expressions régulières sont souvent nécessaires pour ...

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit