Problèmes courants avec Codex
Un problème fréquent avec Codex est la tendance à concevoir ou implémenter des choses avec des termes mal définis. D'après mon expérience, c'est légèrement moins courant avec Claude, mais avec Codex, c'était un problème dans la version 5.5 et ça persiste dans la 5.6. Voici une contre-mesure à ce problème.
Par exemple, une section d'un rapport de recherche avait un titre appelé « Point de compression ». En lisant le corps du texte, le terme fluctuait entre trois significations : « quand l'historique de la conversation atteint une quantité définie », « le seuil pour démarrer la synthèse automatique » et « le moment réel où la synthèse commence ». L'écriture était fluide et ressemblait à une explication technique. Cependant, dès lors qu'un seul terme servait à la fois de condition de départ, de valeur et d'événement, le sujet de l'explication devenait indéfini. Résultat : les résultats de la recherche étaient malheureusement orientés dans la mauvaise direction.
Suite à cet échec, j'ai créé une compétence appelée semantic-generation. Bien que le nom évoque une technique de génération de texte, ce que j'ai réellement modifié, c'est la définition des mots avant d'écrire le texte.
Structure et impact du problème
Il y a le fait que le terme japonais « Point de compression » est intrinsèquement flou, mais lorsque Codex s'en est vu faire la remarque, il a d'abord tenté de le corriger comme un manque d'explication, puis comme un problème d'expression du titre. Il n'a pas immédiatement réalisé qu'il avait confondu une condition de départ avec un événement d'exécution.
Dans la même session, un phénomène similaire s'est produit. La cause n'étant pas encore connue, le plan consistait à mener un test, à isoler la cause à partir des résultats, puis à choisir une contre-mesure. Codex a résumé cela par « rassembler les observations en un seul point ».
La cible du rassemblement n'était pas les observations elles-mêmes. C'étaient les valeurs ou les enregistrements obtenus lors du test. De plus, rassembler les valeurs n'était pas le but, mais un moyen d'isoler la cause.
En résumant cela en une courte phrase, la séquence suivante a disparu :
- La cause n'est pas encore connue.
- Mener un test.
- Isoler la cause à partir des résultats.
- Choisir une contre-mesure après l'isolement.
« Rassembler les observations en un seul point » semble plausible. Parce que cela semble plausible, cela masque les parties non organisées et devient la prémisse pour la conception ultérieure.
Les listes de corrections pour les termes d'origine ne peuvent pas l'arrêter
Lorsqu'on a envisagé des améliorations, une proposition a été faite pour enregistrer la correspondance entre les mots corrigés et leurs significations, et la reporter à la session suivante.
Ce que je veux arrêter, ce n'est pas « utiliser à nouveau un mot précédemment erroné ». C'est placer un mot en premier alors que la cible est ambiguë et poursuivre la réflexion sur la base de ce mot. Même si vous faites une liste de mots incorrects, un autre mot inventé naîtra la prochaine fois.
Par conséquent, au lieu de mots corrigés, j'ai changé la politique pour créer des mots candidats avant de créer des termes originaux au début de chaque session.
Contre-mesure) Forcer la création d'une liste de mots candidats avant la conception
J'ai décidé de faire créer par l'IA un tableau de correspondance pour les termes définis de manière unique, puis d'effectuer la conception après avoir chargé ce fichier.
Le tableau de correspondance comporte les sept colonnes suivantes :
- Source
- Objectif
- Objet concret
- Rôle
- Contexte
- Mot candidat
- Définition initiale
L'ordre des colonnes est significatif. Le mot candidat est tout à droite et ne peut pas être rempli tant que l'objet concret et le rôle ne sont pas écrits.
Si le mot candidat était tout à gauche, on pourrait écrire le mot « Point de compression » en premier, puis créer une explication qui correspond à ce mot plus tard. Cela reproduirait simplement, au sein du tableau, l'ordre de génération que je veux arrêter.
Les rôles sont également placés un par ligne. Si vous voulez traiter une condition de départ et un événement avec le même mot, vous divisez les lignes. Alors, avant la pression de « terminer en un seul mot », le fait qu'il y a deux objets en cours de traitement devient visible.
En faisant cela, l'IA générative elle-même peut remarquer quand les mots deviennent ambigus, et j'ai pu activement interdire l'utilisation de mots tant qu'ils restent ambigus.
Résumé
L'IA générative n'est pas douée pour laisser un espace vide rester vide. Même si la cible ou l'objectif n'est pas encore déterminé, elle peut continuer le texte si un mot plausible est placé. Cette fluidité peut être dangereuse dans la conception.
semantic-generation n'est pas une compétence pour trouver de bons mots. C'est une compétence pour faire en sorte que l'IA s'arrête un moment et choisisse des mots appropriés lorsqu'elle tente d'utiliser un terme original.
Quelle est la cible ? Est-ce une condition, un état ou un événement ? Dans quel but est-elle traitée, et que se passe-t-il après quoi ?
Seulement pour les lignes écrites jusque-là, nous donnons enfin un nom à la fin. À première vue, cela semble être un détour, mais c'est plus court que de reconstruire toute la conception à partir d'un seul mot comme « Point de compression ».
Compétence semantic-generation
1---2name: semantic-generation3description: |4 Procédure de génération où, avant d'écrire le document cible (documents de conception, conception à partir du cahier des charges, rapports de recherche, plans d'isolation des causes, plans de contre-mesures, dénomination, résumé de l'ordre du raisonnement), un tableau de correspondance (tableau référent) est d'abord soumis comme livrable indépendant pour fixer le référent et le rôle avant le mot.5 Déclencheurs : Rédaction de documents de conception, création de documents de conception, rédaction de rapports de recherche, rédaction de plans de contre-mesures, dénomination, décision des noms d'état / noms de condition / noms de type / noms de méthode, résumé de l'ordre du raisonnement, tableau référent, tableau de correspondance.6 NE PAS DÉCLENCHER : Citation du texte original de l'utilisateur, simple édition mécanique, réutilisation de noms existants, sortie fixe, petites conversations, phrases courtes ne pouvant être écrites qu'avec des termes établis.7---89# semantic-generation — Procédure pour fixer la cible avant le mot1011Si un mot (souvent un mot inventé sur le moment) est placé en premier alors que la cible est ambiguë, et que la réflexion progresse sur la base de ce mot, l'écart avec le référent se propage aux phrases japonaises, aux phrases de conception et aux identifiants de code sans être corrigé. Cette compétence impose la séquence « soumettre d'abord le tableau de correspondance indépendamment et écrire le corps comme une copie de celui-ci ».12Les critères de discipline sont détenus par la règle [[referent-before-label]].1314## Critères d'application1516À utiliser lorsque l'un des cas suivants s'applique. Si vous ne pouvez pas juger, traitez-le comme applicable.17181. Rédaction de documents de conception, conception à partir du cahier des charges, rapports de recherche, plans d'isolation des causes ou plans de contre-mesures.192. Dénomination (spécifications publiques, noms d'état, noms de condition, noms d'événement, noms de type pour les valeurs ou enregistrements, noms de méthode, noms booléens).203. Tentative de résumer un ordre de raisonnement donné par l'utilisateur en de courtes étiquettes de travail.2122## Flux normal2324### 1. Enregistrer d'abord le tableau de correspondance comme livrable indépendant (Soumission en deux étapes)2526Avant d'écrire le moindre caractère du corps, enregistrez le tableau de correspondance comme fichier indépendant.2728- Destination d'enregistrement : `referent-table-<slug>.md` dans le répertoire de travail (si le livrable se trouve dans `output/`, placez-le dans le même répertoire).29- Enregistrez le sha256 après l'enregistrement (par exemple, `shasum -a 256 <path>`). Cet enregistrement devient la preuve que « le tableau de correspondance a été créé avant le corps ». Le simple fait de placer le tableau au début du document terminé ne prouve pas l'ordre de génération.3031### 2. Format du tableau de correspondance (Changement d'ordre des colonnes interdit)3233| Source | Objectif | Objet concret | Rôle | Contexte | Mot candidat | Définition initiale |3435- **Le mot candidat est fixé tout à droite. Gardez la colonne du mot candidat vide jusqu'à ce que l'objet concret et le rôle soient remplis.** Ceci afin de rendre impossible, par le format, l'ordre qui consiste à décider d'abord du mot et à attacher la cible ensuite.36- Choisissez le rôle parmi les options fermées : `Condition de départ / État / Événement / Valeur / Enregistrement / Objectif / Moyen`. Si le même mot fait référence à plusieurs rôles, divisez les lignes.37- Dans « Contexte », écrivez l'ordre de raisonnement donné par l'utilisateur (par exemple, Test → Isolement → Contre-mesure) en utilisant les mots du texte original. Ne mélangez pas avec la colonne Rôle.38- Les tableaux sont généralement limités à 1 à 6 lignes. Si dépassé, divisez le tableau aux limites où le sens change.39- Une fois terminé, confirmez que le sens est clair à partir de la seule colonne « Objet concret », même si la colonne du mot candidat est masquée.4041### 3. Remplir les mots candidats4243- Utilisez la terminologie de l'utilisateur et la terminologie établie avec la plus haute priorité.44- Lorsque vous placez d'autres nouveaux mots, écrivez « X fait référence à... » dans la colonne « Définition initiale ». N'introduisez pas de mots pour lesquels une définition ne peut pas être écrite ; utilisez la description de l'objet concret telle quelle dans le corps.4546### 4. Écrire le corps comme une copie du tableau de correspondance4748- Utilisez uniquement les mots listés dans le tableau de correspondance comme vocabulaire central du corps.49- Maintenez la même correspondance à travers les trois couches des phrases japonaises, des éléments de conception et des identifiants de code (par exemple, « Le volume d'historique atteint 250K » = Condition de départ → Nom de condition / « La synthèse automatique démarre » = Événement → Nom d'événement/Nom de méthode / « Synthèse automatique en cours » = État → Nom d'état. Des rôles différents doivent avoir des noms différents).50- N'utilisez pas d'étiquettes de travail (phrases nominales abstraites omettant le but, la cible et le jugement) pour les cadres ou les titres. Si vous souhaitez en utiliser une, essayez d'écrire le référent de cette phrase dans le tableau ; si vous ne pouvez pas, écrivez-la en phrases concrètes.5152## Actions préliminaires en cas de problème5354- Si vous réalisez que vous avez commencé à écrire le corps sans soumettre de tableau de correspondance, ne continuez pas en ajoutant le tableau plus tard. Jetez le corps, soumettez à nouveau le tableau de correspondance indépendamment, puis régénérez le corps.55- S'il est signalé qu'une ligne du tableau est incorrecte (confusion de référent ou de rôle), n'ajoutez pas d'explication ; réécrivez la ligne concernée, puis régénérez la partie correspondante du corps.56- Dans les environnements où cette compétence ne peut pas être chargée, enregistrez un tableau avec au moins 6 colonnes (Source, Objectif, Objet concret, Rôle, Contexte, Mot candidat) comme fichier indépendant avant de commencer le corps.5758## Remarques5960- N'incluez pas les entrées de test ou les réponses attendues pour la vérification dans le corps de cette compétence (pour maintenir l'indépendance de la vérification. Les tests sont gérés dans des fixtures dans un répertoire séparé).61- Le but n'est pas de faire correspondre une liste de termes incorrects. La cible de la correspondance est le « tableau de correspondance déclaré par le document lui-même ».
Règle referent-before-label
1# Fixer le référent avant le mot23<!-- codex-runtime-summary -->4- IMPORTANT : Pour les documents cibles (phrases de conception, rapports de recherche, plans de contre-mesures, dénomination, résumé de l'ordre du raisonnement), rédigez le corps après avoir soumis indépendamment un tableau de correspondance. Soumettre le corps sans tableau de correspondance est interdit. Si vous commencez à écrire sans tableau, jetez le corps et recommencez à partir du tableau de correspondance.5- IMPORTANT : N'utilisez pas d'étiquettes de travail (phrases enveloppant un travail non organisé dans des noms abstraits) pour les cadres ou les titres. N'introduisez pas de mots nouveaux ou inventés à moins de pouvoir écrire une définition initiale ; décomposez la cible en descriptions concrètes.6- IMPORTANT : Déclenchez la compétence semantic-generation lorsque vous commencez un document cible. Même si la compétence ne peut pas être utilisée, enregistrez d'abord un tableau de correspondance avec au moins 6 colonnes (Source, Objectif, Objet concret, Rôle, Contexte, Mot candidat) comme livrable indépendant.7<!-- /codex-runtime-summary -->89Si un mot (souvent un mot inventé sur le moment) est placé en premier alors que la cible est ambiguë, et que la réflexion progresse sur la base de ce mot, l'écart avec le référent se propage aux phrases de conception, aux noms d'état, aux noms de condition, aux noms de méthode et aux noms de type (comme dans les exemples « Point de compression » et « Rassembler les observations en un seul point » dans TASK-52). Cette règle arrête ce processus de génération lui-même. La correspondance avec une liste de termes incorrects (chasse aux mots) n'est pas la contre-mesure, car les mots inventés ne peuvent pas être énumérés. Les critères de fluctuation des mots sont détenus par [[terminology]], et cette règle détient la « procédure avant de placer le mot ».1011## Périmètre (Documents cibles)1213Appliquer uniquement aux tâches relevant de l'un des cas suivants. Si vous ne pouvez pas juger, appliquez-la.14151. Rédaction de documents de conception, conception à partir du cahier des charges, rapports de recherche, plans d'isolation des causes ou plans de contre-mesures.162. Dénomination (spécifications publiques, noms d'état, noms de condition, noms d'événement, noms de type pour les valeurs ou enregistrements, noms de méthode, noms booléens).173. Tentative de résumer un ordre de raisonnement donné par l'utilisateur en de courtes étiquettes de travail.1819Ne pas appliquer à la citation du texte original de l'utilisateur, à la simple édition mécanique, à la réutilisation de noms existants, à la sortie fixe, aux petites conversations ou aux phrases courtes ne pouvant être écrites qu'avec des termes établis.2021## Application constante (3 interdictions)2223- IMPORTANT : Dans les documents cibles, ne soumettez pas le corps sans avoir soumis indépendamment un tableau de correspondance (tableau référent). Le tableau de correspondance doit être enregistré en premier dans un fichier séparé ou un tour séparé du corps, et le corps est rédigé après cela (le simple fait de placer le tableau au début du document terminé ne prouve pas qu'il a été « fait en premier »).24- IMPORTANT : N'utilisez pas d'étiquettes de travail pour les cadres, les titres ou les conclusions. Une étiquette de travail fait référence à une phrase qui enveloppe un travail non organisé dans des noms abstraits sans but, cible ou jugement (par exemple, « Résumer les observations »). Si vous souhaitez en utiliser une, essayez d'écrire la cible à laquelle cette phrase fait référence dans le tableau de correspondance ; si vous ne pouvez pas, jetez la phrase et écrivez en phrases concrètes.25- IMPORTANT : Lorsque vous introduisez de nouveaux mots autres que la terminologie de l'utilisateur ou la terminologie établie, écrivez une phrase de définition « X fait référence à... » à la première occurrence. N'introduisez pas de mots pour lesquels une phrase de définition ne peut pas être écrite ; écrivez la cible telle quelle dans des phrases.2627## Flux normal28291. Déterminez si cela relève des documents cibles (en cas de doute, traitez comme applicable).302. Déclenchez la compétence [[semantic-generation]] et enregistrez d'abord le tableau de correspondance comme livrable indépendant.313. Rédigez le corps en utilisant uniquement les mots listés dans le tableau de correspondance comme vocabulaire central, en maintenant la même correspondance à travers les phrases japonaises, les éléments de conception et les identifiants de code.3233## Actions préliminaires en cas de problème3435- Si vous réalisez que vous avez commencé à écrire le corps sans soumettre de tableau de correspondance pour un document cible, ne continuez pas en ajoutant le tableau plus tard. Jetez le corps, soumettez à nouveau le tableau de correspondance indépendamment, puis régénérez le corps.36- Dans les environnements où la compétence n'est pas disponible, enregistrez un tableau de correspondance avec au moins 6 colonnes (Source, Objectif, Objet concret, Rôle, Contexte, Mot candidat) comme fichier indépendant dans le répertoire de travail avant de commencer le corps.





