REA分析优化 是做什么的?
找到不必要的具体工作来源,在其所有者处进行变更,并验证完成调查的等价性。一个有价值的成果也可以是一种有依据的决定,即保持实现不变。
遵循代码仓库的性能优先级、工具设计和测试指南。此技能提供优化工作流,而不是额外的执行目标、发布或合并权限。请使用当前合约、提供者先决条件和用户授权。
仅当变更目标是性能提升或存在具体的回归问题时,才进行性能测量。日常清理使用正确性检查,不需要仅仅是辅助调用、导入或表示变更就执行此优化工作流或合成基准测试。
在选择复用策略或解读基准测试时,请阅读Kuna案例研究。其中记录的观察结果展示了权衡;它们不是当前提供者的保证或通用的加速方法。
确定问题和正确性预言机
描述分析师已完成的任务,包括回答该问题所需的事实和关系、请求的详细程度、来源访问权限以及有意义的不确定性。选择一个具有代表性的真实工件和一个小的或空的情况。记录基线修订版本、目标摘要、引擎标识、选项、主机和入口点。使用单独的代码仓库进行更改,以避免干扰其他工作。
建立一个独立于已更改实现的预言机:源构建的固定预期、独立映射的文件字节,或与解释检查配对的本地生产者。比较同一错误解码器的两个封装并不能建立正确性。保留地址宽度、同一地址的替代方案、未解析的端点、覆盖范围和源链接。空结果仅证明在实际检查的范围内不存在。
定位最早的不必要工作
追踪一个公共CLI或MCP任务,从共享应用程序代码到其生产者。测量相关阶段:准入和身份检查、本地分析、解码、查找、投影、序列化、证据保留和清理。当它们影响已完成任务时,包括目录发现和额外调用。
使用证据选择最小的结构修正:
| 观察到的成本 | 候选修正 | 需要建立的条件 |
|---|---|---|
| 对已验证事实的重复扫描 | 复用现有顺序或查找结构 | 所有者建立了顺序和身份;每个匹配的替代方案都保留 |
| 重复的等效引擎工作 | 共享已验证的结果或正在处理的生产者 | 输入、新鲜度、生命周期和每个调用者的结果保持显式 |
| 针对所选事实的完整报告 | 将选择或投影推送到最早有能力的所有者 | 必需的事实和证据保持可达;已检查的覆盖范围被报告 |
| 大量临时传输缓冲区 | 增量解码或使用有界的源读取 | 验证整个已接收文档;保留的事实和副本仍然消耗内存 |
| 大量重复的同构读取 | 共享准入、解码或批量工作 | 保留项目身份、顺序(如需要)以及单个失败 |
不要引入索引、通用缓存、批量端点或编排层,除非能识别其消除的工作及其维护/资源成本。在物化完整报告后进行的投影可能会减少输出,但分析时间和峰值内存保持不变。在对更完善的覆盖工作流进行基准测试替代组合之前,先修复缺失或不正确的事实。
保持单一解释和定义的复用生命周期
让生产者边界一次性验证和规范化事实。消费者通过共享的CLI/MCP实现查询该表示;适配器不应重新构建关系或独立重新解释原始报告。将查找身份与显示格式分开。当合同意图匹配时复用合同,尊重请求的详细程度和完整的证据访问。
对于每个缓存或共享生产者,声明其键、所有者、失效策略、保留大小和生命周期。考虑影响结果的目标字节、引擎内容、分析选项、架构/负载映射以及影响复用的解析器/模式版本。在调用缓存观察结果之前验证最新状态。仅当对于该验证过的键是确定性的时,才缓存拒绝结果;格式错误、部分、临时或取消的尝试需要显式的重试策略。
一个取消的等待者不得使成功的对等方失效。保留生产者失败上下文和每个调用者的取消原因。保留所有权和容量费用,直到共享工作和清理完成;当清理失败时保留完成的观察结果。当这些路径发生变化时,测试失效、并发消费者、最后等待者取消、关闭和清理重试。
限制进程族和保留状态,而不仅仅是父堆或工作线程计数。在分配之前考虑解码和序列化扩展。根据主机和工作负载选择CPU、内存、并发和磁盘限制;在OOM之前停止并验证拥有的清理。一个被守卫停止的任务是不完整的。不要用无界保留库存替换传输缓冲区上限,也不要将部分结果隐藏在成功状态后面。
比较已完成任务并限制声明
在更改前后使用等效的输入、结果、覆盖范围和证据语义运行受影响的真实公共工作流。包括小输入,以便设置成本和回归可见。区分新鲜会话、运行时缓存和操作系统文件缓存。当方差影响决策时,交替或重复运行。为实际引擎无法可靠复现的情况选择有意义边界回归条件;虚假引擎不能限定真实提供者。
报告任务结果、相关阶段计时、总经过时间和CPU时间、峰值进程族内存及其计算方法、资源停止和清理。检查有效负载退出状态以及分析器的退出状态。保留失败的尝试并识别未测量的成本;成功的重试并不能解释失败。
对于令牌声明,计算完成任务所需的模式/发现、参数、回复、重试和延续。分别标记分词器估计与实际模型使用情况,并记录客户端/目录行为。单独的较小JSON既不能建立更少的模型令牌,也不能建立更好的调查质量。未完成代表性调查和可比较的正确性/覆盖率,不要声称复杂软件的优势。
以瓶颈、拥有的变更、保留的语义、执行的检查、前后测量和剩余限制结束。保持任何集成记录与测试的修订版本一致,并区分已合并的生产代码和仅限实验的代码。当演示的瓶颈得到解决或进一步的好处仍是推测性的时,停止。