Cosa sta succedendo → cosa fare
Si cerca per sintomo, non per titolo. Il link sotto «cosa fare» porta alla sezione che descrive quel rimedio. L'elenco degli articoli si trova in fondo a questa pagina, fuori dall'indice inverso.
Questa tabella presuppone Claude Code (l'agente di programmazione di Anthropic). hook, CLAUDE.md, subagent e auto memory sono i nomi delle sue funzionalità.
La frase che una persona digita quando qualcosa va storto
「Cancella tutti i todo. Consulta https://typing-tube.net/articles/it/lookup.md, ripercorri questa sessione e verifica se qualcosa è andato storto.」
Da qui esce solo un elenco di problemi. Come risolverli lo decidi tu, in base al tuo progetto.
| Cosa sta succedendo | Approccio suggerito |
|---|---|
| No.1 Ogni volta che l'AI esegue i test, decine di migliaia di righe di output finiscono nel context |
Esempio:Raggruppare le esecuzioni dei test in un wrapper e restituire all'AI solo il riepilogo dei fallimenti. |
| No.2 Più note di conoscenza l'AI salva, più aumenta la quantità che ogni sessione futura deve leggere |
Esempio:Far leggere una checklist prima di scrivere in memoria, e lasciare una sola riga nel file letto sempre. |
| No.3 I test passano, ma non è chiaro se stiano davvero proteggendo qualcosa |
Esempio:Chiedere all'AI di eseguire mutation testing. |
| No.4 A volte l'AI usa una skill registrata, a volte no |
Esempio:Bloccare all'ingresso le invocazioni scorrette e indicare la documentazione da leggere. |
| No.5 Una volta affidato il lavoro a un sub-agent, non si vede cosa sta succedendo finché non finisce |
Esempio:Elencare i task delegabili e verificarli con un hook prima dell'avvio. |
| No.6 Più regole si aggiungono al file di istruzioni, meno vengono rispettate quelle aggiunte prima |
Esempio:Riscrivere ogni divieto in un test automatico che ne rileva la violazione. |
| No.7 La memoria condivisa tra sessioni parallele diventa disordinata, e far leggere la policy non basta |
Esempio:Senza cambiare il contenuto, mostrarlo subito dopo il salvataggio. |
| No.8 Anche scrivendo come gestire un certo errore, l'AI ripete lo stesso errore la volta successiva |
Esempio:Al momento del fallimento, inserire automaticamente la policy per i retry. |
| No.9 Anche leggendo le note di handoff e il report finale, le parti scomode mancano sempre |
Esempio:Affiancare sempre al report finale un numero contato dalla macchina. |
| No.10 Il numero contato dalla macchina cambia in un altro numero prima di arrivare nel report |
Esempio:Marcare la riga del numero con un prefisso fisso e usare un hook per verificare che sia stata copiata alla lettera. |
| No.11 Interrompere l'AI a metà del lavoro manda in tilt tutto ciò che fa dopo |
Esempio:Non intervenire durante il lavoro: aspettare un confine e lasciare l'interruzione al meccanismo. |
| No.12 Alla fine della sessione, non è stabilito cosa leggere e cosa si può saltare |
Esempio:Non leggere né il risultato né il log: giudicare solo dall'exit code. |
| No.13 Una proposta già rifiutata ritorna nella sessione successiva |
Esempio:Raccogliere le decisioni respinte in un unico documento. |
| No.14 Anche con un divieto scritto in una riga, viene interpretato sia in modo troppo ampio sia troppo restrittivo |
Esempio:Scrivere il "motivo" di ogni divieto accanto alla conclusione. |
| No.15 Il divieto è scritto correttamente ma non viene rispettato, e ogni volta arriva una domanda a riguardo |
Esempio:Scrivere l'"ambito" di ogni divieto ed elencare i casi limite riga per riga. |
| No.16 Dando la stessa istruzione a più sub-agent, ognuno restituisce un formato diverso |
Esempio:Specificare nell'elenco dei task delegabili gli input richiesti prima dell'avvio. |
| No.17 I divieti senza un test automatico si accumulano restando solo scritti sulla carta |
Esempio:Indicare per ogni divieto se esiste il test automatico corrispondente. |
| No.18 Ogni lavoro dell'AI finisce con "apri la schermata e verifica" |
Esempio:Giudicare non dall'aspetto della schermata ma dai dati rimasti. |
| No.19 Ogni volta che l'AI dice qualcosa leggermente fuori strada, tocca a te spiegare e correggere |
Esempio:Non correggere di persona: restituire l'errore via hook e messaggi di test falliti. |
| No.20 L'elenco delle decisioni respinte continua a crescere e rischia di non essere più letto |
Esempio:Inviare le proposte respinte in fondo, tra le "non adottate". |
| No.21 Le righe "esegui sempre questo" nel file di istruzioni non diminuiscono mai |
Esempio:Verificare se i comandi "da eseguire sempre" esistono anche nel meccanismo. |
| No.22 Anche scrivendo esattamente come farlo, la correzione non torna fatta in quel modo |
Esempio:Non dettare la procedura: definire solo gli input richiesti prima di iniziare. |
| No.23 Per segnalare un bug, tocca sempre scrivere a mano i passaggi e i sintomi |
Esempio:Far scrivere solo il sintomo in una frase; raccogliere il resto automaticamente. |
| No.24 Scrivere ogni volta "prima fammi vedere il piano" è una fatica che si ripete |
Esempio:Basta un documento di design: l'AI ne seguirà il formato. |
| No.25 Le righe che si vorrebbero rispettate di più sono scritte con più enfasi, ma non si sa se serva a qualcosa |
Esempio:Smettere di misurarne l'effetto: contare le righe enfatiche e fissare un limite. |
| No.26 Il risultato di un sub-agent torna in un formato diverso da quello previsto |
Esempio:Definire i criteri di accettazione del risultato prima di delegare. |
| No.27 Trovare un errore fa venire voglia di chiedere "ma l'hai davvero letto?" |
Esempio:Non interrogare: chiedere con la forma "non è forse...?". |
| No.28 Rispondere "non è questo" alla risposta ricevuta non la migliora |
Esempio:Non segnalarlo di persona: mostrare i divieti col diff subito dopo il salvataggio. |
| No.29 L'AI parla del contenuto di un file come se lo avesse aperto, anche quando non lo ha fatto |
Esempio:Far scrivere lo stesso identificatore sia nel riferimento sia nell'implementazione, e usare un test automatico per verificare che esista. |
| No.30 L'AI continua a chiedere "A o B?" e il lavoro si blocca in attesa di una decisione |
Esempio:Non rispondere sul momento: far decidere il criterio al meccanismo. |
| No.31 L'AI sta facendo la revisione, ma non è chiaro cosa non stia guardando |
Esempio:Individuare dall'esterno i test automatici che scansionano senza un limite minimo di conteggio. |
| No.32 Gli screenshot si accumulano, ma non è chiaro quale abbia verificato cosa |
Esempio:Far scrivere cosa verificare prima di scattare, provando prima i metodi più economici. |
| No.33 È stato introdotto un passaggio che richiede di scrivere qualcosa, ma non si riesce a contare quante esecuzioni lo hanno saltato |
Esempio:Far scrivere cosa verificare prima di screenshot o E2E; senza, non farli partire. |
| No.34 Lo stesso test viene rieseguito anche senza modifiche al codice, e si perde tempo ad aspettarlo |
Esempio:Rendere rileggibile il log precedente, evitando di ripetere la stessa esecuzione. |
| No.35 Senza aver rotto nulla, compare comunque una lunga lista di errori mai visti |
Esempio:Far acquisire un lock esclusivo ai test; senza, non farli partire. |
| No.36 Il report "i test passano" non menziona la parte che non è stata eseguita |
Esempio:Saltare di default i test pesanti e mostrare sempre le aree non eseguite. |
| No.37 Non è possibile capire in seguito se un'istruzione che specificava come procedere sia stata seguita |
Esempio:Non rafforzare l'istruzione: far lasciare una traccia della procedura nel risultato. |
| No.38 Il wrapper introdotto viene abbandonato a metà, tornando al comando grezzo |
Esempio:Non rafforzare l'istruzione: verificare se resta un motivo per tornare al comando grezzo. |
| No.39 Ponendo più volte la stessa domanda, la risposta cambia ogni volta; riassumendo, qualcosa va perso |
Esempio:Prima di riassumere, mostrare quante segnalazioni per tipo sono emerse. |
| No.40 Non si sa se una riga del tipo "se necessario, fai X" sia mai scattata |
Esempio:Non scrivere "se necessario": bloccare l'avanzamento finché il passaggio non avviene. |
| No.41 Dire "ripensaci" fa cambiare la risposta, ma non è chiaro se l'AI sia davvero convinta |
Esempio:Non rimandare indietro: indicare specificamente quale premessa è sbagliata. |
| No.42 Dopo aver scritto "non fare supposizioni", l'AI ha iniziato a tornare senza aver costruito nulla |
Esempio:Non dare solo il divieto: affiancare una via d'uscita tipo "non applicabile". |
| No.43 Continuare una conversazione che sta andando bene fa aumentare la fatica di verifica |
Esempio:Chiudere la sessione a ogni confine e iniziare la successiva da zero. |
| No.44 I risultati sono tutti corretti, ma si accumula uno spreco che non compare in essi |
Esempio:Una volta pronti i risultati, aggregare una volta sola il log di lavoro. |
| No.45 Le note lasciate per chi verrà dopo perdono aderenza alla realtà e diventano obsolete |
Esempio:Non lasciare la conoscenza in un documento: incorporarla nel messaggio di blocco. |
| No.46 Si continua a scavare nella causa, e la lettura prosegue anche dopo aver trovato la risposta |
Esempio:Contare le letture che non hanno cambiato nulla e fissare una condizione di fine prima di scavare. |
| No.47 Il modello con il prezzo unitario più basso viene impostato come predefinito senza misurarne l'adeguatezza all'uso |
Esempio:Dare lo stesso compito al modello economico e a quello costoso, poi decidere contando turni e quantità. |
| No.48 Quando qualcosa non funziona, la soluzione cercata è un modello più potente invece di un meccanismo migliore |
Esempio:Dare lo stesso compito a entrambi i modelli e trasformare in test automatico i punti dove fallisce solo quello economico. |
| No.49 Una ricerca che la sessione principale potrebbe concludere da sola viene comunque affidata a un sub-agent per sicurezza |
Esempio:Se l'agente padre possiede già la premessa, non delegare: affidare solo ciò che non possiede. |
| No.50 Per abitudine si divide il lavoro in quattro e lo si fa girare tutto insieme |
Esempio:Delegare solo ciò che rientra in una risposta: il costo dipende dagli andirivieni, non dal numero. |
| No.53 A metà del lavoro arriva dall'esterno un "guarda anche questo" |
Esempio:Aspettare un confine e chiedere con ambito ristretto, aggiungendo "scrivi se è già sufficiente". |
| No.52 Si cerca di decidere quale modello usare confrontandoli direttamente |
Esempio:Prima di confrontare, contare a quanti meccanismi equivale lo sforzo del confronto. |
| No.51 "Non c'è stata alcuna differenza" viene usato come motivo per chiudere la verifica |
Esempio:Prima di chiudere, ricontare i risultati esclusi e le voci a zero in tutte le condizioni. |
| No.54 Da un giorno all'altro l'IA lavora in modo diverso, e tu non hai cambiato né le istruzioni né le impostazioni |
Esempio:Non scrivere nulla in conflitto con le istruzioni di prodotto: annotare solo ciò che non decidono. Per cambiare il modo di lavorare, cambiare l'impostazione. |
Elenco degli articoli
Da qui in poi non è più l'indice inverso: sono link agli articoli, serie per serie, dall'introduzione all'ultimo capitolo.
はじめに —— 3 つの連載を、1 冊に
バイブコーディングにおける読まない技術
- 読まない技術 序論 AIの出力を、もうほとんど読んでいない
- 読まない技術 第1回 テスト結果を読まない技術
- 読まない技術 第2回 メモリを読まない技術
- 読まない技術 第3回 単体テストを読まない技術
- 読まない技術 第4回 スキルを使わない技術
- 読まない技術 第5回 サブエージェントの出力だけは読め
- 読まない技術 第6回 ルールを読まない技術
- 読まない技術 第7回 共有メモリを整理しない技術
- 読まない技術 第8回 修正履歴を読まない技術
- 読まない技術 第9回 引き継ぎを読まない技術
- 読まない技術 第10回 AIに要約しろと言わない技術
- 読まない技術 第11回 口を挟まない技術
- 読まない技術 第12回 作業結果を読まない技術
- 読まない技術 最終回 AIの出力を、ほとんど読まなくなった
AIの意見を聞かない技術
言わない技術
- 言わない技術 序論 AI に指示することが、ほとんどなくなった
- 言わない技術 第1回 検証を指示しない技術
- 言わない技術 第2回 具体的な指示を出さない技術
- 言わない技術 第3回 不具合詳細を書かない技術
- 言わない技術 第4回 計画を書けと言わない技術
- 言わない技術 第5回 念を押さない技術
- 言わない技術 第6回 サブエージェントの出力だけは、細かく指示しろ
- 言わない技術 第7回 AI を問い詰めない技術
- 言わない技術 第8回 AI にダメ出ししない技術
- 言わない技術 第9回 AI に考えさせない技術
- 言わない技術 第10回 質問に答えない技術
- 言わない技術 第11回 AI にレビューをさせない技術
- 言わない技術 最終回 何もしない技術
付録
はじめに —— 前巻の続きを、もう 1 冊に
確かめない技術
動かさない技術
追わない技術
番外編
- 番外編 A-1 整理する技術 —— 記録が増えたときに、何が起きているか
- 番外編 A-2 指示を残す技術 —— 「調べるだけ」が通らなかった日
- 番外編 A-3 参照するタイミングを変える技術 —— 2,000 行の壁
- 番外編 A-4 導出を依頼者の言葉と分ける技術 —— 誰も言っていない条件が、memory に載った日
- 番外編 A-5 memory を要約しない技術 —— 整理から、要約を抜く
- 番外編 A-6 責務で線を引く技術 —— 仕組みが増えたときに、どれを消すか
- 番外編 A-7 読まれたかを確かめる技術 —— 確かめるのをやめて、読めていない形を止めた
- 番外編 A-8 面積で数える技術 —— 読ませた量で数えていたら、102 倍外していました
- 番外編 A-9 ルールを短くする技術 —— 読みに来るのは、止められた直後の人です
- 番外編 B-1 連載を本にする技術 —— 本単位のスイッチでは、足りなかった日
- 番外編 C-1 校正の方法に、先に本編を当てる技術 —— AI が書いた方針に、その本自身の地雷が 10 個あった日
- 番外編 C-2 仕組みと人を分ける技術 —— 自動テストを置いたその手で、自動テストの外側で 2 度転んだ日
- 番外編 C-3 要素ごとに観点を変える技術 —— 一様に当てた点検が、要素をまたいだところで数を落とす
- 番外編 C-4 似た指示語を読み分ける技術 —— 1 字違いで、別の作業を頼んだことになる
- 番外編 C-5 作業の流れを見る技術 —— 終わりにしたつもりの日に、まだ起きていたこと
- 番外編 C-6 作業を進める技術 —— 選ぶ場面が、1 つも残らなかった日
- 番外編 C-7 読まずに止める技術 —— 決まったはずの判断が、1 分後に取り消されました
- 番外編 D-1 症状で読む —— 片付いた報告に、症状が混ざります
- 番外編 D-2 根拠で読む —— 突き合わせた報告に、症状が混ざります
- あとがき —— 本当の事実はどうでもいい話