我从AIP平台架构设计Agent产品经验软件架构师罗小东,多年架构和平台产品设计经验,目前在Agent场景落地结合中。 这里的经验更多偏向于架构设计与工程实践,每个架构师有自己的思路,我有我思。前期的时候,也是考虑了很久,觉得企业级AI智能体平台在架构设计上相对来说是会有些不一样的。 这里要说说我们在知识库管理方面的一些经验。多源数据整合的技术难点前期的时候,知识库都是单一数据源的,比如只支持PDF或者只支持数据库。 这里要说说我们在可视化编排方面的一些经验。拖拽式界面的设计逻辑前期的时候,工作流配置都是代码式的,需要写JSON或者YAML配置文件。但是随着用户群体的扩大,我们发现这种方式门槛太高了。 每个产品设计思路不一,这个是建设企业级AI智能体平台的一些经验,期望给有兴趣的朋友参考,也欢迎交流。
TOC高可用架构和系统设计经验图片本文从研发规范层面、应用服务层面、存储层面、产品层面、运维部署层面、异常应急层面这六大层面去剖析一个高可用的系统需要有哪些关键的设计和考虑一、高可用架构和系统设计思想可用性和高可用概念可用性是一个可以量化的指标 高可用系统设计思想高可用系统的设计,需要有一套比较科学的工程管理套路,要从产品、开发、运维、基建等全方位去考量和设计,高可用系统的设计思想包括但不限于:做好研发规范,系统都是研发人员设计和编码写出来的, 容量规划阶段,更多是要依靠自身和团队的经验,比如要了解我们的 log 的性能、redis 的性能、rpc 接口的性能、服务化框架的性能等等,然后根据各种组件的性能来综合评估自己设计的系统的整体性能情况。 这个在上线之前,首先要根据经验来判断,然后是一定要经过性能压测得出准确结论的。性能压测要关注的指标很多,但是重点要关注是两个指标,一个是 QPS、一个是响应耗时,要确保压测的结果符合预期。 推荐阅读推荐阅读我的其他文章:《高并发架构和系统设计经验》《TCP 长连接层的设计和 在 IM 项目中实战应用》《万字解读云原生时代,如何从 0 到 1 构建 K8s 容器平台的 LB(Nginx)负载均衡体系
这是"Agent设计模式"系列文章的最后一篇。 可扩展:新增功能只需添加新Agent 二、Agent角色设计:职责分离 Multi-Agent系统的第一步是角色定义。 每个Agent必须明确: 它负责什么 它的输入是什么 它的输出是什么 它和其他Agent如何交互 ▪ 代码审查系统的角色设计 # agent_roles.py from dataclasses import 已停止 ✓ Agent summarizer 已停止 ✓ 系统已关闭 六、系列总结与学习路线 ▪ 6.1 六篇文章回顾 这个系列我们完整覆盖了Agent设计的核心模式: 文章 模式 核心思想 适用场景 在单Agent能解决问题时,不要为了"炫技"而使用Multi-Agent。系统的价值在于解决问题,而不是技术有多复杂。 这个系列到这里就结束了。 希望这几篇文章能给你一个清晰的Agent设计地图。
用户与Agent的多轮对话过程中会出现很多记忆,包括用户原始的意图、诉求、关键词,还包括Agent的推理、规划、工具调用的执行结果及模型最终的响应。 智能体毕竟是一个软件系统,所以越来越多人用软件设计的思想实现[记忆模块]。 我们将智能体类比于一台计算机,文件系统就是计算机的记忆模块。 如果哪天底层切换存储组件,Agent层完全不需要感知,切换很灵活。 因为在接口层面做了抽象,所以可以很好的面向功能进行接口涉及,而无需关注这个功能接口究竟是用了一个文件系统还是多个类型的文件系统。 回过头来,我们看一下从用户提出问题,到最终Agent给出回答的整个流程如下。 最终实现类似于操作系统的文件系统能力,让智能体的记忆可追溯(每一步有据可查)、可审计(所有操作都有日志)、可演化(新组件无缝接入),整个Agent的记忆历史都是可以回溯的,而不是黑盒了。
@ Google》,透露了Colossus设计的深层思考。 Colossus汲取了GFS的经验教训,正如在《Storage Architecture and Challenge》中所提及的GFS的不足。 基础知识: 谷歌的第一个集群级文件系统(2001) 为具有大文件的批处理应用程序设计 同时管理metadata和chunk的单一主程序 为了可靠性,chunk通常被复制3份 GFS教训: 扩展到大约50M Colossus简史 2001年,谷歌设计第一个集群文件系统——GFS。GFS支持P级的数据存储,以及数千客户机与数千服务器的交互。 谷歌需要将系统迁移到集群级的文件系统,该文件系统具有容错能力,设计用于大规模扩展,能够更有效地使用机器资源,并且对面向用户的服务提供最小的干扰。
但软硬结合的架构设计以及操作系统层面的自研,其实可以很好的解决这个问题。 介绍完OS整体架构之后,我们会进一步介绍OS中的几个关键设计(双核通信,UI框架等)以及典型功耗问题的解决思路和方法(实战经验)。 这种设计方式让应用开发者感受到“应用”开发是各自独立的,也是节约RAM并让OS超低功耗的关键一步。小系统支持“大应用”。很多用户误以为我们的系统就是安卓系统,UI效果参考下图。 ? 核心方法就是通过针对性的测试以及相关的摘件实验来缩小范围,然后通过软硬件的设计、代码与电路的走查等方式抓住根本原因。下面是一些典型问题的经验总结。 除了常规的硬件器件选型和硬件设计之外,本文总结的经验如下: 1.CPU选取需要尽可能平衡好功耗与算力的关系 2.双核架构需要引入,充分利用小核做更多算法与缓存工作,也有利于解耦 3.通过自研OS,可以将算力和
秒杀无外乎解决两个核心问题,一是并发读,一是并发写,对应到架构设计,就是高可用、一致性和高性能的要求。 关于秒杀系统的设计思考,本文即基于此 3 层依次推进,简述如下: 高性能。 如何保障应用在复杂工况环境下还能高效稳定运行,如何预防和面对突发问题,系统设计时应该从哪些方面着手? 采集访问URL或 Agent 采集热点日志(一些中间件本身已具备热点发现能力),提前识别潜在的热点数据 聚合分析热点数据,达到一定规则的热点数据,通过订阅分发推送到链路系统,各系统根据自身需求决定如何处理热点数据 尤其在秒杀这一场景下,为了保证系统的高可用,必须设计一个 Plan B 方案来进行兜底。 高可用建设,其实是一个系统工程,贯穿在系统建设的整个生命周期。 ? ---- 个人总结 一个秒杀系统的设计,可以根据不同级别的流量,由简单到复杂打造出不同的架构,本质是各方面的取舍和权衡。
MOOON-agent系统设计与使用说明.pdf MOOON-agent系统设计与使用说明 易剑 2012/6/16 1. 设计目标 一个通用的agent框架,提供编程接口,并内置通用的功能。 2. 应用场景 ? 3. 列表方式指定center 3) 与center断开后自动重连接 4) 支持多种重连接center策略,如轮询方式 5) 自动上报数据到center 6) 可选多种心跳方式,简单心跳不附带数据,富心跳可携带系统状态数据 系统骨架 ? 5. 资源接口 暂略。 6. 内置CommandProcessor 暂略。 7. 编程接口 除宏外,所以内容均位于agent名字空间内。 实例 */ extern void destroy(IAgent* agent); 7.2. message.h #pragma pack(4) // 网络消息按4字节对齐 /*** * Agent
本框架致力于在人类领导与底层模型原始能力间建立最纯净对话通道,确保每个 Agent 均以峰值潜力运行。 该框架构建为专业化 Agent 团队,每个 Agent 针对开发生命周期中的核心功能专门设计。 核心组件架构 为高效运用前沿大语言模型,本框架将不同开发角色分配给专业化 Agent 团队。这些 Agent 并非独立应用,而是通过精心设计的角色特定提示与上下文在 LLM 中调用的概念化人格。 流程编排者:人类开发者: 在此协作框架中,人类开发者承担编排者职能,作为 AI Agent 的中央智能节点与最终权威。 角色定位: 团队领导、系统架构师及最终决策者。 明确界定"目标愿景"与"设计 rationale",借助 Agent 团队加速"实施方案"落地。作为设计决策的最终仲裁者,确保各组件严格遵循项目长期愿景与质量标准。 通过将战术执行委派予 Agent,开发者得以将认知资源聚焦于真正核心领域:战略创新、韧性架构设计,以及打造用户惊喜产品所需的创造性问题破解。
那么,我们应该如何来设计一套系统,实现这样的诉求呢? Agent功能分类 我们按照最小职责原则,将所有的功能进行划分,尽可能的把功能拆分开,每一个功能,都有一个Agent与之对应。 AI系统设计 现在,让我们想象,我们已经有了一台机器人,现在它需要完成一个炒鸡蛋的任务,那么,从我们编程的角度,这里面都由哪些东西构成呢?数据和指令的流动是怎样的呢? AI系统设计示意图(注意,这里的中枢层和Agent的中枢大脑是两个概念) 对于我们开发者,主要是在软件侧做一些事情,不同的硬件传感器它的数据结构是不同的,因此,我们需要有一个针对性的agent来处理这类传感器的信号 AI应用设计示意图 通过这一架构,我们可以让Agent被无限扩展,而无需调整已有代码。随着agents的数量越来越多,系统能支持的能力也越来越强。 就如上文展示的一样,将来,在AI系统的基础上,我们只需要使用非常简单的自然语言,就能设计出以目标为导向的任务,而无需关心它的具体实现,以及它的内部原理。
虽然每种模式都针对特定的设计挑战,但可以通过将它们归类到反映智能 Agent 核心能力的基础类别中来整体理解它们。 核心执行和任务分解: 在最基本的层面上,Agent 必须能够执行任务。 学习和适应模式更进一步,允许 Agent 的行为根据反馈和经验而演变,使其随时间变得更加有效。 协作和通信: 许多复杂问题最好通过协作来解决。 多 Agent 协作模式允许创建系统,其中多个专门的 Agent(每个都有不同的角色和能力集)共同努力实现共同目标。这种劳动分工使系统能够处理对单个 Agent 来说难以解决的多方面问题。 为复杂系统组合模式 Agentic 设计的真正力量不是来自孤立地应用单一模式,而是来自巧妙地组合多种模式以创建复杂的多层系统。 这些 Agentic 设计模式是您的调色板和笔触——使您能够超越简单的提示词并创建动态的、响应式的和目标导向的实体的基础元素。
情感: 理解何时应用 zero-shot、one-shot 和 few-shot 提示技术,并精心设计和组织示例,对于提升 Agentic 系统的效能至关重要。 在 Agentic 系统中,上下文工程是核心 Agent 行为(如记忆持久性、决策制定和跨子任务协调)的基础。 例如,一个经过上下文工程设计的 Agent 在响应查询前,会整合用户的日历可用性(工具输出)、与邮件收件人的专业关系(隐式数据)以及过往会议记录(检索文档)。 这些技术对于构建能够主动与世界互动、检索实时信息并执行需要与外部系统交互任务的 Agent 至关重要。 底层模型设计为在整个对话过程中始终遵循这些预定义指令。 这允许为专注应用创建高度专业化的 AI Agent。例如,可配置 Gem 作为仅引用特定编程库的代码解释器。
多Agent视角下的自动驾驶系统设计:车端Agent与RSUAgent协同机制解析一、引言:为什么自动驾驶需要协作式Agent在传统自动驾驶系统中,车辆往往被设计为高度自治的单体智能体:依赖车载传感器( 二、协作式Agent系统总体架构1.系统角色划分Agent类型部署位置核心职责车端Agent自动驾驶车辆局部感知、轨迹规划、车辆控制路侧Agent路侧单元(RSU)全局感知、交通协同、策略协调云端Agent 通过合理划分车端Agent与路侧Agent的职责边界,并设计高效、鲁棒的交互机制,可以显著提升系统在复杂场景下的安全性与通行效率。 从工程视角看,这一体系本质上是一个分布式、多智能体协同决策系统,其设计思想对智慧交通、无人系统集群等领域同样具有重要参考价值。 该设计不仅符合自动驾驶工程落地对可靠性与可扩展性的要求,也为后续引入多Agent强化学习、博弈论协同决策等高级方法奠定了清晰、可演进的系统基础。
TencentDB Agent Memory 正式开源:让 Agent 沉淀经验,让人专注创造。今天,腾讯云数据库团队正式开源 TencentDB Agent Memory 。 无论是面向 C 端的对话助手,还是面向开发者的长周期 Agent,底层都依赖类似的"记忆层"承载跨会话偏好与历史经验,并逐渐收敛出一套通用的接口范式。 TencentDB Agent Memory 正是在这一背景下诞生的:让 Agent 学会你的工作流程、保留任务上下文、复用历史经验——以符号化记忆化解单次长任务的信息过载,以分层记忆沉淀跨会话的经验资产 效率过去,"更聪明的 Agent"往往意味着"更贵的 Agent",但 Agent 是按 Token 计费、按响应速度评价的,每多塞一段对话,就是成本和体验的双重损失。 沉淀经验,让人更专注于创造。
今天,腾讯云数据库团队正式开源 TencentDB Agent Memory。 一套面向 AI Agent 的分层记忆引擎,项目采用 MIT 协议开源,开箱即用。 无论是面向 C 端的对话助手,还是面向开发者的长周期 Agent,底层都依赖类似的"记忆层"承 载跨会话偏好与历史经验,并逐渐收敛出一套通用的接口范式。 TencentDB Agent Memory 正是在这一背景下诞生的:让 Agent 学会你的工作流程、保留任务上下文、复用历史经验——以符号化记忆化解单次长任务的信息过载,以分层记忆沉淀跨会话的经验资产 02 效率 过去,"更聪明的 Agent"往往意味着"更贵的 Agent",但 Agent 是按 Token 计费、按响应速度评价的,每多塞一段对话,就是成本和体验的双重损失。 沉淀经验,让人更专注于创造。
本文通过"虾社会"这一隐喻,系统性地探讨了Multi-Agent系统的公共基础设施设计。 然而,正如Chanetal.(2025)所指出的:"当前工具在很大程度上是不够的,因为它们并非为塑造Agent与现有制度(如法律和经济系统)或行为者(如数字服务提供商、人类、其他AIAgent)之间的交互而设计 Agent基础设施的概念:AgentInfrastructure=外部于Agent的技术系统和共享协议,旨在调解和影响Agent与其环境的交互。 6.4局限性本文存在以下局限:缺乏大规模实验验证:我们的公共服务架构停留在设计阶段,尚未在100+Agent的场景中验证平台依赖性:我们的实现基于Multi-Agent平台,架构设计可能不完全适用于其他 连代码层面都做不到完美基础设施必须外部化:独立运行、全局视角、第三方性是不可妥协的三个条件规模决定形态:1只虾不需要医院,1000只虾必须有;但建设者应该是平台方这些洞察不仅适用于AIAgent,也适用于任何分布式自治系统的治理设计
今天这篇文章,我将从源码层面,逐模块拆解这套系统的完整实现。如果你是AIAgent开发者、LLM应用架构师,或者对"AI如何从经验中学习"这个问题感兴趣,这篇文章值得你收藏细读。 HermesAgent的Skills闭环系统由7个紧密协作的模块组成,覆盖了从经验提取到知识复用的完整生命周期。 下面这张图展示了一个Skill从"诞生"到"被使用并自我改进"的完整数据流:让我用一句话概括这个系统的本质:Skills系统让AIAgent像人类专家一样积累经验——把成功的做法写成SOP,在使用中持续修订 设计者希望Agent在完成当前任务的同时就修正Skill,而不是留到下次再说。因为如果不立即修正,这个过时的信息会在下一次使用时再次导致错误。 ……十一、设计权衡与改进空间任何系统设计都是权衡。
表设计是每一个后端程序员都无法避开的一块转,而且这块砖一不小心就很容易烫手,本篇笔记就是喂了帮助大家在设计表是能够轻松拿捏1.命名规范数据库表名、字段名、索引名等都需要命名规范。 3.主键设计要合理主键的设计在数据库中非常重要,它用于唯一标识表中的每一行数据,并且在数据操作和查询中起到关键作用。 数据库设计复杂性:当表的字段数过多时,数据库的设计和维护变得更加复杂。这可能涉及到索引和关联表的设计,以确保数据的完整性和一致性。 这可能会导致数据库出现不稳定的状态,从而影响系统的性能和可用性。可能会导致数据库的维护和管理成本的增加。这是因为外键关联需要额外的管理和维护工作,例如添加、修改或删除外键约束时需要额外的测试和验证。 15.SQL编写的一些优化经验避免使用SELECT * FROM 语句,应该只选择需要的列,以减少网络传输和提高查询性能。使用索引来提高查询速度,特别是在对大型表进行查询时。
为系统设计的面试做准备。 学习如何设计大型系统 学习如何设计可扩展的系统将会有助于你成为一个更好的工程师。 系统设计是一个很宽泛的话题。在互联网上,关于系统设计原则的资源也是多如牛毛。 面试准备的其他主题: 学习指引 如何处理一个系统设计的面试题 系统设计的面试题,含解答 面向对象设计的面试题,含解答 其它的系统设计面试题 抽认卡
<img src 在一场面试中你会被问到什么取决于下面这些因素: 你的经验 你的技术背景 你面试的职位 你面试的公司 运气 那些有经验的候选人通常会被期望了解更多的系统设计的知识。 基于你的时间线,经验,面试的职位和面试的公司对下面的指导做出适当的调整。 短期 - 以系统设计主题的广度为目标。通过解决一些面试题来练习。 中期 - 以系统设计主题的广度和初级深度为目标。 一些 很多 大部分 如何处理一个系统设计的面试题 系统设计面试是一个开放式的对话。
高性能架构和系统设计经验 高性能和高并发,听着就有点类似,并且他们还经常一起提及,比如提高我们的并发性能,显然,高性能可以提高我们的并发,但是细化来看,他们是有区别的,他们的考量点的维度不同。 一、高性能架构和系统设计的几个层面 高性能架构设计主要集中在单机优化、服务集群优化、编码优化三方面。 但架构层面的设计是高性能的基础,如果架构层面的设计没有做到高性能,仅依靠优化编码,对整体系统的提升是有限的。我们从一个全局角度来看高性能的系统设计,需要整体考虑的包括如下几个层面: • 前端层面。 五、系统架构设计层面 架构设计层面:架构分层、业务分模块、集群(集中式、分布式)、缓存(多级缓存、本地缓存)、消息队列(异步、削峰) 架构和模块划分的设计 整个系统想要有一个高性能,那么首先就需要有个合理的架构设计 最有效的方式包括架构分层设计、业务分模块设计。 这么设计之后,在整体的系统性能优化上,后面就会有比较大的优化空间,从而不至于后面想要优化就根本无从下手,只能重构系统。