Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

CodeReviewModification never shows the programmer the six review regulations, so fixes are made blind to the checklist they are re-reviewed against

未关闭 适合新手
#650 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

@primorLee 已经在做这个了。

开始于 2026年8月23日。

  • #664 来自 @primorLee —— 未关闭

评估

难度
1/5
预计耗时
1-3 小时
新手友好度
78/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
冷清
技术栈
python
领域
ai

调研方向

从 CompanyConfig/Default/PhaseConfig.json 中的 CodeReviewComment 和 CodeReviewModification prompts 开始,然后检查 ChatChainConfig.json 以了解三轮 review 限制。更新 modification prompt,使其包含六项规定,并要求 Programmer 在处理 comment 时保留这些规定。完成的标准是 Programmer 收到与 re-review 使用的相同 checklist;检查派生配置中是否存在相同的 prompt 模式。

由索引模型根据 Issue 内容生成。

描述

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 CodeReviewComment pass 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.

主要语言
Python
星标
34.5k
派生
4.3k
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

OpenBMB/ChatDev 的其他 Issue

查看 OpenBMB/ChatDev 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。