为什么单一 Agent 极易陷入自我确认偏误 (Confirmation Bias)
当要求同一个大模型实例既负责写代码又负责检查自己写的代码时,模型往往表现出强烈的“盲视”:由于注意力路径在生成时已经固定,它几乎总是认为自己的逻辑毫无破绽,即使代码中存在明显的越界漏洞或竞态条件。
Generator-Critic(生成-评审)双智能体范式通过设定截然不同的系统提示词与视角,强迫系统进行辩证审查。
角色分离与三轮收敛循环
系统由两套独立的 Agent 组成:
- Generator (生成专家):专注于理解业务需求,编写结构优雅、功能齐备的完整实现;
- Critic (极端挑剔的代码评审专家):不负责写业务逻辑,其 Prompt 包含安全准则、极端边界、并发竞态、单元测试覆盖度等审查清单;
- Loop Termination (收敛终止条件):如果 Critic 判定存在 Critical 缺陷,生成具体的缺陷报告并打回 Generator 重写;当且仅当 Critic 给出无异议通过或达到最大重试次数时退出循环。
生成-审查循环状态机实现
import assert from "node:assert/strict";
function review(code) {
return code.includes("assert") ? "PASS" : "REVISE";
}
assert.equal(review("assert.ok(true)"), "PASS");
assert.equal(review("console.log(1)"), "REVISE");原始资料与溯源链接
感谢阅读本文
如果你觉得内容有帮助,欢迎点赞支持或分享给同行开发者。
0 次阅读0 人赞过