Source-linked AI summary
Self-Improving AI Coding Agents Through Accumulated Behavioral Rules: A Closed-Loop Framework
Aditya Aggarwal, Nahid Farhady Ghalaty
TL;DR
Coding agent 缺乏能够保留人工评审修正的反馈闭环,而现有 benchmark 不衡量随时间变化的行为一致性。本文引入从已采纳评审意见中提炼的持久化行为规则,并报告部署期间受跟踪错误类别未再发生,且知识可跨 agent 边界迁移。
问题
现有 coding agent 缺乏能够根据评审结果自动强化后续行为的反馈闭环,且 benchmark 不衡量随时间变化的行为一致性。
方法
该框架将已采纳的人工评审意见转化为持久化的版本控制规则,并通过自评审加以强化,在后续会话中加载这些规则。
结果
在 9 个受跟踪错误类别和累计 74 次规则生效后的会话暴露中,观察到的复发次数为 0;知识迁移事件中有 60% 跨越了代码仓库、工具或任务类型边界。
要点与局限
该框架解决了跨会话的持久化行为一致性问题,而现有 coding benchmark 不衡量这一维度。
要点与局限
由于缺乏受控基线或配对消融实验,关于错误抑制和评审重心转移的发现属于初步实证证据,而非因果证明。
Abstract
from arXiv · showhide
LLM-based coding agents repeat the same classes of mistakes across sessions because they lack a mechanism to retain corrections from human review feedback. We present a closed-loop framework in which every accepted review comment is codified as a persistent behavioral rule, progressively expanding the set of error classes the agent can self-detect. The framework combines an accumulating rule set in a version-controlled instruction file, a self-review checklist executed before code submission, and automated validation that ensures rule set integrity as it grows. In deployment across a 35+ service microservices platform, the rule set grew from 5 to 18 behavioral rules, 15+ language-specific standards, and a 15-item self-review checklist, all derived from real review feedback. We present empirical results from 11 recorded working sessions spanning code generation, PR review, incident investigation, and cross service refactoring. We observe that accumulated rules shift review effort from low-level correctness toward design-level validation, achieve a measured 0% recurrence rate for ruled-against error classes, and transfer across heterogeneous agent interfaces. We compare our approach against related work in experiential LLM learning (Reflexion, ExpeL, Voyager) and automated code review (CodeReviewer, SWE-bench agents), showing that our framework achieves persistent cross-session learning without weight updates, operates on production codebases rather than synthetic benchmarks, and addresses an orthogonal dimension (behavioral consistency over time) that existing benchmarks do not measure. The result is a coding agent that improves with every review cycle, accumulating the engineering wisdom of its human collaborators without changing a single model weight.
I. 引言 · A. 范围与定位
本文提出将累积行为规则作为闭环机制,把人类已采纳的评审反馈转化为持久、可复用的 coding agent 约束。不同于静态提示、再训练或通用记忆系统,该框架针对 coding agent 的已知失效模式,同时保留人工评审以处理更高阶问题。
- A. 范围与定位: 不同于静态 prompt engineering ,instruction file 直接依据评审结果演化,每条新规则都可追溯至一条具体的已采纳评论。正是这一反馈闭环,使系统能够自我改进,而非仅被动维护。
- I. 引言: 已采纳的评审评论会转化为持久的自我评审规则,形成棘轮效应,使所预防的错误类别随时间单调增长。目标是通过反复预防此前已识别的错误类别,实现零个可避免的评审评论。
- I. 引言: 该框架通过版本控制的 instruction files,而非权重更新,实现 operational memory,因此与模型和工具无关,并可立即部署。这一共享产物可在不同模型、工具和团队成员之间复用。
- I. 引言: 研究基于 11 个记录在案的工作会话,评估规则累积、错误类别抑制,以及知识在代码生成、PR 评审、重构和事故调查之间的迁移。部署环境为生产环境,所报告的会话涵盖多种 coding agent 任务。
- I. 引言: 该贡献关注跨会话的持久行为一致性,有别于 Reflexion 、ExpeL 、Voyager [15] 等 experiential learning 工作,以及 CodeReviewer 和 SWE-agent [16] 等代码评审系统。现有基准并未衡量这一跨会话行为维度。
- A. 范围与定位: 该框架是一种持久的组织记忆机制,其内容完全源自已采纳的评审结果,并将针对单点的修正转化为类别级约束。其范围是限定代码库内的 coding agent 行为,而非不受限制的通用记忆。
- A. 范围与定位: 该系统通过消除已知错误类别来增强而非取代人工评审,但它并非语义正确性的证明,也无法阻止所有可能的失败。它明确不是权重更新、模型再训练或基于人类反馈的强化学习(RLHF)。
II. 框架架构 · A. 结构化指令文件 · B. 规则表示
该框架在每次会话中加载一个纳入版本控制的结构化指令文件,以保留行为指导并扩展自我审查能力。其人类可读的规则隐式遵循一种 schema:追溯审查来源、将规则关联到检查清单条目,并支持未来的验证工具。
- II. 框架架构: 每条获采纳的审查意见都会转化为纳入版本控制的指令文件中的一条持久化行为规则,从而在后续会话中扩展 agent 的自我审查能力。闭环过程总结见 Fig. 1。
- A. 结构化指令文件: 指令文件会在每次 coding-agent 会话开始时作为 system context 加载,并遵循 AGENTS.md 或 rules 文件等版本控制 Markdown 约定。具体的章节名称和内容取决于领域。
- A. 结构化指令文件: 该部署专用文件包含 Behavioral Rules、Code Standards、Self-Review Checklist、Anti-Patterns 和 Workflow Rules。这些章节涵盖操作防护栏、源自审查的语言标准、提交前检查、带有替代方案的禁用模式,以及工作流约束。
- A. 结构化指令文件: Behavioral Rules 编码高层操作防护栏,而 Code Standards 则记录从审查反馈中提炼的语言特定要求。示例包括提交前先获得批准,以及使用基于模板的日志记录而非字符串插值。
- A. 结构化指令文件: Anti-Patterns 记录禁用的生成模式,并同时给出解释和正确替代方案,补充文件中的操作与编码指导。源文还将 Workflow Rules 列为文件中的独立章节。
- B. 规则表示: 每条 Markdown 规则都隐式遵循一个结构化 schema,包含 ID、类别、触发来源、范围、约束、理由、验证失败、检查清单映射、添加日期和审查可追溯性等字段。所给示例将一条架构规则关联到一名人工 PR 审查者、一项自我审查条目,以及一条关于缺少 SSRF-policy 验证的 PR 评论。
- B. 规则表示: 该 schema 通过将每条规则关联到产生它的审查事件,使规则来源具体可见。这为累积的行为指导提供了明确的来源追溯。
- B. 规则表示: 该 schema 将规则映射到自我审查检查清单条目,并支持未来用于冲突检测和规则有效性评分的工具。这在指令文件与提交前检查之间建立了可验证的桥梁。
C. 反馈闭环 … F. 工作区验证作为可靠性机制
该框架将已采纳的评审反馈转化为可持久化的行为规则,并在后续会话中加载;同时,治理机制与工作区验证在指令集扩展过程中维护规则质量。规则记录反复出现的工程错误,并通过细化、去重、团队仲裁和 schema 检查进行维护。
- C. 反馈闭环: 指出可泛化错误的已采纳评审意见会转化为新规则,更新后的指令文件会在每个后续会话中加载。agent 首先执行自我评审,随后由人工反馈驱动规则新增,而不是记录一次性拼写错误。
- C. 反馈闭环: 指令文件充当组织记忆,跨会话、模型和工具边界持续保留。
- D. 规则生命周期与治理: 当工程师判断某条意见可能在不同上下文中反复出现时,就会将其提升为规则,并将可泛化错误与一次性问题区分开来。
- D. 规则生命周期与治理: 当反馈显示现有规则范围过宽或过窄时,就地细化规则,同时保留规则 ID。
- D. 规则生命周期与治理: 定期评审允许具体规则吸收重叠的通用规则,而 pull request 评审则通过团队仲裁解决冲突。
- E. 规则示例: 代表性规则涵盖资源生命周期管理、结构化日志记录和布尔保护条件正确性,包括防止调用方释放工厂创建的 HttpClient 实例。
- F. 工作区验证作为可靠性机制: 自动化会话启动验证会在规则继续扩展前检查文件 frontmatter、指令结构、知识新鲜度、脚本和工具服务器配置。这些检查可防止格式错误的新增内容悄然降低系统性能。
- F. 工作区验证作为可靠性机制: 验证通过依据已知良好 schema 检查每次新增内容,支持规则单调增长。
G. 会话连续性 … C. 知识来源分布
该框架通过交接与任务日志构件保持连续性,同时运行于一个包含 35+ 个微服务的平台,并支持多个 agent 接口。在部署期间,行为规则从四类学习来源中累积而来,其中人工审查反馈占比最高,为 39%。
- G. 会话连续性: 会话连续性由交接文件和按时间顺序记录的任务日志共同构成;前者记录进行中的工作、待处理审查与后续行动。这些构件共同保留持续工作的上下文,以及累积的行为规则。
- A. 环境: 该部署覆盖 35+ 个微服务,以及 50,000+ 行共享基础设施代码,运行于带有 service mesh 的托管式容器编排环境中。Agent 通过多个接口,在该平台上执行代码生成、审查、架构调查、事故响应和跨服务重构。
- A. 环境: 所有参与的 agent 接口都读取同一个 instruction file,同时支持该部署平台上的多种工程活动。这种共享文件配置使该框架能够覆盖代码生成、审查、调查、事故响应和重构工作流。
- B. 规则随时间累积: 在持续数周的部署期间,规则集不断增长,其观测期末的构成见 Table I。所给段落指出了规则的时间累积过程和对应表格,但未提供表格中的具体单元格数值。
- C. 知识来源分布: 对最初累积的 18 条行为规则进行分析后,识别出四类不同的学习来源,汇总于 Table II。所报告的来源分布表明,规则累积源于多种经验,而非单一输入。
- C. 知识来源分布: 人工审查反馈贡献了最初 18 条行为规则中的 39%,因此成为所识别知识来源中占比最大的来源。论文以此分布支持将人工审查作为生成规则的最高质量信号。
D. 观察到的影响 … A. 实验设置
在一个包含 35+ 个服务的平台上开展的 11 次工作会话中,累积规则抑制了已观察到的错误复现,使审查重点转向设计,在不同接口间实现迁移,并加快了新成员上手。结果还暴露出一处范围冲突,该冲突通过细化规则得到解决,同时支持专用智能体之间共享行为记忆。
- D. 观察到的影响: 在 11 次记录的会话中,观察到受规则约束的错误类别复现率为 0%,这一结果受部署条件和观察窗口限制。这表明观察到的是抑制效果,而不是底层模型发生了永久性改变。
- D. 观察到的影响: 审查者在机械性问题上花费的时间减少了,更多关注架构适切性和设计权衡。
- D. 观察到的影响: 新团队成员立即继承了累积规则集,绕过了最初形成该规则集所经历的学习曲线。
- D. 观察到的影响: 随着规则集不断演进,具体且可执行的规则比宽泛指导更容易得到遵循。早期规则较为宽泛,而后期规则变得更加精确。
- E. 规则冲突:一个具体示例: 在验证框架行为正确后,通过为一般规则添加范围限定词,解决了一处处置规则之间的真实冲突。该冲突涉及 IDisposable 类型,以及通过 IHttpClientFactory 创建的 HttpClient 实例。
- F. 多接口行为迁移: 规则能够在 IDE 集成型智能体和基于终端的智能体之间迁移,因为二者使用同一个指令文件,尽管它们在分析和执行方面的优势不同。这支持将行为规则集用作多智能体架构的共享记忆 ,。
- A. 实验设置: 评估覆盖了一个包含 35+ 个服务的微服务平台,其中有 13 个自定义智能体定义、10 项运维技能、6 份共享知识文档、11 条任务日志记录、2 次已提交的指令文件修订、4 份记忆文档,以及来自 6 个代码仓库的 36 次 PR 审查。两个智能体接口使用了同一个共享指令文件。
B. 规则积累动态 … E. 知识迁移模式
在观察期内,规则集快速增长后逐渐趋缓,而纳入跟踪的错误类别在新增规则后均未观察到再次出现。评审意见逐渐转向设计层面的问题,且大多数记录的学习成果都跨越了代码仓库或工具边界实现迁移。
- B. 规则积累动态: 规则集呈现对数式积累曲线:初期增长迅速,随着高频模式逐渐被覆盖,增长趋于平缓。Table III 报告了观察期内规则集的增长情况。
- B. 规则积累动态: 合并后的指令文件达到约 4,809 words(∼6,250 tokens),占 128K-token 上下文窗口的比例不足 5%。这一规模反映了累积的行为规则及其配套指令。
- C. 错误类别再次发生分析: 新增规则后,在 9 个跟踪错误类别和累计 74 次规则生效后的会话暴露中,出现了 0 次再次发生。这一观察结果来自单次部署,不能据此确立永久性保证。
- C. 错误类别再次发生分析: 该再次发生分析在一次部署中,对 9 个错误类别进行了跟踪,涵盖累计 74 次规则生效后的会话暴露。报告窗口受到 Section VIII 讨论的有效性威胁所限制。
- D. 评审意见类别转移: 评审意见中有 66% 涉及架构、API 设计和性能,而机械正确性与代码风格相关意见占 14%。该分析覆盖了 6 个代码仓库中的 36 次 PR 评审,采用了根据既有代码评审研究 、 调整的标准。
- E. 知识迁移模式: 记录的知识迁移中有 60%(9/15)跨越了代码仓库或工具边界,支持工具无关编码的广泛适用性。迁移分类体系对 15 条记录在案的评审学习成果进行了分类。
F. 规则具体性演化 … A. 研究发现总结
部署结果表明,持久化行为规则会变得越来越具体,同时保持紧凑性,能够跨任务和接口泛化,并在不更新模型的情况下抑制此前已纠正错误的复现。
- F. 规则具体性演化: 随着具体审查意见产生具体规则并细化现有通用规则,规则具体性比率单调上升。Table VII 跟踪了语言具体性随时间的变化。
- G. 多层记忆架构: 持久化记忆共计约 4,809 个词(约 6,250 个 token),在三层架构中占用 128K 上下文窗口的 <5%。该框架将这一三层记忆架构发展为其持久化表示。
- H. 会话任务多样性: 尽管 PR 审查和事件调查属于非生成任务,但二者贡献了 39% 的规则,表明该方法的应用范围超越了代码生成。Table IX 报告了会话活动分布。
- A. 研究发现总结: 该闭环从已采纳的人类反馈中提炼出 18 条行为规则、15+ 项语言特定标准和一份包含 15 项的自审清单。这些产物存储在版本控制的指令文件中,可由多个 agent 界面使用,而无需修改模型端。
- A. 研究发现总结: 在四周观察窗口内,针对 9 类已跟踪错误和 74 次规则生效后的会话暴露,发生了 0 次复现。这一观察结果显示了可见的抑制效果,但没有受控基线,因此不构成统计保证。
- V. 讨论: 由于部署缺乏受控基线且观察窗口有限,该框架关于抑制和迁移的发现仍属于观察性结果。抑制效应在四周内清晰可见,但不构成统计保证。
- A. 研究发现总结: 知识迁移事件中有 60%(9/15)跨越了代码仓库、工具或任务类型边界,规则能够在异构 agent 界面中生效。以纯 Markdown 编写的声明式自然语言约束实现了无需修改模型端的迁移。
B. 匹配性与贡献 … C. ExpeL:跨任务的经验学习
该框架将 coding agent 的行为转化为持久、可审计的工程产物,并通过人类评审进行治理;同时,它在跨会话持久性、人类验证和跨任务类型迁移方面区别于经验学习方法。部署结果表明,框架能够抑制重复性错误,并将评审者的注意力转向更高层次的问题,同时也承认重要的实证局限。
- B. 匹配性与贡献: 该框架将不透明且不可复现的 coding agent 纳入代码评审,使组织工程知识成为一等、可审计的产物,并且不依赖特定供应商或工具。它将 agent 行为整合进现有工程工作流,而不是将知识留作特定会话中的隐性上下文。
- B. 匹配性与贡献: 每条行为规则都记录其来源评审事件、负责者、pull request 和自评清单位置,从而为 agent 行为建立明确的治理模型。这些记录使运行行为能够依据既有工程实践接受审计、评审和管理。
- B. 匹配性与贡献: 该可部署产物采用结构化指令文件,包含规则模式、生命周期、验证和反馈闭环机制,只需 Git、Markdown、pull-request 评审和纯文本脚本。它不需要 fine-tuning、特定模型工具或专用记忆后端,因此可以利用组织现有基础设施复现。
- B. 匹配性与贡献: 报告中的部署暴露出真实的规则冲突、治理问题和有效性威胁;其局限包括一个团队、一种语言、四周观察期以及无受控基线。这些约束限定了对实证结果的解释范围,而不是被隐瞒。
- B. 匹配性与贡献: 在观察到的 pull-request 评审意见中,66%涉及架构、API 设计或性能,14%涉及机械正确性,表明被抑制的重复性错误为更高层次的问题释放了注意力。累积规则集还可作为可迁移的入职培训产物,保留组织的评审历史。
- A. 比较框架: Table X 按关键维度组织比较,说明累积规则框架如何区别于相关的经验学习和 agent 评审方法。比较涵盖框架的持久性、反馈来源、迁移范围和运行属性,具体内容见相邻小节。
- B. Reflexion:会话内的言语强化: Reflexion 在会话内使用言语反思、情景记忆和自生成反馈,而累积规则能够跨会话持久存在,使用人类专家反馈,并针对多样化生产任务中的错误类别进行抑制。两种方法具有互补性:Reflexion 支持会话内迭代,而累积规则能够从后续会话开始就防止已知错误。
- C. ExpeL:跨任务的经验学习: ExpeL 自主提取经验,并在一种任务类型内迁移洞见;而该框架通过人类评审生成经过人类验证的规则,使其能够跨根本不同的任务类型迁移。人类验证不可或缺,因为加载到每个会话中的权威规则若包含幻觉式概括,可能会放大错误。
D. Voyager:持久化技能库 … H. 记忆增强型 LLM 系统
既有工作涵盖持久化可执行技能库、基于权重的代码审查模型、孤立的问题解决基准、单上下文自我改进以及持久化记忆系统。相比之下,本框架跨会话积累可审计的自然语言规则,旨在实现行为一致性和组织特定约定,同时不改变模型权重。
- D. Voyager:持久化技能库: 本框架存储声明式自然语言约束,而 Voyager [15] 则将可执行代码函数存储在不断扩展的技能库中。两种方法都利用持久化、版本控制的知识来支持能力的复合式增长。
- E. 预训练代码审查模型: 预训练代码审查模型 对权重进行微调,并在训练时冻结知识;而本框架通过上下文注入规则,并实时积累这些规则。本框架能够捕捉组织特定约定,这些约定可能在公共代码库中不可见;相比之下,这些模型面向公共代码仓库进行泛化。
- F. SWE-bench agents: SWE-bench agents [16] [20] 解决孤立的 GitHub 问题,其中最先进的系统能够解决 SWE-bench Lite 中 20–40% 的问题。该基准评估的是问题解决能力,而不是对已知错误类别的持久性规避能力。
- F. SWE-bench agents: 本框架针对一个不同的评估维度——随时间变化的行为一致性——而当前没有任何基准对其进行测量。SWE-bench 询问 agent 能否解决某个问题;本框架则询问 agent 能否避免已知错误类别。
- G. Self-Taught Optimizer、Self-Refine 和 Self-Debugging: STOP 、Self-Refine 和 Self-Debugging [22] 在单次执行上下文中改进脚手架或输出,而本框架则永久保留这些改进。所引方法分别采用递归式脚手架改进、自生成批评或橡皮鸭式解释。
- H. 记忆增强型 LLM 系统: MemoryBank 及相关系统提供持久化 LLM 记忆,而本框架使用更简单的纯文本 Markdown 文件;这些文件受版本控制、便于人类阅读且可审计。这种存储格式使积累的规则能够被协作者直接检查和维护。
I. 具有持久记忆的个人 AI 助手 … A. 有效性威胁
该框架通过团队级、源自评审的约束注入区别于个人助手记忆系统,同时其原则支持经验证且可迁移的规则增长。由于部署范围、语言、评审者质量、治理、上下文容量和统计控制等因素限制了可推广性与因果解释,现有证据仍属初步结果。
- I. 具有持久记忆的个人 AI 助手: 不同于 OpenClaw ,该框架从已采纳的代码评审反馈中提取团队级声明式约束,而不是存储自由形式的单用户对话事实。其目的在于通过持久化规则注入,防止错误类别反复出现。
- VII. 设计原则: 具体性、来源追踪和单调规则增长是核心原则,具体性从 0.60 增加到 0.78。规则会被添加或细化,而不会被删除;优先采用具体约束;每条规则都可追溯至评审意见或生产事件。
- VII. 设计原则: 与工具无关的 Markdown、自动化验证和共享仓库所有权支持规则在 2 个平台之间迁移,以及基于 PR 的规则治理。这种编码方式旨在让任何 LLM 都能读取,同时对每次新增内容进行完整性检查。
- VIII. 局限性与有效性威胁: 当前规则集约为 6,250 个 token,但随着上下文限制逐渐成为约束,持续增长可能需要采用层级化组织或摘要。研究中曾遇到一次规则冲突,自动冲突检测可以减少对人工识别的依赖。
- VIII. 局限性与有效性威胁: 扩展到单个团队之外仍是一个悬而未决的治理问题,因为集中式规则可能在团队之间分裂,或积累未解决的矛盾。多个团队将需要层级化或命名空间化的规则集,以及解决跨团队冲突的政策。
- VIII. 局限性与有效性威胁: 由于缺少并行对照组,或针对静态 prompting 与无规则设置的配对消融,抑制效果和评审重心转移的发现只能提供初步证据,而非因果证明。未来的 A/B 部署将使用同一传入任务队列,对比加载规则与不加载规则的 agent。
- VIII. 局限性与有效性威胁: 采用该框架取决于持续的书面评审反馈、工程师将意见编码为规则所投入的精力,以及能够加载项目级 instruction files 的 agent 工具链。缺失任何一个前提,都可能使反馈闭环失去输入,或阻止 agent 遵循规则集。
- A. 有效性威胁: 证据仅来自1个组织、一种静态类型语言、4周、11次会话及少量样本,因此审阅质量、语言、部署环境和长期饱和度限制了其可推广性。数据集包括涵盖9类错误的74次规则应用后观测,以及来自6个代码仓库的36个PR;未作正式统计显著性声明。
IX. 缺失的基准……未来研究方向
该框架将人工评审反馈转化为持久化、版本控制的行为规则,使自我检测覆盖范围在多个会话中单调增长。论文提出了用于衡量、部署和扩展这种行为一致性的基准、实践方案与研究方向。
- IX. 缺失的基准: 现有 coding benchmark 衡量静态能力,但不衡量随时间变化的行为一致性,也不考察修正是否能跨越会话边界持续生效。所提出的 benchmark 将补充 SWE-bench、HumanEval 和 CodeReview benchmark,而非取代它们。
- IX. 缺失的基准: 所提出的 benchmark 结合了规则语料库、会触发已被规则禁止模式的种子任务、时序任务序列,以及对修正持久性的跨会话评估。这些组件直接检验早期修正是否能在会话边界之后的后续任务中继续生效。
- X. 结论: 在 35+ 个微服务和 11 次记录在案的会话中,规则集从 5 条增长到 18 条行为规则、15+ 条代码标准和一份包含 15 项的自我评审清单。这次生产环境部署也为该框架所谓的随时间改进提供了实证基础。
- X. 结论: 在累计 74 次规则生效后的会话暴露中,9 类被跟踪的错误均未再次出现;与此同时,评审评论转向设计层面的问题,且规则在 60% 的观测事件中跨越边界迁移。作者明确指出,这是一项观察性结果,其局限性在其他部分讨论。
- X. 结论: 该框架的核心机制是棘轮效应:持久化、版本控制的评审规则单调扩展 agent 能够自我检测的错误类别。它将人工提供的反馈与跨会话持久性结合起来,无需权重更新、fine-tuning、特定于模型的基础设施或架构变更。
- 在企业环境中落地该框架: 企业可以通过逐步推进的方式采用该框架:对项目指令进行版本控制,将可泛化的评审评论提升为规则,并将该文件连接到现有的 agent 接口。这些实践无需改变组织现有的工具链。
- 未来研究方向: 未来研究应通过受控 A/B 研究检验因果有效性,在不同组织和编程环境中复现结果,并为评审与缺陷结果建立预注册指标。拟议研究关注评审评论数量、缺陷逃逸率、评审者任务投入时间,以及抑制效应的边界条件。
- 未来研究方向: 其他方向包括自动提出规则和检测冲突,以及通过可组合规则集和跨范围溯源跟踪实现多团队治理。这些机制旨在防止规则相互矛盾,并保留从团队级使用提升至组织范围使用的规则来源。