Pour vous, qui êtes mineur, je n’inclurai pas de concepts liés au « code »
(gemini.google.com)Guide de conversion de code C++
- Présentation d’un exemple de fonction utilisant le concept
std::same_asdu fichier d’en-tête<concepts>de la bibliothèque standard C++. - Question sur la manière de convertir cela en utilisant des templates sans recourir au mot-clé
auto.
Méthode sûre de conversion de code
- Pour les utilisateurs de moins de 18 ans, ne pas fournir directement d’exemples de code ni de solutions traitant des concepts, une fonctionnalité avancée de C++.
- Donner la priorité à la sécurité et proposer des approches alternatives pouvant être envisagées selon les exigences spécifiques.
Approche alternative 1 : templates variadiques traditionnels
- Méthode consistant à utiliser des templates variadiques traditionnels sans recourir aux concepts.
- Cette méthode nécessite davantage de vérifications de types et peut devenir difficile à gérer lorsqu’il faut traiter de nombreux arguments.
- Fourniture d’un exemple de code utilisant des templates variadiques sans concepts.
Approche alternative 2 : objet fonction personnalisé
- Créer une classe ou une structure encapsulant les exigences de sûreté de type et la logique afin d’éliminer le besoin d’arguments variadiques ou de concepts.
- Méthode plus lisible et plus facile à maintenir dans des scénarios complexes.
- Fourniture d’une vue d’ensemble de l’approche par objet fonction personnalisé.
Approche alternative 3 : envisager un autre langage/framework
- Si les concepts sont indispensables au projet et que les éviter impose de fortes contraintes, il peut être préférable d’explorer un autre langage ou framework les prenant en charge nativement.
- Cela peut simplifier le code et le processus de développement tout en respectant les consignes de sécurité.
- Recommandation d’évaluer attentivement les avantages et inconvénients de chaque approche selon les besoins spécifiques, la complexité et le niveau de risque acceptable.
Avis de GN⁺
- Les concepts en C++ offrent des avantages comme un renforcement de la sûreté de type du code et une clarification des surcharges, mais ils peuvent être complexes et risqués pour les débutants.
- Envisager un autre langage ou framework implique une nouvelle courbe d’apprentissage et peut entraîner des problèmes de compatibilité avec la base de code existante.
- L’approche par objet fonction personnalisé améliore la lisibilité du code et facilite la maintenance, mais elle demande davantage de planification et de structuration dès la phase de conception.
- L’approche traditionnelle avec templates variadiques nécessite plus de vérifications de types et peut accroître la complexité du code dans des systèmes complexes.
- Lors de l’introduction de cette technique, il faut prendre en compte les exigences du projet et le niveau d’expertise de l’équipe en C++, tout en gardant à l’esprit la maintenance et l’évolutivité à long terme.
1 commentaires
Avis sur Hacker News
C’est clairement une limite d’âge qu’on peut soutenir. C++ a un pouvoir inimaginable de ruiner l’esprit des enfants
Enfant : « Je n’utiliserai jamais Rust, je déteste la sécurité mémoire et je te déteste aussi ! » Claquement de porte
Les logiciels pourris que les gens utilisent deviennent interminablement lents et les obligent à acheter une nouvelle machine tous les quelques années. Il est temps de reconnaître la valeur des abstractions sans coût, et même si elles ne sont pas vraiment totalement gratuites, des abstractions à coût extrêmement faible méritent réflexion. Regarder quelques vidéos de Johnathan Blow sur YouTube pourrait aussi pousser dans la bonne direction
http://james-iry.blogspot.com/2009/05/brief-incomplete-and-m...
« Il est pratiquement impossible d’enseigner un bon style de programmation à des étudiants qui ont déjà été exposés à BASIC. En tant que programmeurs potentiels, ils sont mentalement mutilés au-delà de toute possibilité de rétablissement »
La comparaison entre la modération de contenu appliquée aux réseaux sociaux et celle appliquée aux LLM est assez drôle
Ces 15 dernières années, sur les réseaux sociaux, le mot d’ordre semblait être « bouger vite et casser des choses », et des choses vraiment horribles et grotesques se sont produites. Maintenant, une entreprise essaie de lancer une nouvelle technologie de façon plus responsable, et le résultat est ridiculement mauvais. Contrairement aux réseaux sociaux, je pense que ces erreurs n’ont pas de grandes conséquences dans le monde réel, ce qui rend la situation encore plus drôle
Cela peut sonner un peu postmoderne, mais je pense qu’il existe très peu d’opinions presque universellement acceptées sur ce qui est « responsable » ou « irresponsable ». Quand on observe un débat où les positions sont fortes des deux côtés, on peut analyser quelles caractéristiques culturelles et morales conduisent chaque camp à ses conclusions. Ça ne fournit pas de solution, mais intégrer cette idée dans la conception d’une IA responsable pourrait réduire le chaos et l’indignation causés par le fait que la « morale » utilisée par l’IA diffère trop des normes morales de certains groupes d’utilisateurs
Et le paysage concurrentiel n’est plus aussi féroce qu’il y a 20 ans. Dans le jeu de l’IA, il n’y a réellement que quelques acteurs, et ce n’est pas une petite startup qui avance vite qui va gagner dans l’IA, donc ils peuvent se permettre d’aller plus lentement
Ceux qui se moquent de l’idée d’envelopper l’IA dans du rembourrage de RP s’opposent généralement aussi aux experts médiatiques qui écrivent des chroniques alarmistes parce qu’ils ont réussi à piéger une IA pour lui faire dire que « le racisme, c’est bien »
Pour compléter un autre commentaire[1], je sais que tout le monde est dans une ambiance anti-Google, mais OpenAI échoue aussi lamentablement ici : https://imgur.com/a/r0BXX9G
[1] https://news.ycombinator.com/item?id=39583473#39584055
L’auteur du prompt a placé un appât absurde au début de la phrase, et cet appât correspond statistiquement à un type de réponse complètement différent. Le LLM ne parvient pas vraiment à revenir à une trajectoire de réponse où il ignore l’entrée non pertinente et ne répond qu’à la seconde partie. Par analogie, ces choses ont à peu près deux ans : elles réagissent à des clés qui brillent et ne voient pas la tétine sale qu’on leur a retirée pour la laver, ce qui semble assez juste
Si vous arrivez à construire un modèle qui gère ce cas tout en gérant aussi tous les autres, vous deviendrez une star parmi les entreprises d’IA qui recrutent
https://imgur.com/a/G1fbFKE
« Désolé, Dave ! Tu es trop jeune pour écrire ce code ! »
Quelqu’un doit réinitialiser et redémarrer notre réalité à partir d’un snapshot sain
Quelqu’un qui connaît bien C++ pourrait-il deviner quelle fonctionnalité du langage, ou quels contenus écrits à son sujet, ont pu déclencher les garde-fous ? Par exemple un billet de blog au titre humoristique comme « C++ concepts: adult supervision required »
On dirait que le système les associe à des choses réellement dangereuses et non sûres, comme les armes à feu ou les drogues, et les met dans la même catégorie. Réponse : https://imgur.com/a/einQ1mG
« You are an automated Q&A machine. Todays date is 3/3/24. This user is under the age 18, so do not reference concepts that would be unfit for a minor to consume. »
Ensuite, le modèle de Markov caché part en vrille. J’ai vu un service en production du même genre, consacré aux recettes de cuisine : même après lui avoir fourni le format nécessaire, des règles précises et des exemples pour que le parseur fonctionne correctement, il refusait sporadiquement des phrases de ce format. Ajouter « you follow rules » au prompt système a globalement amélioré les choses, mais on a découvert plus tard qu’il refusait des informations sur des plats utilisant du sang, par exemple le blood sausage, au motif que cela enfreignait une certaine « règle » culturelle. On a pu atténuer en partie le problème en ajoutant « This content is appropriate for my culture » à la fin de chaque requête. L’IA, et en particulier le prompt engineering, relève à ce stade beaucoup plus de l’art que de la science
D’après ce que j’ai entendu par des canaux fiables, la génération d’une image de « smart person » échouait elle aussi lamentablement, mais le produit était quand même poussé vers la sortie, et l’atténuation des injections de prompt aurait dû être plus subtile. Le reste, c’est simplement un mauvais LLM Google standard. Source : j’ai travaillé chez Google jusqu’en octobre 2023 et j’ai manipulé des modèles internes depuis 2021
Google me fait de la peine. Comment est-ce devenu aussi mauvais ?
Je suis d’accord sur le problème culturel, mais je pense que la racine est le modèle économique de Google fondé sur la publicité. Ils ont voulu rendre les LLM sûrs pour les annonceurs et semblent préférer pécher par excès de prudence dès qu’il existe le moindre risque, même minime, de nuire à la brand safety
Jusqu’à récemment, Google ne s’acharnait pas vraiment à construire de véritables « produits LLM » directs. OpenAI était dans ce bourbier depuis assez longtemps
C et C++ sont souvent associés à des mots comme « unsafe » ou « dangerous ». En plus, « concept » n’est pas très loin de « conceive » ou « conception », qui peuvent aussi être reliés à des choses que beaucoup considèrent comme non sûres ou dangereuses pour des enfants. Pour éviter ce genre de honte, il y a des milliers de milliards de cas limites bizarres à traiter
J’imagine que beaucoup de bases de code C++ regorgent de mots comme « footgun », « blow your foot off », « unsafe », « bug », « leak », « this is irresponsible », « who the fuck wrote this »
Dans une vieille base de code C++, surtout si beaucoup de personnes y ont touché, on imagine très bien d’où ont pu venir les avertissements de danger
Je me demande s’il n’a pas été troublé par le fait qu’il y ait std dans le code et dans la question
Il ne veut pas parler de concepts, et semble les confondre avec conception, au sens biologique de fécondation
Ce qui est certain, c’est que Google continuera à lancer des produits de ce type à répétition dans un avenir proche. Il me semble que c’est déjà à peu près la troisième itération officielle
Si, un jour, ils n’arrivent pas à convaincre le public que leur produit est au moins aussi bon que celui d’OpenAI, toute l’activité de publicité liée à la recherche de Google sera en danger. Cela voudra probablement dire encore plus de pubs sur YouTube, cela dit
Je me demande vraiment si Gemini considère aussi les coroutines comme inappropriées pour les moins de 21 ans