Community编程与开发github.com

REA分析优化

优化REA提供者和共享分析工作流,减少代理上下文、延迟、CPU和内存开销,同时保持正确性和证据完整性。适用于分析瓶颈、缓存或查询设计;CI/测试套件优化请使用rea-ci-tests-audit。

REA分析优化 是什么?

该技能旨在系统地识别并消除REA(推理引擎分析)工作流中不必要的工作,从而优化代理上下文、延迟、CPU和内存使用。它提供了一套严谨的工作流,要求开发者首先确定正确的分析问题,并建立一个独立的“正确性预言机”(如源构建的固定预期),而不是依赖与被测实现相同的解码器。然后,通过追踪一个公共CLI或MCP任务从入口到生产者的全过程,定位最早产生不必要工作的环节,并根据具体问题(如重复扫描、缓存缺失、大缓冲区等)选择最小的结构性修正方案,如复用查找结构、共享验证结果或增量解码。该技能强调对缓存、共享生产者和复用生命周期进行精确的语义定义(键、所有者、失效策略、保留大小和生命周期),并严格避免引入索引、通用缓存或编排层,除非能明确其消除的工作及其维护成本。最后,必须通过“前后对比”测量来验证优化效果,区分新鲜会话、运行时缓存和操作系统缓存,并报告详细的时间、内存、CPU和性能停止情况,确保优化不会损害正确性、证据完整性或代码覆盖率。该技能适用于Claude Code、Cursor、Codex等AI代理平台。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/limospecials7-sudo/rea/tree/main/.agents/skills/rea-analysis-optimization

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

REA分析优化 是做什么的?

找到不必要的具体工作来源,在其所有者处进行变更,并验证完成调查的等价性。一个有价值的成果也可以是一种有依据的决定,即保持实现不变。

遵循代码仓库的性能优先级、工具设计和测试指南。此技能提供优化工作流,而不是额外的执行目标、发布或合并权限。请使用当前合约、提供者先决条件和用户授权。

仅当变更目标是性能提升或存在具体的回归问题时,才进行性能测量。日常清理使用正确性检查,不需要仅仅是辅助调用、导入或表示变更就执行此优化工作流或合成基准测试。

在选择复用策略或解读基准测试时,请阅读Kuna案例研究。其中记录的观察结果展示了权衡;它们不是当前提供者的保证或通用的加速方法。

确定问题和正确性预言机

描述分析师已完成的任务,包括回答该问题所需的事实和关系、请求的详细程度、来源访问权限以及有意义的不确定性。选择一个具有代表性的真实工件和一个小的或空的情况。记录基线修订版本、目标摘要、引擎标识、选项、主机和入口点。使用单独的代码仓库进行更改,以避免干扰其他工作。

建立一个独立于已更改实现的预言机:源构建的固定预期、独立映射的文件字节,或与解释检查配对的本地生产者。比较同一错误解码器的两个封装并不能建立正确性。保留地址宽度、同一地址的替代方案、未解析的端点、覆盖范围和源链接。空结果仅证明在实际检查的范围内不存在。

定位最早的不必要工作

追踪一个公共CLI或MCP任务,从共享应用程序代码到其生产者。测量相关阶段:准入和身份检查、本地分析、解码、查找、投影、序列化、证据保留和清理。当它们影响已完成任务时,包括目录发现和额外调用。

使用证据选择最小的结构修正:

观察到的成本候选修正需要建立的条件
对已验证事实的重复扫描复用现有顺序或查找结构所有者建立了顺序和身份;每个匹配的替代方案都保留
重复的等效引擎工作共享已验证的结果或正在处理的生产者输入、新鲜度、生命周期和每个调用者的结果保持显式
针对所选事实的完整报告将选择或投影推送到最早有能力的所有者必需的事实和证据保持可达;已检查的覆盖范围被报告
大量临时传输缓冲区增量解码或使用有界的源读取验证整个已接收文档;保留的事实和副本仍然消耗内存
大量重复的同构读取共享准入、解码或批量工作保留项目身份、顺序(如需要)以及单个失败

不要引入索引、通用缓存、批量端点或编排层,除非能识别其消除的工作及其维护/资源成本。在物化完整报告后进行的投影可能会减少输出,但分析时间和峰值内存保持不变。在对更完善的覆盖工作流进行基准测试替代组合之前,先修复缺失或不正确的事实。

保持单一解释和定义的复用生命周期

让生产者边界一次性验证和规范化事实。消费者通过共享的CLI/MCP实现查询该表示;适配器不应重新构建关系或独立重新解释原始报告。将查找身份与显示格式分开。当合同意图匹配时复用合同,尊重请求的详细程度和完整的证据访问。

对于每个缓存或共享生产者,声明其键、所有者、失效策略、保留大小和生命周期。考虑影响结果的目标字节、引擎内容、分析选项、架构/负载映射以及影响复用的解析器/模式版本。在调用缓存观察结果之前验证最新状态。仅当对于该验证过的键是确定性的时,才缓存拒绝结果;格式错误、部分、临时或取消的尝试需要显式的重试策略。

一个取消的等待者不得使成功的对等方失效。保留生产者失败上下文和每个调用者的取消原因。保留所有权和容量费用,直到共享工作和清理完成;当清理失败时保留完成的观察结果。当这些路径发生变化时,测试失效、并发消费者、最后等待者取消、关闭和清理重试。

限制进程族和保留状态,而不仅仅是父堆或工作线程计数。在分配之前考虑解码和序列化扩展。根据主机和工作负载选择CPU、内存、并发和磁盘限制;在OOM之前停止并验证拥有的清理。一个被守卫停止的任务是不完整的。不要用无界保留库存替换传输缓冲区上限,也不要将部分结果隐藏在成功状态后面。

比较已完成任务并限制声明

在更改前后使用等效的输入、结果、覆盖范围和证据语义运行受影响的真实公共工作流。包括小输入,以便设置成本和回归可见。区分新鲜会话、运行时缓存和操作系统文件缓存。当方差影响决策时,交替或重复运行。为实际引擎无法可靠复现的情况选择有意义边界回归条件;虚假引擎不能限定真实提供者。

报告任务结果、相关阶段计时、总经过时间和CPU时间、峰值进程族内存及其计算方法、资源停止和清理。检查有效负载退出状态以及分析器的退出状态。保留失败的尝试并识别未测量的成本;成功的重试并不能解释失败。

对于令牌声明,计算完成任务所需的模式/发现、参数、回复、重试和延续。分别标记分词器估计与实际模型使用情况,并记录客户端/目录行为。单独的较小JSON既不能建立更少的模型令牌,也不能建立更好的调查质量。未完成代表性调查和可比较的正确性/覆盖率,不要声称复杂软件的优势。

以瓶颈、拥有的变更、保留的语义、执行的检查、前后测量和剩余限制结束。保持任何集成记录与测试的修订版本一致,并区分已合并的生产代码和仅限实验的代码。当演示的瓶颈得到解决或进一步的好处仍是推测性的时,停止。

相关技能