CodeReviewModification never shows the programmer the six review regulations, so fixes are made blind to the checklist they are re-reviewed against
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
Direzione di ricerca
Inizia in CompanyConfig/Default/PhaseConfig.json con i prompt CodeReviewComment e CodeReviewModification, poi controlla ChatChainConfig.json per comprendere il limite di tre cicli di revisione. Aggiorna il prompt di modifica in modo che includa le sei regole e chieda al Programmer di preservarle mentre affronta il commento. Il lavoro è completo quando il Programmer riceve la stessa checklist usata per la nuova revisione; ispeziona le configurazioni derivate per verificare lo stesso schema di prompt.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Branch: chatdev1.0 (Default company config). Line numbers below refer to that branch; the same prompts exist on other configs derived from Default.
Summary
In CompanyConfig/Default/PhaseConfig.json, the CodeReviewComment phase prompt (lines 134–153) gives the Code Reviewer six regulations (lines 146–151: imports, implemented methods, comments, bugs, task conformance, interaction logic) and instructs them to "check the above regulations one by one" — but then to "propose one comment with the highest priority" (line 152).
The CodeReviewModification phase prompt (lines 155–178) passes the Programmer only:
"Comments on Codes:",
"\"{comments}\"",
(lines 166–167). The six-regulation checklist itself never reaches the modification prompt. So in each review cycle:
- the reviewer knows all six regulations but reports only one violation;
- the programmer fixes that one violation without knowing the other five criteria the next
CodeReviewCommentpass will judge the code against.
Triggering condition
ChatChainConfig.json caps the CodeReview ComposedPhase at cycleNum: 3 (lines 31–48), so at most three single comments are ever applied per run. Whenever the code has more than three regulation violations — or a fix regresses a different regulation (e.g. adding a method without importing what it needs) — known violations survive the entire review loop and ship in the final software. Unimplemented methods and missing imports, the exact things regulations 1) and 2) exist to catch, are the common survivors.
Suggested fix
Pure prompt change to CompanyConfig/Default/PhaseConfig.json: include the same six regulations in the CodeReviewModification phase prompt (before or after "Comments on Codes:"), and ask the Programmer to keep all regulations satisfied while addressing the comment. This lets each modification avoid regressing the criteria it will immediately be re-reviewed against, making the three cycles count. No code changes needed.
Found during an academic study that writes behavioral specifications of multi-agent systems and statically analyzes them; the reviewer-to-programmer information loss surfaced when specifying what each phase's prompt actually carries between roles.
- Lingua principale
- Python
- Stelle
- 34.3k
- Fork
- 4.3k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di OpenBMB/ChatDev
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
Tutte le issue di OpenBMB/ChatDev
Issue simili
-
pydanty:is-working
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
pydantic/pydantic-ai#8843 ·
I maintainer di solito rispondono entro 1 giorno
-
breaking change enhancement server
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
sktime/sktime#11310 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno