本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DevOps 特工记忆
内存是 AWS DevOps Agent 构建和维护的信息知识项目,通过特工空间特有的合成高信号上下文来补充其功能。与编码程序知识和扩展代理能力不同DevOps 代理技能,存储器对信息知识进行编码,帮助特工在调查期间做出更快、更准确的决策。
什么是回忆
内存是一个单一的降价文件,用于捕获与您的代理空间相关的综合信息。示例包括特定警报反复出现的根本原因、已知的环境异常或用户特定的偏好。记忆不能扩展代理能力;它们为代理提供背景信息,供代理人做出更好决策。
内存存储是相关内存文件的集合。每个内存存储都有名称和描述,代理使用该名称和描述来决定是否浏览其内容。内存存储是按主题对内存进行分组的组织容器。
内存存储来自两个地方。 AWS DevOps 代理在从代理空间中的活动中学习内容时创建和维护托管商店。您可以自己创建自定义存储库,将对团队、服务或反复出现的问题至关重要的运营知识进行分组。代理对待两者的方式相同:它读取每家商店的名称和描述,以决定是否开店。
记忆与其他知识物品类型在关键方面有所不同:
| 方面 | 技能 | 代理指令 | 内存 |
|---|---|---|---|
| 知识类型 | 程序(指令) | 程序(永远在线的指令) | 信息(综合上下文) |
| 内容格式 | Markdown 或 ZIP 捆绑包 | 仅限降价 | 仅限降价 |
| 上下文注入 | 按需(代理通过描述匹配决定) | 始终(每个会话) | 按需(代理通过描述匹配决定) |
| 创建者 | 用户(用户界面、CLI)、 AWS DevOps 代理 | 用户(用户界面、CLI) | 用户(用户界面、CLI、通过聊天)、 AWS DevOps 代理(学习代理) |
为什么要使用记忆
记忆使代理可以访问历史模式和环境知识,否则这些知识将在会话之间丢失。
主要好处:
更快的调查 ——工程师回忆起最近出现特定显示器的根本原因,避免在再次出现问题时执行冗余的诊断步骤。
环境意识 -记忆可捕获特定环境的细节,例如已知的噪音警报、基础设施怪异或难以在每次会话中重新发现的组件关系。
持续改进 -随着 DevOps 代理解决更多事件,它会自动为您的基础架构特定的模式和根本原因建立更丰富的知识库。
用户偏好 -存储器记录通信偏好和指令,因此代理始终如一地按照您的期望行事。
记忆是如何运作的
代理会话启动时,代理会收到一个包含名称和描述的内存存储列表,而不是其内容。在调查期间,代理将当前任务与每家商店的描述进行匹配,以确定该商店是否相关。如果是,代理会列出其中的内存,并且每个内存都有自己的描述,代理使用相同的方法——只有在该描述看起来相关之后,它才会读取内存的全部内容。由于名称和描述是代理在打开存储或内存之前看到的全部,因此描述是代理与之匹配的信号;在代理决定读取它们之前,内容会一直处于隐藏状态。这种渐进式披露模式使上下文消耗保持在较低水平,同时使所有相关知识均可访问。
每个内存都有版本控制。每次更新都会创建一个新的不可变版本,因此您可以查看以前的版本,并对内存随时间推移的变化进行审计。
将记忆整理到文件夹中
存储器的名称是其在存储中的路径,因此您可以将相关的存储器分组到文件夹中,而不必保留一个单一的平面清单。在名称/中使用来嵌套记忆,例如,或。alarms/checkout-latency services/checkout/overview由于内存的位置表明了它所保存的内容,因此代理首先读取索引,只打开与任务相关的少数几个文件,与上述渐进式披露模式相同。
例如,代理的环境映射是一组文件,即概述、每个服务的文件和每个关键请求路径的文件,以及代理首先读取的索引。操作员应用程序以这种文件夹结构显示内存,因此您可以按照代理浏览商店的方式浏览商店。
托管内存存储
AWS DevOps 代理在从代理空间中的活动中学习时会自动创建和维护一组托管内存存储。其中包括内置monitors和存directives储,以及 A AWS DevOps gent 了解的环境中每个区域的存储——您的拓扑、代码依赖关系、管道结构和工具使用模式。 AWS DevOps 代理以前将这些知识作为学习技能提供;如今,它在此处描述的商店中保留的知识与记忆相同。有关如何构建和刷新这些存储区的信息,请参阅如何构建和刷新内存。
显示器
Per-monitor 反复出现的根本原因历史。每个内存文件对应一个特定的监视器(警报或指标),并列出了该警报事件的原因类别以及预先调查的证据。特工在进行分类之前会阅读与触发警报相匹配的条目,以快速确定当前事件是否与已知模式相匹配。
当过去 2 周内在 Agent Space 中进行调查时,Learning Agent 每天运行一次来分析最近的调查,然后将记忆提取并存储在该存储库中。此商店中的内存物品在 2 周内没有更新时将被删除。如果存储空间已满,则会删除最旧的存储项目以腾出空间。
指令
User-authored 指导代理行为的指令。使用此存储库记录代理应遵循的常设指令,例如基础架构惯例或命名偏好。
示例:
“不再使用 Lambda 了。该服务使用 Fargate。”
“存储服务称为订单存储服务。”
反思
从先前关于遗漏或忽视的内容的调查中吸取的经验教训。当您提交调查反馈时,系统会创建一段记忆来分析实际根本原因为何与调查发现的不同。未来对该警报的调查会使用内存来避免犯同样的错误。
有关更多信息,请参阅提供调查反馈。
代理空间理解
该understanding-agent-space商店包含您的代理空间中的资源和关系地图。它包括包含关键域概念的简单语言系统概述、部署环境(AWS 帐户和区域对、Azure 订阅和区域等)、显示逻辑服务连接方式的容器级架构、应用程序所遍历组件的核心请求路径以及代码存储库到容器的映射。
存储为每个逻辑容器保留内存,该容器描述其内部组件(计算、数据、消息、网络等)、资源类型和物理标识符,例如 ARN、表名和队列 URL。每个容器内存还捕获可观察性覆盖范围(与每个组件关联的警报、仪表板和监视器),并将每个组件映射到其相关的代码存储库、包和基础设施即代码定义,从而提供从源代码到已部署资源的完整可追溯链。
它还为每个关键请求路径保留内存,该路径以组件粒度描述了从入口点到每个中间服务、数据存储和外部依赖关系的完整端到端请求流。每个路径存储器都包括按顺序排列的操作流程和组件之间的交互机制,并对与路径相关的可观察性信号进行分类:每个跳的日志组模式、关键指标(延迟、错误率、节流、令牌配额)及其警报名称和维度,以及可以跨服务和账户关联的分布式跟踪跨度。
了解代码依赖关系
该understanding-dependencies商店拥有完整的服务到服务和软件包依赖关系图。使用它来了解存储库是如何连接的:哪些服务调用了哪个,它们之间有哪些事件流动,哪些包是共享的,以及基础架构边界在哪里。该存储对于评估变更的爆炸半径、确定上游和下游的影响以及了解部署顺序至关重要。
了解管道拓扑
该understanding-pipeline-topology商店从头到尾映射您的项目管道,包括步骤、环境促销和发布过程中的部署。这有助于代理区分生产环境和预生产环境,并了解发布过程中的变化所在。
工具使用最佳实践
该tool-use-best-practices商店拥有该代理从过去的调查中提取的有效的工具使用模式、常见的故障模式和参数指导,因此可以避免已知的陷阱,并以更少的浪费步骤进行调查。它保留了一个路由存储器,其中列出了每种工具及其支持的调查场景,另外还保留了每类工具的存储器。工具指南最多可包括三个部分:
最佳实践 — 从成功使用工具中提取的 Investigation-driven 技术,例如 L CloudWatch ogs Insights 查询模板、特定环境的指标命名空间和维度以及事件源过滤器。 CloudTrail 每个条目都是围绕调查情景组织的,包括过去调查中观察到的具体参数值和示例。
常见错误 -反复出现的故障模式及其修复。每个条目都描述了特定的错误情况,例如查询无法访问的帐户或构造格式错误的聚合查询,并提供了纠正措施,因此代理可以在不浪费调查步骤的情况下避免错误或从错误中恢复。
输出管理 — 针对往往会返回大量响应的工具调用指南。每个条目都描述了一种参数更改或处理策略,该策略可在保留诊断值的同时减小输出大小。
当有实时基础架构访问权限时, AWS DevOps 代理会先根据您的环境验证这些模式,然后再将其包括在内。确认的模式是自信地陈述的,未经确认的模式使用谨慎的语言,不包括反证的模式。
如何建立和刷新内存
AWS DevOps 代理在运行时会自动生成和更新其托管内存,您无需手动维护。后台学习代理会分析你的 Agent Space 和你最近的调查,然后写入和刷新托管商店中的记忆。
Agent Space Understanding 存储库在代理空间完成其初始资源发现时首次生成,并在连接的代码存储库、部署管道或可观测性集成发生变化时重新生成。对互联帐户 AWS、Azure帐户或Dynatrace帐户的更改将在下次计划更新时反映出来,而不是立即生效。对于活跃的代理空间,商店也会定期刷新,最多每 3 天刷新一次。如果代理空间在过去 6 天内完成了至少一项调查,则该代理空间处于活动状态;如果在 6 天内没有进行任何调查,则计划刷新将自动暂停,并在新的调查完成后恢复。
工具使用最佳实践商店在自上次刷新以来累积了至少 10 项已完成的新调查后刷新,且每 3 天刷新一次的频率不超过一次。
当Agent Space在过去两周进行调查时,监视器存储区每天刷新一次。
要手动重新生成此内存,请在操作员应用程序的拓扑页面上选择 “重新生成”,或要求聊天中的 AWS DevOps 代理进行更新。
摘要报告是基于 “代理空间理解” 内存生成的。它是代理对您的环境的了解的版本化只读视图,可在 AWS DevOps 代理管理员控制台中代理空间详细信息页面的摘要报告选项卡上以及网络应用程序的 “构件” 部分中找到。 AWS DevOps 拓扑页面将您的环境可视化为逻辑容器和组件;它所依据的拓扑图也是 Agent Space Understanding 内存的来源。有关更多信息,请参阅 什么是 DevOps 代理拓扑?。
创建自己的内存存储
您可以创建自己的内存存储库来保存团队、服务或反复出现的问题的操作知识,例如,您的团队在日常任务中遵循的标准程序,或者您按计划生成的运营报告背后的常设背景。给商店起个名字和清晰的描述。代理使用描述来决定商店的相关性,因此,具体、准确的描述是您提供的最重要的内容。
您可以通过控制台或通过与 AWS DevOps Agent 聊天来创建内存存储。
要创建内存存储(控制台),请执行以下操作:
在 Agent Space Operator Web 应用程序中导航到知识页面。
选择 “回忆” 选项卡。
选择 “创建内存存储” 。
输入名称和描述,然后选择 “创建” 。
要创建内存存储(聊天),请执行以下操作:
询问 AWS DevOps 代理人。例如:
“创建一个名为 payments-runbook 的存储库,为调查支付服务提供常设指导。” -创建商店。
“在支付管理账簿商店中,请记住,结账延迟警报预计将在夜间批处理任务中激增。” -为商店添加内存。
“创建一个名为 operational-procedures 的内存存储库,用于保存我们日常维护任务的标准运行手册。” -为标准操作程序创建存储。
“创建一个名为 Weekly-report-context 的存储库,其中包含我们的每周运营报告应遵循的章节、来源和格式。” -为定期运营报告创建商店。
代理使用自定义存储的方式与使用托管存储的方式相同:它在任务期间读取商店的描述,如果存储相关,它会打开所需的内存。自定义商店计入与托管商店相同的限额。请参阅内存限制。
撰写有效的描述
商店的描述是你写的最重要的内容,因为这是代理在阅读商店内部任何内容之前决定商店是否相关的方式。当代理处理任务时,它会看到每个存储的名称和描述,而不是其内存,并且只有在描述表明其内容适用时才会打开存储。向下延伸一层:每个内存都有自己的描述,只有在该描述看起来相关之后,代理才会读取内存的完整内容。精确的描述可以使商店在正确的时机开业;诸如notes或之类的模糊标签不会misc给代理商提供任何可与之匹配的内容,因此,即使答案在里面,它也会跳过商店。
写一个描述来说明两件事:商店里有什么,以及代理应该在什么时候使用它。一种可靠的模式是以它所适用的情况为结尾——例如,“调查结账或账单延迟时阅读”。保持具体和具体,将其表述为关于商店主题的简单陈述,而不是发给个人的指示。例如:
太模糊了:“付款单。”
有效:“支付服务的常设操作手册、已知问题和上报联系人。调查结账、账单或退款事件时请务必阅读。”
描述最多可包含 1,024 个字符。你可以稍后对其进行优化,当代理没有在你预期使用的商店中进行提款时,通常会这样做。
在存储器中放什么
存储器存储了经久耐用的综合知识——有关您的环境的事实、反复出现的根本原因、既定惯例和指令,以及您从过去工作中提取的发现和摘要。存储值得稍后回顾的结论,而不是原始数据。
内存存储不是单个调查的暂存板,也不是工具输出的键值缓存。你不能将工具调用的原始结果保存在商店中,然后在同一次调查中将其取回——在调查期间,代理已经将工具输出保存在其工作环境中。取而代之的是,记录事实或找到已确立的结果(例如,“结账服务同步调用付款 API”),代理可以在以后的会话中重复使用这些结果。
为了获得最佳效果:
将每个内存集中在单个事实或教训上,而不是大型转储中,这样代理就可以准确地检索到所需的内容。
存储调查中保持真实的信息,让一次性的工作数据留在产生这些数据的调查中。
查看回忆
您可以从 Agent Space Operator Web App 的 “知识” 页面查看所有内存存储及其内容。
要查看内存存储,请执行以下操作:
在 Agent Space Operator Web 应用程序中导航到知识页面。
选择 “回忆” 选项卡。
浏览内存存储列表,每个存储区均显示其名称、描述和代理类型范围。
要查看商店内的回忆,请执行以下操作:
在 “回忆” 选项卡上,选择要浏览的内存存储旁边的 “查看”。
商店详情页面列出了所有记忆及其名称、描述、版本号和上次修改日期,并按名称的字母顺序排序。
要查看特定内存,请执行以下操作:
在商店详情页面上,选择要读取的内存旁边的 “查看”。
内存详细信息页面显示呈现的 markdown 内容以及创建日期、上次修改日期和版本选择器。
要查看以前的版本,请执行以下操作:
在内存详细信息页面上,使用版本选择器下拉列表选择旧版本。
内容更新以显示所选版本。
激活和停用内存
您可以切换单个内存存储或单个存储器处于活动状态或非活动状态,而无需将其删除。
要切换内存存储,请执行以下操作:
在 “内存” 选项卡上,使用内存存储旁边的拨动开关。
处于非活动状态时,代理无法访问该存储区内的任何内存。
要切换单个内存,请执行以下操作:
进入内存存储以查看其内存列表。
使用要激活或停用的内存旁边的拨动开关。
处于非活动状态时,代理会在调查期间跳过该特定内存。
使用聊天编辑回忆
您可以通过在聊天界面中与 DevOps 代理聊天来创建、更新或删除记忆。聊天代理可以直接写入存储器。
聊天命令示例:
“请记住,存储服务称为订单存储服务”-在指令存储中创建或更新内存。
“更新金丝雀警报的内存,以注意到它在部署期间不稳定”-更新显示器存储中的特定内存。
“删除有关旧数据库连接字符串的内存”-移除不再相关的内存。
“创建一个名为 network-quirks 的内存存储,并添加注释 eu-west-1 NAT 网关会在 350 秒后断开空闲连接”-创建存储区及其第一个内存。
聊天代理会代表你直接写入内存库。
删除内存存储
您可以删除不再需要的自定义内存存储。无法删除托管商店(例如monitorsdirectives、和学习技能商店)。
在聊天中,代理不会删除仍包含记忆的商店——它会要求你先删除回忆。删除记忆,然后删除存储。
在控制台中,删除商店也会删除其中包含的内存。此操作无法撤消,因此请确保这是您要移除的商店。
要在聊天中删除商店,请询问代理。例如:
Delete the network-quirks memory store.
内存限制
以下限制适用于内存:
| 资源 | 限制 |
|---|---|
| 每个代理空间的内存存储量 | 50 |
| 每个存储器存储的内存 | 200 |
| 单个内存内容大小 | 100KB |