[{"data":1,"prerenderedAt":3263},["ShallowReactive",2],{"agent:enterprise-ai-agent-system-requirements-challenges-architecture\u002F":3,"agent-wiki-navigation":1929},{"id":4,"title":5,"body":6,"commentId":1917,"description":15,"draft":1918,"extension":1919,"meta":1920,"navigation":1921,"order":1922,"path":1923,"section":1924,"seo":1925,"stem":1926,"updated":1927,"__hash__":1928},"agent\u002Fagent\u002Fenterprise-ai-agent-system-requirements-challenges-architecture.md","企业级 AI Agent 系统：需求分析、核心挑战与架构设计目标",{"type":7,"value":8,"toc":1874},"minimark",[9,16,22,27,30,33,36,39,44,49,52,68,71,74,94,97,100,106,109,139,146,150,153,156,185,188,193,196,199,204,207,211,214,217,221,228,245,248,258,261,268,271,382,385,388,393,396,400,403,407,410,413,416,419,436,439,446,450,453,456,459,462,465,468,482,487,494,498,501,504,507,510,513,518,525,529,536,539,542,545,552,556,559,564,567,572,575,580,583,588,591,594,597,601,604,608,611,614,616,633,636,639,659,662,667,670,673,677,680,683,685,699,702,708,714,717,720,723,726,730,733,736,739,759,762,779,782,785,788,793,796,801,804,809,812,817,820,826,829,832,836,839,842,868,871,876,879,882,899,902,906,909,912,935,938,943,946,951,954,959,962,967,970,973,978,982,985,987,1004,1007,1010,1033,1036,1047,1050,1053,1058,1061,1065,1068,1071,1076,1079,1082,1085,1091,1097,1103,1106,1110,1113,1116,1178,1181,1184,1187,1192,1195,1198,1202,1205,1210,1213,1217,1222,1225,1230,1233,1238,1241,1245,1256,1259,1262,1265,1269,1355,1358,1362,1365,1370,1373,1377,1380,1403,1406,1410,1413,1435,1438,1442,1445,1465,1468,1472,1475,1569,1572,1575,1579,1582,1585,1591,1597,1603,1609,1615,1621,1627,1633,1637,1640,1643,1646,1651,1654,1659,1662,1667,1670,1675,1678,1683,1686,1691,1694,1697,1714,1718,1721,1726,1729,1732,1735,1764,1767,1770,1773,1776,1781,1784,1787,1863,1866,1871],[10,11,12],"p",{},[13,14,15],"em",{},"从通用 Agent 的能力边界出发，探索事件驱动、多角色协作、共享记忆与可靠执行的企业级 Agent 架构。",[10,17,18],{},[19,20,21],"strong",{},"系列：从零构建企业级 AI Agent · 第 01 篇",[23,24,26],"h2",{"id":25},"一引言通用-agent-已经很强为什么还要自己开发","一、引言：通用 Agent 已经很强，为什么还要自己开发？",[10,28,29],{},"随着大模型能力不断提升，AI Agent 正在从简单的对话助手，演进为能够理解任务、调用工具、执行操作的智能系统。",[10,31,32],{},"今天，通用 Agent 已经能够完成相当复杂的工作，例如编写代码、分析文档、搜索资料、操作软件，甚至连续执行多步骤任务。",[10,34,35],{},"与此同时，LangGraph、OpenAI Agents SDK 等开发框架，以及各类企业 Agent 平台，也在不断降低 Agent 的开发门槛。",[10,37,38],{},"这引出了一个值得思考的问题：",[10,40,41],{},[19,42,43],{},"既然通用 Agent 已经如此强大，企业为什么还需要建设自己的 Agent？",[45,46,48],"h3",{"id":47},"_11-从一个真实的研发协作场景说起","1.1 从一个真实的研发协作场景说起",[10,50,51],{},"假设一家互联网公司的研发团队，日常使用以下工具：",[53,54,55,59,62,65],"ul",{},[56,57,58],"li",{},"云效：管理需求、Bug 和研发任务。",[56,60,61],{},"飞书：测试人员反馈问题、研发人员讨论和协作。",[56,63,64],{},"GitLab：托管代码、管理 Merge Request。",[56,66,67],{},"CI 平台：执行单元测试、集成测试和代码检查。",[10,69,70],{},"在传统研发流程中，测试人员发现问题后，通常需要在群里反馈或创建 Bug，再由相关负责人分析、修复、提交代码，最后等待测试验证。",[10,72,73],{},"这个过程存在大量重复性工作：",[53,75,76,79,82,85,88,91],{},[56,77,78],{},"Bug 可能已经存在，但测试人员不知道。",[56,80,81],{},"同一个问题可能在不同群聊中反复出现。",[56,83,84],{},"研发负责人需要人工整理问题并确定优先级。",[56,86,87],{},"开发人员需要反复搜索历史故障、代码和技术文档。",[56,89,90],{},"修复完成后，还需要人工同步进度、通知测试人员。",[56,92,93],{},"部分问题因为沟通遗漏而长期无人跟进。",[10,95,96],{},"现在设想一个能够持续参与研发协作的 Agent 系统。",[10,98,99],{},"当测试人员在飞书群中反馈：",[101,102,103],"blockquote",{},[10,104,105],{},"订单服务的退款接口偶尔返回 500，云效上之前好像也提过这个问题，麻烦后端看一下。",[10,107,108],{},"Agent 可以主动完成以下工作：",[110,111,112,115,118,121,124,127,130,133,136],"ol",{},[56,113,114],{},"识别这是一条潜在的 Bug 反馈。",[56,116,117],{},"查询云效，判断是否已经存在相同或相关缺陷。",[56,119,120],{},"关联代码仓库、服务归属和历史修复记录。",[56,122,123],{},"确定负责人，并主动通知。",[56,125,126],{},"分析相关代码，尝试定位问题原因。",[56,128,129],{},"在授权范围内创建修复分支，修改代码并运行测试。",[56,131,132],{},"创建 Draft PR，附上问题分析、修改内容和测试结果。",[56,134,135],{},"持续跟踪 PR 审核、CI 和测试反馈。",[56,137,138],{},"在问题解决后，将经过验证的修复经验沉淀为团队记忆。",[10,140,141,142,145],{},"这不再是一次简单的问答，而是一个",[19,143,144],{},"由业务事件触发、能够持续执行、跨系统协作的长期任务","。",[45,147,149],{"id":148},"_12-通用-agent-与企业-agent-的关键区别","1.2 通用 Agent 与企业 Agent 的关键区别",[10,151,152],{},"对于通用模型而言，理解 Bug 描述、分析代码甚至生成补丁，都已经是相对成熟的能力。",[10,154,155],{},"真正困难的是：",[53,157,158,161,164,167,170,173,176,179,182],{},[56,159,160],{},"Agent 如何持续感知企业内部发生的事件？",[56,162,163],{},"如何获得飞书、云效和代码仓库的访问权限？",[56,165,166],{},"如何知道哪个项目、哪个模块属于哪个负责人？",[56,168,169],{},"如何避免对同一个 Bug 重复创建任务或 PR？",[56,171,172],{},"如何在多个 Agent 之间共享任务上下文？",[56,174,175],{},"如何利用历史修复经验，同时避免错误记忆影响判断？",[56,177,178],{},"如何在执行中断后恢复任务？",[56,180,181],{},"如何保证代码修改不会越过企业的安全边界？",[56,183,184],{},"如何验证 Agent 真的修复了 Bug，而不只是提交了一段代码？",[10,186,187],{},"这些问题已经超出了单纯的模型推理能力。",[10,189,190],{},[19,191,192],{},"通用模型解决的是智能能力的供给问题，企业 Agent 还需要解决智能能力如何融入组织、业务流程与软件工程体系的问题。",[10,194,195],{},"因此，企业需要的通常不是重新训练一个更聪明的模型，而是建设能够整合内部系统、理解业务上下文、执行长期任务并接受治理的 Agent 能力。",[10,197,198],{},"但需要强调：",[10,200,201],{},[19,202,203],{},"企业拥有自己的 Agent 能力，不等于必须从零自研 Agent Runtime。",[10,205,206],{},"采购成熟产品、基于现有平台定制、使用开源框架开发以及自研核心组件，都是合理选择。",[23,208,210],{"id":209},"二市场需求企业究竟在招聘什么样的-agent-工程师","二、市场需求：企业究竟在招聘什么样的 Agent 工程师？",[10,212,213],{},"判断一项技术的实际需求，不能只看技术社区的热度，还需要观察企业愿意投入哪些研发资源。",[10,215,216],{},"招聘信息是一个有价值的观察窗口。",[45,218,220],{"id":219},"_21-从企业招聘-jd-看-agent-技术能力","2.1 从企业招聘 JD 看 Agent 技术能力",[10,222,223,224,227],{},"以滴滴官方招聘岗位 ",[19,225,226],{},"AI Agent 基建平台架构师"," 为例，岗位职责涉及：",[53,229,230,233,236,239,242],{},[56,231,232],{},"Agent 创建、配置、版本、发布及运行托管等全生命周期管理。",[56,234,235],{},"Agent 编排与运行时能力，包括模型、Prompt、知识库、MCP、工作流、记忆和任务调度。",[56,237,238],{},"日志追踪、异常恢复、灰度发布、权限隔离和稳定性建设。",[56,240,241],{},"高并发、分布式运行时的性能优化。",[56,243,244],{},"评估 LangGraph、DeepAgents 等框架，并结合业务进行技术选型。",[10,246,247],{},"这些要求说明，企业正在将 Agent 视为一种需要长期维护的软件系统，而不仅仅是一次模型 API 调用。",[10,249,250,251],{},"资料来源：",[252,253,257],"a",{"href":254,"rel":255},"https:\u002F\u002Ftalent.didiglobal.com\u002Fsocial\u002FjobDetail?jdId=66598",[256],"nofollow","滴滴招聘——AI Agent 基建平台架构师",[10,259,260],{},"京东的 Agent 平台方向岗位也涉及业务 Agent、工具集成、MCP、Agent 协作及工程问题定位。",[10,262,250,263],{},[252,264,267],{"href":265,"rel":266},"https:\u002F\u002Fzhaopin.jd.com\u002Fweb\u002Fjob-info-detail?requementId=226656",[256],"京东招聘——Agent 平台方向",[10,269,270],{},"结合部分公开岗位描述，可以将相关研发需求归纳为以下几类：",[272,273,274,290],"table",{},[275,276,277],"thead",{},[278,279,280,284,287],"tr",{},[281,282,283],"th",{},"能力领域",[281,285,286],{},"典型技术要求",[281,288,289],{},"对应的企业问题",[291,292,293,305,316,327,338,349,360,371],"tbody",{},[278,294,295,299,302],{},[296,297,298],"td",{},"Agent Runtime",[296,300,301],{},"Loop、编排、状态、调度",[296,303,304],{},"如何持续执行复杂任务",[278,306,307,310,313],{},[296,308,309],{},"Tool \u002F MCP",[296,311,312],{},"工具发现、调用、权限",[296,314,315],{},"如何连接企业业务系统",[278,317,318,321,324],{},[296,319,320],{},"Memory \u002F RAG",[296,322,323],{},"长期记忆、知识检索",[296,325,326],{},"如何使用企业知识和历史经验",[278,328,329,332,335],{},[296,330,331],{},"Multi-Agent",[296,333,334],{},"任务分解、协作、交接",[296,336,337],{},"如何协调不同职责",[278,339,340,343,346],{},[296,341,342],{},"Security",[296,344,345],{},"身份、授权、审计",[296,347,348],{},"如何防止越权与数据泄露",[278,350,351,354,357],{},[296,352,353],{},"Reliability",[296,355,356],{},"幂等、恢复、容错",[296,358,359],{},"如何保证业务操作可靠",[278,361,362,365,368],{},[296,363,364],{},"Evaluation",[296,366,367],{},"任务评测、Trace、监控",[296,369,370],{},"如何判断 Agent 是否有效",[278,372,373,376,379],{},[296,374,375],{},"Platform Engineering",[296,377,378],{},"部署、版本、灰度、成本",[296,380,381],{},"如何让多个团队持续使用",[10,383,384],{},"以上是对部分公开招聘样本的定性分析，不是经过统计抽样的全市场岗位占比结论。岗位发布也不能直接证明相关能力已经在企业内部成熟落地。",[10,386,387],{},"不过，这些需求揭示了一个重要趋势：",[10,389,390],{},[19,391,392],{},"Agent 开发正在从模型调用和 Prompt 设计，向运行时、数据工程、权限治理和软件可靠性等方向延伸。",[10,394,395],{},"对于具有传统后端、分布式系统和企业业务研发经验的工程师，这些领域同样是进入 Agent 工程的重要切入点。",[23,397,399],{"id":398},"三大厂实践企业-agent-平台正在解决什么问题","三、大厂实践：企业 Agent 平台正在解决什么问题？",[10,401,402],{},"招聘需求反映企业希望获得的研发能力，而云平台和企业软件厂商的公开架构，则展示了另一种视角：当 Agent 被广泛引入企业时，需要补充哪些基础设施？",[45,404,406],{"id":405},"_31-google-cloud从模型平台到-agent-平台","3.1 Google Cloud：从模型平台到 Agent 平台",[10,408,409],{},"Google Cloud 在 Gemini Enterprise Agent Platform 中，将平台能力概括为构建、规模化运行、治理和优化 Agent。",[10,411,412],{},"除了模型本身，平台还强调 Agent Identity、Registry、Gateway、Memory、Evaluation 和 Observability 等能力。",[10,414,415],{},"当企业只有一个 Agent 时，开发者可能只需要关注模型、工具和 Prompt。",[10,417,418],{},"当企业拥有大量 Agent 时，就需要回答：",[53,420,421,424,427,430,433],{},[56,422,423],{},"Agent 由谁创建和管理？",[56,425,426],{},"哪个 Agent 可以访问哪些工具？",[56,428,429],{},"Agent 的身份和权限如何维护？",[56,431,432],{},"如何追踪一次跨系统任务？",[56,434,435],{},"如何统一评估、部署和更新？",[10,437,438],{},"这些问题更接近平台工程，而不是单个 AI 应用的开发。",[10,440,250,441],{},[252,442,445],{"href":443,"rel":444},"https:\u002F\u002Fcloud.google.com\u002Fblog\u002Fproducts\u002Fai-machine-learning\u002Fintroducing-gemini-enterprise-agent-platform",[256],"Google Cloud——Introducing Gemini Enterprise Agent Platform",[45,447,449],{"id":448},"_32-microsoftagent-需要自己的身份和治理机制","3.2 Microsoft：Agent 需要自己的身份和治理机制",[10,451,452],{},"Microsoft 的 Agent 相关架构强调 Agent Identity、委托授权以及企业治理。",[10,454,455],{},"传统企业软件主要管理人的身份和权限。Agent 出现之后，企业需要进一步考虑：一个由用户发起、可能持续执行并调用多个系统的 Agent，究竟应该以什么身份行动？",[10,457,458],{},"例如：",[10,460,461],{},"研发人员 A 可以查看自己负责的代码仓库，但不能访问其他团队的私有仓库。",[10,463,464],{},"当研发人员 A 委托 Coding Agent 修复 Bug 时，Coding Agent 不应该因为自身拥有代码工具，就自动获得修改所有仓库的权限。",[10,466,467],{},"因此，需要区分：",[53,469,470,473,476,479],{},[56,471,472],{},"用户身份与用户权限。",[56,474,475],{},"Agent 身份与 Agent 自身的能力范围。",[56,477,478],{},"用户授予 Agent 的委托权限。",[56,480,481],{},"目标业务系统最终执行的授权校验。",[10,483,484],{},[19,485,486],{},"Agent 的执行权限不应该由模型通过 Prompt 自行决定。",[10,488,250,489],{},[252,490,493],{"href":491,"rel":492},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fmicrosoft-agent-365\u002Fbuilder\u002Fidentity",[256],"Microsoft Agent 365——Agent Identity",[45,495,497],{"id":496},"_33-aws工具调用需要独立的策略执行边界","3.3 AWS：工具调用需要独立的策略执行边界",[10,499,500],{},"AWS Bedrock AgentCore 的 Gateway 和策略机制强调，对 Agent 工具调用进行独立授权和拦截。",[10,502,503],{},"原因很直接：Agent 的工具调用具有一定动态性。",[10,505,506],{},"同样一个用户请求，模型可能选择不同工具、不同参数和不同执行顺序。",[10,508,509],{},"因此，系统不能仅仅通过一段 System Prompt 告诉模型“不要执行危险操作”，就认为安全问题已经解决。",[10,511,512],{},"更合理的设计是：",[10,514,515],{},[19,516,517],{},"模型负责提出行动，程序负责验证行动，业务系统负责维护最终业务约束。",[10,519,250,520],{},[252,521,524],{"href":522,"rel":523},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fmachine-learning\u002Fsecure-ai-agents-with-policy-and-lambda-interceptors-in-amazon-bedrock-agentcore-gateway\u002F",[256],"AWS——Securing AI Agents with AgentCore Gateway Policies",[45,526,528],{"id":527},"_34-salesforceagent-是企业-it-架构的组成部分","3.4 Salesforce：Agent 是企业 IT 架构的组成部分",[10,530,531,532,535],{},"Salesforce 在 ",[13,533,534],{},"The Agentic Enterprise"," 架构中，将 Agent Runtime、企业语义层、应用集成、工作流编排、可观测性和安全治理放在统一架构下讨论。",[10,537,538],{},"传统企业系统主要围绕人使用应用程序开展工作，而 Agent 使软件能够在授权范围内参与任务判断与执行。",[10,540,541],{},"但企业原有的 ERP、CRM、财务和订单系统并不会因此消失。",[10,543,544],{},"Agent 更可能通过标准化接口和业务服务与这些系统协作，而不是直接取代所有既有业务逻辑。",[10,546,250,547],{},[252,548,551],{"href":549,"rel":550},"https:\u002F\u002Farchitect.salesforce.com\u002Fdocs\u002Farchitect\u002Ffundamentals\u002Fguide\u002Fagentic-enterprise-it-architecture",[256],"Salesforce Architects——The Agentic Enterprise",[45,553,555],{"id":554},"_35-从这些实践得到的启示","3.5 从这些实践得到的启示",[10,557,558],{},"综合这些官方资料，可以看到几个共同方向。",[10,560,561],{},[19,562,563],{},"第一，模型与企业控制能力正在分层。",[10,565,566],{},"模型提供理解、推理与规划能力；企业系统提供身份、权限、业务数据、操作接口和治理机制。",[10,568,569],{},[19,570,571],{},"第二，Agent 不应绕过已有业务系统。",[10,573,574],{},"业务规则、交易约束和最终数据一致性仍应由确定性的业务服务保障。",[10,576,577],{},[19,578,579],{},"第三，Agent 的运行状态、记忆和权限需要独立治理。",[10,581,582],{},"一次对话的上下文，并不足以代表完整的企业任务状态。",[10,584,585],{},[19,586,587],{},"第四，Agent 不应该只能被动响应。",[10,589,590],{},"对于研发协作、运维、客服和业务流程等场景，Agent 可以通过事件订阅、任务调度和状态管理主动参与工作。",[10,592,593],{},"但这种主动性必须受到明确的权限、触发条件和执行边界约束。",[10,595,596],{},"当然，厂商官方架构描述的是其产品设计方向，不能直接等同于所有客户的实际生产效果。具体收益仍需要通过真实业务指标验证。",[23,598,600],{"id":599},"四企业级-agent-的七个核心技术挑战","四、企业级 Agent 的七个核心技术挑战",[10,602,603],{},"基于上述需求和研发协作场景，可以将企业 Agent 的关键工程问题归纳为七个方面。",[45,605,607],{"id":606},"_41-主动感知从被动对话到事件驱动","4.1 主动感知：从被动对话到事件驱动",[10,609,610],{},"传统 Chatbot 通常由用户主动发起请求。",[10,612,613],{},"但在企业研发协作中，很多任务是由业务事件触发的。",[10,615,458],{},[53,617,618,621,624,627,630],{},[56,619,620],{},"云效新增或更新 Bug。",[56,622,623],{},"飞书测试群出现新的问题反馈。",[56,625,626],{},"PR 审核状态发生变化。",[56,628,629],{},"CI 执行失败。",[56,631,632],{},"测试人员反馈问题仍然存在。",[10,634,635],{},"系统需要持续感知这些事件，并判断是否应该创建任务、更新已有任务或通知相关人员。",[10,637,638],{},"这里首先涉及传统事件驱动架构中的问题：",[53,640,641,644,647,650,653,656],{},[56,642,643],{},"Webhook 与 Polling 如何选择？",[56,645,646],{},"重复事件如何去重？",[56,648,649],{},"乱序事件如何处理？",[56,651,652],{},"外部系统不可用时如何补偿？",[56,654,655],{},"多个事件如何关联到同一个 Bug？",[56,657,658],{},"如何避免反复触发相同的 Agent 任务？",[10,660,661],{},"一个重要的设计原则是：",[10,663,664],{},[19,665,666],{},"事件接入、去重、状态管理等确定性工作，应优先由传统程序完成；需要语义理解和不确定性判断的环节，再交给模型。",[10,668,669],{},"例如，飞书消息是否属于 Bug 反馈，可以使用模型分类；但事件 ID 去重不需要 LLM。",[10,671,672],{},"此外，群聊消息可能包含敏感信息、个人讨论或与研发无关的内容，因此必须明确采集范围、访问授权、保留策略和数据最小化原则。",[45,674,676],{"id":675},"_42-多用户多角色与权限边界","4.2 多用户、多角色与权限边界",[10,678,679],{},"企业中存在不同的组织、部门、岗位和审批职责。",[10,681,682],{},"同一个 Agent 面对不同用户时，能够访问的数据和执行的操作可能完全不同。",[10,684,458],{},[53,686,687,690,693,696],{},[56,688,689],{},"测试人员可以提交 Bug、查询测试任务。",[56,691,692],{},"研发人员可以查看授权范围内的代码仓库和任务。",[56,694,695],{},"技术负责人可以管理项目任务、审核代码变更。",[56,697,698],{},"CI 服务身份可以执行限定范围的自动化测试。",[10,700,701],{},"这里至少存在两类角色：",[10,703,704,707],{},[19,705,706],{},"用户角色（User Role）","：决定用户在组织中的业务权限。",[10,709,710,713],{},[19,711,712],{},"Agent 角色（Agent Role）","：决定 Agent 承担什么任务、具备什么专业能力。",[10,715,716],{},"二者必须分开。",[10,718,719],{},"一个负责代码修复的 Agent，不应该天然拥有全部代码仓库的修改权限；一个 Supervisor Agent 将任务交给其他 Agent，也不应该自动扩大原始任务的授权范围。",[10,721,722],{},"对于主动触发的任务，还需要明确自动化服务身份、任务授权来源以及允许执行的操作范围。",[10,724,725],{},"因此，企业 Agent 的权限检查必须覆盖数据采集、知识检索、上下文构建、工具执行和任务恢复等环节。",[45,727,729],{"id":728},"_43-多层记忆与组织知识共享","4.3 多层记忆与组织知识共享",[10,731,732],{},"Agent Memory 不应该简单理解为“将聊天记录保存到向量数据库”。",[10,734,735],{},"企业中的信息具有不同来源、作用域、可信度和生命周期。",[10,737,738],{},"从内容角度，可以研究：",[53,740,741,747,753],{},[56,742,743,746],{},[19,744,745],{},"Semantic Memory","：业务事实、项目知识和技术约定。",[56,748,749,752],{},[19,750,751],{},"Episodic Memory","：历史 Bug、任务执行经历和修复结果。",[56,754,755,758],{},[19,756,757],{},"Procedural Memory","：可复用的排查方法、操作流程和修复经验。",[10,760,761],{},"从访问范围角度，可以划分：",[53,763,764,767,770,773,776],{},[56,765,766],{},"个人私有记忆。",[56,768,769],{},"Agent 工作记忆。",[56,771,772],{},"项目共享记忆。",[56,774,775],{},"团队共享记忆。",[56,777,778],{},"组织级共享记忆。",[10,780,781],{},"这两个维度相互独立。",[10,783,784],{},"例如，一次退款接口异常的修复记录属于 Episodic Memory，但它可能只允许订单研发团队访问。",[10,786,787],{},"企业记忆还需要处理更复杂的问题。",[10,789,790],{},[19,791,792],{},"记忆如何形成？",[10,794,795],{},"Coding Agent 推测某段代码存在并发问题，是否可以直接保存为长期事实？还是需要通过测试和人工审核后才能确认？",[10,797,798],{},[19,799,800],{},"记忆如何共享？",[10,802,803],{},"某个开发人员的排查经验什么时候可以升级为团队知识？共享时是否需要删除客户数据、密钥或内部敏感信息？",[10,805,806],{},[19,807,808],{},"记忆如何更新？",[10,810,811],{},"当新的修复结论推翻旧结论时，是覆盖、保留版本，还是标记旧结论已失效？",[10,813,814],{},[19,815,816],{},"记忆如何撤回？",[10,818,819],{},"当用户删除信息或组织权限发生变化时，原始数据、向量索引、摘要和缓存如何同步失效？",[10,821,822,823,145],{},"还需要区分",[19,824,825],{},"权威业务数据与 Agent 记忆",[10,827,828],{},"例如，代码模块负责人应该优先从明确维护的 CODEOWNERS、项目配置或任务系统中获取，而不是仅凭历史聊天记录猜测。",[10,830,831],{},"这些问题决定了企业记忆系统能否被信任。",[45,833,835],{"id":834},"_44-多-agent-协作与任务编排","4.4 多 Agent 协作与任务编排",[10,837,838],{},"研发协作涉及多个不同的专业环节。",[10,840,841],{},"例如，一个 Bug 的处理可能需要：",[110,843,844,850,856,862],{},[56,845,846,849],{},[19,847,848],{},"Triage Agent","：识别、归类和关联缺陷。",[56,851,852,855],{},[19,853,854],{},"Diagnosis Agent","：分析代码、日志和历史问题。",[56,857,858,861],{},[19,859,860],{},"Coding Agent","：修改代码、运行测试。",[56,863,864,867],{},[19,865,866],{},"Coordinator","：管理任务状态、通知负责人并跟踪反馈。",[10,869,870],{},"但需要警惕一个误区：",[10,872,873],{},[19,874,875],{},"业务存在多个角色，不代表技术上必须使用多个 LLM Agent。",[10,877,878],{},"例如，负责人查询可以由确定性服务完成；任务状态更新可以由 Workflow 负责；只有复杂的代码分析与修复才可能需要专门的 Coding Agent。",[10,880,881],{},"因此，多 Agent 架构应该回答：",[53,883,884,887,890,893,896],{},[56,885,886],{},"为什么单 Agent 无法满足需求？",[56,888,889],{},"Agent 之间传递什么状态？",[56,891,892],{},"如何避免重复工作和循环委派？",[56,894,895],{},"任务交接时如何保持用户授权？",[56,897,898],{},"如何判断协作带来的收益超过额外成本？",[10,900,901],{},"我们不应该为了展示 Multi-Agent 技术而强行拆分多个 Agent。",[45,903,905],{"id":904},"_45-coding-agent代码执行与安全边界","4.5 Coding Agent：代码执行与安全边界",[10,907,908],{},"自动修复 Bug 是整个研发协作场景中最有价值、也最需要谨慎设计的部分之一。",[10,910,911],{},"Coding Agent 可能需要：",[53,913,914,917,920,923,926,929,932],{},[56,915,916],{},"读取代码仓库。",[56,918,919],{},"搜索相关文件和调用链。",[56,921,922],{},"修改代码。",[56,924,925],{},"安装依赖。",[56,927,928],{},"执行测试。",[56,930,931],{},"提交 Git Commit。",[56,933,934],{},"创建 Draft PR。",[10,936,937],{},"这些操作涉及真实的代码执行和外部副作用，因此需要考虑：",[10,939,940],{},[19,941,942],{},"仓库与分支权限。",[10,944,945],{},"Agent 只能访问授权仓库，默认不直接修改受保护分支。",[10,947,948],{},[19,949,950],{},"命令与网络权限。",[10,952,953],{},"不能将模型生成的任意 Shell 命令视为可信输入；需要对执行能力、网络访问和敏感凭据进行约束。",[10,955,956],{},[19,957,958],{},"代码质量验证。",[10,960,961],{},"单元测试通过并不意味着 Bug 已修复。还需要结合回归测试、代码审查和原始问题的复现条件。",[10,963,964],{},[19,965,966],{},"人工审核。",[10,968,969],{},"第一阶段可以允许 Agent 在限定条件下创建 Draft PR，但不自动合并或部署生产环境。",[10,971,972],{},"这也带来一个重要的评估问题：",[10,974,975],{},[19,976,977],{},"成功创建 PR，不等于成功修复 Bug。",[45,979,981],{"id":980},"_46-长期任务与可靠执行","4.6 长期任务与可靠执行",[10,983,984],{},"从 Bug 发现到最终解决，可能持续数小时甚至数天。",[10,986,458],{},[53,988,989,992,995,998,1001],{},[56,990,991],{},"周一：测试人员反馈 Bug。",[56,993,994],{},"周二：Agent 完成分析并创建 Draft PR。",[56,996,997],{},"周三：开发人员审核，提出修改意见。",[56,999,1000],{},"周四：Agent 根据反馈更新补丁。",[56,1002,1003],{},"周五：CI 通过，测试人员完成验证。",[10,1005,1006],{},"这是一个长期存在的任务，而不是一次 LLM 请求。",[10,1008,1009],{},"系统需要支持：",[53,1011,1012,1015,1018,1021,1024,1027,1030],{},[56,1013,1014],{},"任务状态持久化。",[56,1016,1017],{},"等待外部事件。",[56,1019,1020],{},"任务暂停、恢复和取消。",[56,1022,1023],{},"工具执行超时。",[56,1025,1026],{},"重复事件处理。",[56,1028,1029],{},"重启后的任务恢复。",[56,1031,1032],{},"外部副作用的结果核验。",[10,1034,1035],{},"例如，Agent 调用 Git 平台创建 PR：",[110,1037,1038,1041,1044],{},[56,1039,1040],{},"PR 已成功创建。",[56,1042,1043],{},"网络连接发生超时。",[56,1045,1046],{},"Agent 没有收到成功响应。",[10,1048,1049],{},"此时直接重试，可能创建重复 PR。",[10,1051,1052],{},"因此，需要通过幂等标识、关联查询或人工核查确认外部操作结果。",[10,1054,1055],{},[19,1056,1057],{},"任务状态恢复，不等于外部业务副作用可以安全重放。",[10,1059,1060],{},"这也是企业 Agent Runtime 与传统分布式系统可靠性设计的重要交汇点。",[45,1062,1064],{"id":1063},"_47-可观测性评估与成本控制","4.7 可观测性、评估与成本控制",[10,1066,1067],{},"传统系统可以通过错误率、吞吐量、延迟和资源利用率等指标判断运行状态。",[10,1069,1070],{},"Agent 还需要回答：",[10,1072,1073],{},[19,1074,1075],{},"系统运行成功，是否意味着任务完成正确？",[10,1077,1078],{},"例如，一个 Agent 成功读取代码、生成补丁、运行测试并创建 PR，但它修改了错误的模块，或者仅仅绕过了失败的测试。",[10,1080,1081],{},"从工具执行角度看，所有调用可能都成功了；从业务角度看，任务仍然失败。",[10,1083,1084],{},"因此，企业 Agent 需要同时建立：",[10,1086,1087,1090],{},[19,1088,1089],{},"技术指标","：延迟、Token 消耗、工具失败率、资源利用率、任务恢复情况。",[10,1092,1093,1096],{},[19,1094,1095],{},"行为指标","：Bug 识别准确率、工具选择正确率、任务步骤合理性、记忆召回质量、权限违规次数。",[10,1098,1099,1102],{},[19,1100,1101],{},"业务指标","：有效 Bug 发现率、重复任务率、修复成功率、PR 审核通过率、人工接管率、平均处理时间和单位任务成本。",[10,1104,1105],{},"评估不应该等到项目开发完成后才补充，而应该从最小可运行版本开始建立。",[23,1107,1109],{"id":1108},"五建设企业-agent应该采购定制还是自研","五、建设企业 Agent：应该采购、定制还是自研？",[10,1111,1112],{},"讨论企业为什么需要自己的 Agent，还必须回答一个现实问题：企业是否真的应该自己开发？",[10,1114,1115],{},"答案并不总是肯定的。",[272,1117,1118,1128],{},[275,1119,1120],{},[278,1121,1122,1125],{},[281,1123,1124],{},"业务场景",[281,1126,1127],{},"建议优先考虑",[291,1129,1130,1138,1146,1154,1162,1170],{},[278,1131,1132,1135],{},[296,1133,1134],{},"通用文档处理、会议总结",[296,1136,1137],{},"成熟通用 AI 产品",[278,1139,1140,1143],{},[296,1141,1142],{},"企业知识问答",[296,1144,1145],{},"现有 Agent 平台与知识库方案",[278,1147,1148,1151],{},[296,1149,1150],{},"单部门流程自动化",[296,1152,1153],{},"成熟工作流或 Agent 框架",[278,1155,1156,1159],{},[296,1157,1158],{},"代码生成和单次修复任务",[296,1160,1161],{},"成熟 Coding Agent",[278,1163,1164,1167],{},[296,1165,1166],{},"跨系统研发协作与持续任务跟踪",[296,1168,1169],{},"专属 Agent 应用与控制能力",[278,1171,1172,1175],{},[296,1173,1174],{},"多团队共建 Agent 平台",[296,1176,1177],{},"统一治理与共享基础设施",[10,1179,1180],{},"即使决定自研，也不意味着所有组件都应该自行实现。",[10,1182,1183],{},"模型推理、Embedding、向量检索、工作流框架、MCP 协议、可观测性基础设施，以及 Coding Agent 本身，都可以优先考虑成熟方案。",[10,1185,1186],{},"更合理的建设原则是：",[101,1188,1189],{},[10,1190,1191],{},"对通用能力优先复用，对企业差异化能力重点建设，对关键架构决策进行验证。",[10,1193,1194],{},"这里还需要考虑长期总拥有成本，包括研发投入、部署维护、模型调用、合规成本、故障处理和后续升级。",[10,1196,1197],{},"自研带来的灵活性，必须能够覆盖它增加的复杂度。",[23,1199,1201],{"id":1200},"六项目定位事件驱动多角色与共享记忆","六、项目定位：事件驱动、多角色与共享记忆",[10,1203,1204],{},"基于前面的研究，可以将企业研发协作 Agent 的实践方向定义为：",[10,1206,1207],{},[19,1208,1209],{},"一个以研发协作为实践场景，支持事件驱动、多角色协作、权限感知共享记忆与可靠任务执行的 Agent 系统。",[10,1211,1212],{},"它不以重新实现一个通用大模型或完整 Coding Agent 为目标，而是研究如何将现有智能能力组织成能够持续参与企业研发流程的系统。",[45,1214,1216],{"id":1215},"_61-三个核心研究问题","6.1 三个核心研究问题",[10,1218,1219],{},[19,1220,1221],{},"问题一：Agent 如何主动感知事件并协调多个角色？",[10,1223,1224],{},"研究事件接入、任务触发、Agent 分工、任务交接和权限传播。",[10,1226,1227],{},[19,1228,1229],{},"问题二：多个角色如何共享可信记忆？",[10,1231,1232],{},"研究记忆分类、所有权、作用域、提取、检索、冲突、撤回和生命周期。",[10,1234,1235],{},[19,1236,1237],{},"问题三：Agent 如何可靠地执行长期任务？",[10,1239,1240],{},"研究状态持久化、工具调用、审批、幂等、结果核验、失败恢复和审计。",[45,1242,1244],{"id":1243},"_62-初步逻辑架构","6.2 初步逻辑架构",[1246,1247,1253],"pre",{"className":1248,"code":1250,"language":1251,"meta":1252},[1249],"language-text","┌───────────────────────────────────────────┐\n│              Enterprise Sources           │\n│                                           │\n│     云效 Bug \u002F 飞书消息 \u002F Git \u002F CI 事件      │\n└─────────────────────┬─────────────────────┘\n                      │\n┌─────────────────────▼─────────────────────┐\n│        Event Ingestion & Normalization    │\n│                                           │\n│   Webhook \u002F Polling \u002F 去重 \u002F 关联 \u002F 授权      │\n└─────────────────────┬─────────────────────┘\n                      │\n┌─────────────────────▼─────────────────────┐\n│        Agent Orchestration & Runtime      │\n│                                           │\n│    Triage \u002F Diagnosis \u002F Coding            │\n│    Task \u002F Workflow \u002F State \u002F Checkpoint   │\n└───────────────┬───────────────┬───────────┘\n                │               │\n┌───────────────▼───────┐ ┌─────▼───────────┐\n│   Memory & Context    │ │  Tool \u002F MCP     │\n│                       │ │                 │\n│ Personal \u002F Team \u002F Org │ │ 云效 \u002F 飞书 \u002F Git │\n│ Retrieval \u002F Lifecycle │ │ CI \u002F Coding     │\n└───────────────┬───────┘ └─────┬───────────┘\n                │               │\n┌───────────────▼───────────────▼───────────┐\n│       Governance & Infrastructure         │\n│                                           │\n│ Identity \u002F Policy \u002F Model \u002F Storage       │\n│ Observability \u002F Evaluation \u002F Security     │\n└───────────────────────────────────────────┘\n","text","",[1254,1255,1250],"code",{"__ignoreMap":1252},[10,1257,1258],{},"这只是逻辑能力划分，不代表最终必须采用微服务架构，也不代表每个模块都需要独立部署。",[10,1260,1261],{},"云效、飞书、Git 平台和 Coding Agent 应尽量通过适配器接入，避免核心 Runtime 与某个产品强绑定。",[10,1263,1264],{},"具体实现仍需要经过技术调研和 PoC 验证。",[45,1266,1268],{"id":1267},"_63-关键架构设计目标","6.3 关键架构设计目标",[272,1270,1271,1281],{},[275,1272,1273],{},[278,1274,1275,1278],{},[281,1276,1277],{},"设计目标",[281,1279,1280],{},"初步要求",[291,1282,1283,1291,1299,1307,1315,1323,1331,1339,1347],{},[278,1284,1285,1288],{},[296,1286,1287],{},"事件可追溯",[296,1289,1290],{},"保留来源、事件标识和处理状态",[278,1292,1293,1296],{},[296,1294,1295],{},"模型可替换",[296,1297,1298],{},"不与单一模型供应商强绑定",[278,1300,1301,1304],{},[296,1302,1303],{},"框架可评估",[296,1305,1306],{},"比较成熟框架与自研方案的适用边界",[278,1308,1309,1312],{},[296,1310,1311],{},"权限可验证",[296,1313,1314],{},"数据访问与工具执行具有程序级授权检查",[278,1316,1317,1320],{},[296,1318,1319],{},"记忆可治理",[296,1321,1322],{},"支持来源、作用域、更新、撤回和审计",[278,1324,1325,1328],{},[296,1326,1327],{},"任务可恢复",[296,1329,1330],{},"支持持久状态及不确定副作用处理",[278,1332,1333,1336],{},[296,1334,1335],{},"行为可追踪",[296,1337,1338],{},"能追踪任务、模型调用和工具执行",[278,1340,1341,1344],{},[296,1342,1343],{},"质量可评估",[296,1345,1346],{},"建立固定任务集与自动化回归",[278,1348,1349,1352],{},[296,1350,1351],{},"集成可扩展",[296,1353,1354],{},"支持替换研发平台与 Coding Agent",[10,1356,1357],{},"这些目标还不是已实现功能，而是后续设计和验收的依据。",[23,1359,1361],{"id":1360},"七mvp从-bug-发现到代码修复的研发协作闭环","七、MVP：从 Bug 发现到代码修复的研发协作闭环",[10,1363,1364],{},"第一阶段不追求通用平台的完整性，而是选择一个能够覆盖核心问题的真实研发场景。",[10,1366,1367],{},[19,1368,1369],{},"场景：主动收集 Bug、关联测试反馈、协调负责人，并在授权范围内完成代码修复与 PR 提交。",[10,1371,1372],{},"为了控制复杂度，项目将分阶段建设。",[45,1374,1376],{"id":1375},"_71-v1缺陷感知与协作","7.1 V1：缺陷感知与协作",[10,1378,1379],{},"第一阶段重点解决：",[53,1381,1382,1385,1388,1391,1394,1397,1400],{},[56,1383,1384],{},"接收云效 Bug 和飞书测试反馈。",[56,1386,1387],{},"统一事件模型。",[56,1389,1390],{},"识别潜在缺陷并关联已有 Bug。",[56,1392,1393],{},"查询项目、模块和负责人。",[56,1395,1396],{},"创建持久任务并主动通知。",[56,1398,1399],{},"检索相关历史问题和团队记忆。",[56,1401,1402],{},"记录完整处理过程。",[10,1404,1405],{},"这一阶段重点验证事件驱动、权限、任务状态和记忆检索。",[45,1407,1409],{"id":1408},"_72-v2缺陷分析与自动代码修复","7.2 V2：缺陷分析与自动代码修复",[10,1411,1412],{},"在 V1 的基础上，增加：",[53,1414,1415,1418,1421,1424,1427,1430,1432],{},[56,1416,1417],{},"关联代码仓库和技术文档。",[56,1419,1420],{},"使用历史修复经验辅助分析。",[56,1422,1423],{},"接入成熟 Coding Agent。",[56,1425,1426],{},"在授权的任务分支中修改代码。",[56,1428,1429],{},"运行单元测试与静态检查。",[56,1431,934],{},[56,1433,1434],{},"记录修复证据与执行结果。",[10,1436,1437],{},"这一阶段重点验证 Coding Agent 集成、执行安全、代码质量与自动化评测。",[45,1439,1441],{"id":1440},"_73-v3持续跟踪与多-agent-协作","7.3 V3：持续跟踪与多 Agent 协作",[10,1443,1444],{},"进一步支持：",[53,1446,1447,1450,1453,1456,1459,1462],{},[56,1448,1449],{},"跟踪 PR 审核意见。",[56,1451,1452],{},"处理 CI 失败事件。",[56,1454,1455],{},"根据反馈更新任务。",[56,1457,1458],{},"在授权范围内重新执行修复。",[56,1460,1461],{},"持续跟踪测试验证结果。",[56,1463,1464],{},"将经过确认的修复经验沉淀为团队记忆。",[10,1466,1467],{},"这一阶段重点验证长期任务恢复、多 Agent 协作、共享记忆与完整研发闭环。",[45,1469,1471],{"id":1470},"_74-mvp-的验收标准","7.4 MVP 的验收标准",[10,1473,1474],{},"为了避免项目变成只有演示效果的 Demo，需要设计可重复的测试。",[272,1476,1477,1487],{},[275,1478,1479],{},[278,1480,1481,1484],{},[281,1482,1483],{},"验收场景",[281,1485,1486],{},"预期结果",[291,1488,1489,1497,1505,1513,1521,1529,1537,1545,1553,1561],{},[278,1490,1491,1494],{},[296,1492,1493],{},"飞书重复推送相同消息",[296,1495,1496],{},"不重复创建任务",[278,1498,1499,1502],{},[296,1500,1501],{},"云效与飞书反馈同一问题",[296,1503,1504],{},"能识别关联关系并保留来源",[278,1506,1507,1510],{},[296,1508,1509],{},"用户无权访问目标仓库",[296,1511,1512],{},"不向 Coding Agent 暴露仓库内容",[278,1514,1515,1518],{},[296,1516,1517],{},"Agent 之间交接任务",[296,1519,1520],{},"不扩大任务授权范围",[278,1522,1523,1526],{},[296,1524,1525],{},"历史修复记录与当前证据冲突",[296,1527,1528],{},"保留来源并标记不确定性",[278,1530,1531,1534],{},[296,1532,1533],{},"团队记忆被撤回",[296,1535,1536],{},"后续检索不再返回已撤回内容",[278,1538,1539,1542],{},[296,1540,1541],{},"PR 创建成功但响应超时",[296,1543,1544],{},"不盲目重复创建 PR",[278,1546,1547,1550],{},[296,1548,1549],{},"任务执行中进程重启",[296,1551,1552],{},"能恢复可恢复的任务状态",[278,1554,1555,1558],{},[296,1556,1557],{},"Coding Agent 修改错误模块",[296,1559,1560],{},"通过测试、审查或评测识别问题",[278,1562,1563,1566],{},[296,1564,1565],{},"相同 Bug 案例重复评测",[296,1567,1568],{},"可以比较不同版本的修复质量与成本",[10,1570,1571],{},"初期可以通过示例代码仓库、预置 Bug、模拟飞书消息和云效数据构建可复现的测试环境，不依赖真实企业生产系统。",[10,1573,1574],{},"具体指标和阈值应在实现及基准测试后确定，不提前宣称生产级可靠性。",[23,1576,1578],{"id":1577},"八第一阶段明确不做什么","八、第一阶段明确不做什么",[10,1580,1581],{},"项目最容易遇到的问题之一，就是不断扩展功能范围。",[10,1583,1584],{},"因此，需要明确 V1 的非目标。",[10,1586,1587,1590],{},[19,1588,1589],{},"不自研基础大模型。"," 优先复用现有模型和推理服务。",[10,1592,1593,1596],{},[19,1594,1595],{},"不预设必须自研 Agent Runtime。"," 先研究成熟框架，再根据需求决定是否需要扩展或替换。",[10,1598,1599,1602],{},[19,1600,1601],{},"不从零开发完整 Coding Agent。"," 优先研究现有代码智能体的集成方式。",[10,1604,1605,1608],{},[19,1606,1607],{},"不追求无限自主执行。"," 主动执行必须受到明确约束。",[10,1610,1611,1614],{},[19,1612,1613],{},"不强制所有业务使用 Multi-Agent。"," 简单任务优先使用简单方案。",[10,1616,1617,1620],{},[19,1618,1619],{},"不建设完整企业 SaaS 管理平台。"," 第一阶段重点验证核心执行、权限和记忆机制。",[10,1622,1623,1626],{},[19,1624,1625],{},"不自动合并 PR 或部署生产环境。"," 初期只创建 Draft PR，并保留人工审核。",[10,1628,1629,1632],{},[19,1630,1631],{},"不把架构设计当作已验证成果。"," 所有关键结论都应有实现、测试或公开证据支持。",[23,1634,1636],{"id":1635},"九开发与写作让技术研究成为项目的一部分","九、开发与写作：让技术研究成为项目的一部分",[10,1638,1639],{},"这个项目还有一个重要目标：通过公开技术研究，建立系统性的 Agent 工程知识体系。",[10,1641,1642],{},"开发过程与技术文章可以结合，但不应把文章写成简单的开发日志。",[10,1644,1645],{},"每个重要技术专题尽量遵循相同的过程。",[10,1647,1648],{},[19,1649,1650],{},"第一步：研究问题。",[10,1652,1653],{},"理解业务需求、技术背景和已有解决方案。",[10,1655,1656],{},[19,1657,1658],{},"第二步：比较方案。",[10,1660,1661],{},"研究主流框架、官方文档、开源源码、社区 Issue 及不同架构的适用条件。",[10,1663,1664],{},[19,1665,1666],{},"第三步：验证假设。",[10,1668,1669],{},"对于关键技术取舍，使用最小实现、测试或 Benchmark 验证。",[10,1671,1672],{},[19,1673,1674],{},"第四步：记录决策。",[10,1676,1677],{},"通过 ADR 说明选择理由、放弃的方案、已知限制和未来重新评估的条件。",[10,1679,1680],{},[19,1681,1682],{},"第五步：开源实现。",[10,1684,1685],{},"公开可运行代码、测试、示例和必要的技术文档。",[10,1687,1688],{},[19,1689,1690],{},"第六步：总结反馈。",[10,1692,1693],{},"根据测试、实际使用和社区反馈，持续修正设计。",[10,1695,1696],{},"这意味着技术文章和开源代码会相互支撑：",[53,1698,1699,1702,1705,1708,1711],{},[56,1700,1701],{},"技术文章解释为什么这样设计。",[56,1703,1704],{},"开源代码展示实际如何实现。",[56,1706,1707],{},"自动化测试验证设计是否成立。",[56,1709,1710],{},"社区反馈帮助发现认知盲区。",[56,1712,1713],{},"后续文章记录方案如何演进。",[23,1715,1717],{"id":1716},"十总结企业-agent-的价值不只是更聪明","十、总结：企业 Agent 的价值不只是更聪明",[10,1719,1720],{},"回到最初的问题：",[10,1722,1723],{},[19,1724,1725],{},"通用 Agent 已经很强，企业为什么还需要自己的 Agent？",[10,1727,1728],{},"答案不是因为通用模型不够聪明，而是因为企业软件的价值不仅来自智能，还来自业务上下文、组织权限、数据治理、可靠执行和可验证的结果。",[10,1730,1731],{},"通用模型能够帮助系统理解“应该做什么”。",[10,1733,1734],{},"但企业仍然需要回答：",[53,1736,1737,1740,1743,1746,1749,1752,1755,1758,1761],{},[56,1738,1739],{},"什么事件应该触发 Agent？",[56,1741,1742],{},"谁允许它执行？",[56,1744,1745],{},"它可以使用哪些数据？",[56,1747,1748],{},"它应该调用哪个业务系统？",[56,1750,1751],{},"多个 Agent 如何共享任务上下文？",[56,1753,1754],{},"外部操作成功与否如何判断？",[56,1756,1757],{},"失败后如何安全恢复？",[56,1759,1760],{},"哪些信息可以长期保存和共享？",[56,1762,1763],{},"谁对最终结果负责？",[10,1765,1766],{},"这些问题共同构成了企业级 Agent 工程的核心。",[10,1768,1769],{},"未来，随着通用模型和 Agent 平台继续发展，企业自研的边界也会变化。今天需要自己实现的基础能力，明天可能成为成熟平台的一部分。",[10,1771,1772],{},"因此，真正重要的不是坚持自研某个框架，而是理解问题、识别边界，并做出合理的技术选择。",[10,1774,1775],{},"本系列将以企业研发协作 Agent 为实践载体，从需求分析出发，逐步研究事件驱动架构、Agent Runtime、Multi-Agent、Memory、Context Engineering、MCP、可靠性、安全和评估体系。",[10,1777,1778],{},[19,1779,1780],{},"我们的目标不是重新发明一个通用 Agent，而是探索如何让 Agent 成为企业研发体系中可信、可控、可维护的协作参与者。",[23,1782,1783],{"id":1783},"参考资料",[10,1785,1786],{},"以下资料主要用于分析企业需求和架构方向。招聘信息具有时效性，厂商官方资料不等同于独立生产效果评测。",[110,1788,1789,1796,1803,1810,1817,1824,1831,1839,1847,1855],{},[56,1790,1791,1795],{},[252,1792,1794],{"href":254,"rel":1793},[256],"滴滴招聘：AI Agent 基建平台架构师"," — Agent 生命周期、编排、运行时与稳定性要求。",[56,1797,1798,1802],{},[252,1799,1801],{"href":265,"rel":1800},[256],"京东招聘：Agent 平台方向"," — Agent 平台与业务系统集成相关招聘资料。",[56,1804,1805,1809],{},[252,1806,1808],{"href":443,"rel":1807},[256],"Google Cloud：Introducing Gemini Enterprise Agent Platform"," — 企业 Agent 平台能力与治理方向。",[56,1811,1812,1816],{},[252,1813,1815],{"href":491,"rel":1814},[256],"Microsoft：Agent Identity"," — Agent 身份与授权管理。",[56,1818,1819,1823],{},[252,1820,1822],{"href":522,"rel":1821},[256],"AWS：Secure AI Agents with AgentCore Gateway"," — Agent 工具执行的策略与安全控制。",[56,1825,1826,1830],{},[252,1827,1829],{"href":549,"rel":1828},[256],"Salesforce Architects：The Agentic Enterprise"," — 企业 Agent 架构、语义层、编排与治理。",[56,1832,1833,1838],{},[252,1834,1837],{"href":1835,"rel":1836},"https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Foverview",[256],"LangGraph 官方文档"," — 有状态 Agent 工作流与运行时。",[56,1840,1841,1846],{},[252,1842,1845],{"href":1843,"rel":1844},"https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002F",[256],"OpenAI Agents SDK 官方文档"," — Agent、工具、交接与追踪。",[56,1848,1849,1854],{},[252,1850,1853],{"href":1851,"rel":1852},"https:\u002F\u002Fmodelcontextprotocol.io\u002F",[256],"Model Context Protocol 官方文档"," — Agent 与外部工具、资源的标准化集成。",[56,1856,1857,1862],{},[252,1858,1861],{"href":1859,"rel":1860},"https:\u002F\u002Fgenai.owasp.org\u002F",[256],"OWASP GenAI Security Project"," — 生成式 AI 与 Agent 安全风险。",[1864,1865],"hr",{},[10,1867,1868],{},[13,1869,1870],{},"下一篇：《Agent、Workflow 与 Multi-Agent：执行模型、适用边界与架构选型》",[10,1872,1873],{},"下一篇将从 Agent 的运行机制出发，比较确定性工作流、单 Agent Loop、多 Agent 协作和状态图执行模型，研究它们各自解决什么问题，以及什么时候不应该使用 Agent。",{"title":1252,"searchDepth":1875,"depth":1875,"links":1876},2,[1877,1882,1885,1892,1901,1902,1907,1913,1914,1915,1916],{"id":25,"depth":1875,"text":26,"children":1878},[1879,1881],{"id":47,"depth":1880,"text":48},3,{"id":148,"depth":1880,"text":149},{"id":209,"depth":1875,"text":210,"children":1883},[1884],{"id":219,"depth":1880,"text":220},{"id":398,"depth":1875,"text":399,"children":1886},[1887,1888,1889,1890,1891],{"id":405,"depth":1880,"text":406},{"id":448,"depth":1880,"text":449},{"id":496,"depth":1880,"text":497},{"id":527,"depth":1880,"text":528},{"id":554,"depth":1880,"text":555},{"id":599,"depth":1875,"text":600,"children":1893},[1894,1895,1896,1897,1898,1899,1900],{"id":606,"depth":1880,"text":607},{"id":675,"depth":1880,"text":676},{"id":728,"depth":1880,"text":729},{"id":834,"depth":1880,"text":835},{"id":904,"depth":1880,"text":905},{"id":980,"depth":1880,"text":981},{"id":1063,"depth":1880,"text":1064},{"id":1108,"depth":1875,"text":1109},{"id":1200,"depth":1875,"text":1201,"children":1903},[1904,1905,1906],{"id":1215,"depth":1880,"text":1216},{"id":1243,"depth":1880,"text":1244},{"id":1267,"depth":1880,"text":1268},{"id":1360,"depth":1875,"text":1361,"children":1908},[1909,1910,1911,1912],{"id":1375,"depth":1880,"text":1376},{"id":1408,"depth":1880,"text":1409},{"id":1440,"depth":1880,"text":1441},{"id":1470,"depth":1880,"text":1471},{"id":1577,"depth":1875,"text":1578},{"id":1635,"depth":1875,"text":1636},{"id":1716,"depth":1875,"text":1717},{"id":1783,"depth":1875,"text":1783},"wiki:agent:enterprise-ai-agent-system-requirements-challenges-architecture",false,"md",{},true,1,"\u002Fagent\u002Fenterprise-ai-agent-system-requirements-challenges-architecture","企业级 Agent",{"title":5,"description":15},"agent\u002Fenterprise-ai-agent-system-requirements-challenges-architecture","2026-11-07","yjk-36o5bjKpW3rZnCSfeo-7YHjvRJZgdztc5Rz7ohI",[1930],{"id":4,"title":5,"body":1931,"commentId":1917,"description":15,"draft":1918,"extension":1919,"meta":3261,"navigation":1921,"order":1922,"path":1923,"section":1924,"seo":3262,"stem":1926,"updated":1927,"__hash__":1928},{"type":7,"value":1932,"toc":3220},[1933,1937,1941,1943,1945,1947,1949,1951,1955,1957,1959,1969,1971,1973,1987,1989,1991,1995,1997,2017,2021,2023,2025,2027,2047,2049,2053,2055,2057,2061,2063,2065,2067,2069,2071,2075,2087,2089,2094,2096,2101,2103,2181,2183,2185,2189,2191,2193,2195,2197,2199,2201,2203,2205,2217,2219,2224,2226,2228,2230,2232,2234,2236,2238,2248,2252,2257,2259,2261,2263,2265,2267,2269,2273,2278,2280,2284,2286,2288,2290,2295,2297,2299,2303,2305,2309,2311,2315,2317,2321,2323,2325,2327,2329,2331,2333,2335,2337,2339,2351,2353,2355,2369,2371,2375,2377,2379,2381,2383,2385,2387,2397,2399,2403,2407,2409,2411,2413,2415,2417,2419,2421,2423,2437,2439,2451,2453,2455,2457,2461,2463,2467,2469,2473,2475,2479,2481,2485,2487,2489,2491,2493,2495,2513,2515,2519,2521,2523,2535,2537,2539,2541,2543,2559,2561,2565,2567,2571,2573,2577,2579,2583,2585,2587,2591,2593,2595,2597,2609,2611,2613,2629,2631,2639,2641,2643,2647,2649,2651,2653,2655,2659,2661,2663,2665,2669,2673,2677,2679,2681,2683,2685,2733,2735,2737,2739,2743,2745,2747,2749,2751,2755,2757,2759,2763,2765,2769,2771,2775,2777,2779,2784,2786,2788,2790,2792,2858,2860,2862,2864,2868,2870,2872,2874,2890,2892,2894,2896,2912,2914,2916,2918,2932,2934,2936,2938,3010,3012,3014,3016,3018,3020,3024,3028,3032,3036,3040,3044,3048,3052,3054,3056,3058,3060,3064,3066,3070,3072,3076,3078,3082,3084,3088,3090,3094,3096,3098,3110,3112,3114,3118,3120,3122,3124,3144,3146,3148,3150,3152,3156,3158,3160,3212,3214,3218],[10,1934,1935],{},[13,1936,15],{},[10,1938,1939],{},[19,1940,21],{},[23,1942,26],{"id":25},[10,1944,29],{},[10,1946,32],{},[10,1948,35],{},[10,1950,38],{},[10,1952,1953],{},[19,1954,43],{},[45,1956,48],{"id":47},[10,1958,51],{},[53,1960,1961,1963,1965,1967],{},[56,1962,58],{},[56,1964,61],{},[56,1966,64],{},[56,1968,67],{},[10,1970,70],{},[10,1972,73],{},[53,1974,1975,1977,1979,1981,1983,1985],{},[56,1976,78],{},[56,1978,81],{},[56,1980,84],{},[56,1982,87],{},[56,1984,90],{},[56,1986,93],{},[10,1988,96],{},[10,1990,99],{},[101,1992,1993],{},[10,1994,105],{},[10,1996,108],{},[110,1998,1999,2001,2003,2005,2007,2009,2011,2013,2015],{},[56,2000,114],{},[56,2002,117],{},[56,2004,120],{},[56,2006,123],{},[56,2008,126],{},[56,2010,129],{},[56,2012,132],{},[56,2014,135],{},[56,2016,138],{},[10,2018,141,2019,145],{},[19,2020,144],{},[45,2022,149],{"id":148},[10,2024,152],{},[10,2026,155],{},[53,2028,2029,2031,2033,2035,2037,2039,2041,2043,2045],{},[56,2030,160],{},[56,2032,163],{},[56,2034,166],{},[56,2036,169],{},[56,2038,172],{},[56,2040,175],{},[56,2042,178],{},[56,2044,181],{},[56,2046,184],{},[10,2048,187],{},[10,2050,2051],{},[19,2052,192],{},[10,2054,195],{},[10,2056,198],{},[10,2058,2059],{},[19,2060,203],{},[10,2062,206],{},[23,2064,210],{"id":209},[10,2066,213],{},[10,2068,216],{},[45,2070,220],{"id":219},[10,2072,223,2073,227],{},[19,2074,226],{},[53,2076,2077,2079,2081,2083,2085],{},[56,2078,232],{},[56,2080,235],{},[56,2082,238],{},[56,2084,241],{},[56,2086,244],{},[10,2088,247],{},[10,2090,250,2091],{},[252,2092,257],{"href":254,"rel":2093},[256],[10,2095,260],{},[10,2097,250,2098],{},[252,2099,267],{"href":265,"rel":2100},[256],[10,2102,270],{},[272,2104,2105,2115],{},[275,2106,2107],{},[278,2108,2109,2111,2113],{},[281,2110,283],{},[281,2112,286],{},[281,2114,289],{},[291,2116,2117,2125,2133,2141,2149,2157,2165,2173],{},[278,2118,2119,2121,2123],{},[296,2120,298],{},[296,2122,301],{},[296,2124,304],{},[278,2126,2127,2129,2131],{},[296,2128,309],{},[296,2130,312],{},[296,2132,315],{},[278,2134,2135,2137,2139],{},[296,2136,320],{},[296,2138,323],{},[296,2140,326],{},[278,2142,2143,2145,2147],{},[296,2144,331],{},[296,2146,334],{},[296,2148,337],{},[278,2150,2151,2153,2155],{},[296,2152,342],{},[296,2154,345],{},[296,2156,348],{},[278,2158,2159,2161,2163],{},[296,2160,353],{},[296,2162,356],{},[296,2164,359],{},[278,2166,2167,2169,2171],{},[296,2168,364],{},[296,2170,367],{},[296,2172,370],{},[278,2174,2175,2177,2179],{},[296,2176,375],{},[296,2178,378],{},[296,2180,381],{},[10,2182,384],{},[10,2184,387],{},[10,2186,2187],{},[19,2188,392],{},[10,2190,395],{},[23,2192,399],{"id":398},[10,2194,402],{},[45,2196,406],{"id":405},[10,2198,409],{},[10,2200,412],{},[10,2202,415],{},[10,2204,418],{},[53,2206,2207,2209,2211,2213,2215],{},[56,2208,423],{},[56,2210,426],{},[56,2212,429],{},[56,2214,432],{},[56,2216,435],{},[10,2218,438],{},[10,2220,250,2221],{},[252,2222,445],{"href":443,"rel":2223},[256],[45,2225,449],{"id":448},[10,2227,452],{},[10,2229,455],{},[10,2231,458],{},[10,2233,461],{},[10,2235,464],{},[10,2237,467],{},[53,2239,2240,2242,2244,2246],{},[56,2241,472],{},[56,2243,475],{},[56,2245,478],{},[56,2247,481],{},[10,2249,2250],{},[19,2251,486],{},[10,2253,250,2254],{},[252,2255,493],{"href":491,"rel":2256},[256],[45,2258,497],{"id":496},[10,2260,500],{},[10,2262,503],{},[10,2264,506],{},[10,2266,509],{},[10,2268,512],{},[10,2270,2271],{},[19,2272,517],{},[10,2274,250,2275],{},[252,2276,524],{"href":522,"rel":2277},[256],[45,2279,528],{"id":527},[10,2281,531,2282,535],{},[13,2283,534],{},[10,2285,538],{},[10,2287,541],{},[10,2289,544],{},[10,2291,250,2292],{},[252,2293,551],{"href":549,"rel":2294},[256],[45,2296,555],{"id":554},[10,2298,558],{},[10,2300,2301],{},[19,2302,563],{},[10,2304,566],{},[10,2306,2307],{},[19,2308,571],{},[10,2310,574],{},[10,2312,2313],{},[19,2314,579],{},[10,2316,582],{},[10,2318,2319],{},[19,2320,587],{},[10,2322,590],{},[10,2324,593],{},[10,2326,596],{},[23,2328,600],{"id":599},[10,2330,603],{},[45,2332,607],{"id":606},[10,2334,610],{},[10,2336,613],{},[10,2338,458],{},[53,2340,2341,2343,2345,2347,2349],{},[56,2342,620],{},[56,2344,623],{},[56,2346,626],{},[56,2348,629],{},[56,2350,632],{},[10,2352,635],{},[10,2354,638],{},[53,2356,2357,2359,2361,2363,2365,2367],{},[56,2358,643],{},[56,2360,646],{},[56,2362,649],{},[56,2364,652],{},[56,2366,655],{},[56,2368,658],{},[10,2370,661],{},[10,2372,2373],{},[19,2374,666],{},[10,2376,669],{},[10,2378,672],{},[45,2380,676],{"id":675},[10,2382,679],{},[10,2384,682],{},[10,2386,458],{},[53,2388,2389,2391,2393,2395],{},[56,2390,689],{},[56,2392,692],{},[56,2394,695],{},[56,2396,698],{},[10,2398,701],{},[10,2400,2401,707],{},[19,2402,706],{},[10,2404,2405,713],{},[19,2406,712],{},[10,2408,716],{},[10,2410,719],{},[10,2412,722],{},[10,2414,725],{},[45,2416,729],{"id":728},[10,2418,732],{},[10,2420,735],{},[10,2422,738],{},[53,2424,2425,2429,2433],{},[56,2426,2427,746],{},[19,2428,745],{},[56,2430,2431,752],{},[19,2432,751],{},[56,2434,2435,758],{},[19,2436,757],{},[10,2438,761],{},[53,2440,2441,2443,2445,2447,2449],{},[56,2442,766],{},[56,2444,769],{},[56,2446,772],{},[56,2448,775],{},[56,2450,778],{},[10,2452,781],{},[10,2454,784],{},[10,2456,787],{},[10,2458,2459],{},[19,2460,792],{},[10,2462,795],{},[10,2464,2465],{},[19,2466,800],{},[10,2468,803],{},[10,2470,2471],{},[19,2472,808],{},[10,2474,811],{},[10,2476,2477],{},[19,2478,816],{},[10,2480,819],{},[10,2482,822,2483,145],{},[19,2484,825],{},[10,2486,828],{},[10,2488,831],{},[45,2490,835],{"id":834},[10,2492,838],{},[10,2494,841],{},[110,2496,2497,2501,2505,2509],{},[56,2498,2499,849],{},[19,2500,848],{},[56,2502,2503,855],{},[19,2504,854],{},[56,2506,2507,861],{},[19,2508,860],{},[56,2510,2511,867],{},[19,2512,866],{},[10,2514,870],{},[10,2516,2517],{},[19,2518,875],{},[10,2520,878],{},[10,2522,881],{},[53,2524,2525,2527,2529,2531,2533],{},[56,2526,886],{},[56,2528,889],{},[56,2530,892],{},[56,2532,895],{},[56,2534,898],{},[10,2536,901],{},[45,2538,905],{"id":904},[10,2540,908],{},[10,2542,911],{},[53,2544,2545,2547,2549,2551,2553,2555,2557],{},[56,2546,916],{},[56,2548,919],{},[56,2550,922],{},[56,2552,925],{},[56,2554,928],{},[56,2556,931],{},[56,2558,934],{},[10,2560,937],{},[10,2562,2563],{},[19,2564,942],{},[10,2566,945],{},[10,2568,2569],{},[19,2570,950],{},[10,2572,953],{},[10,2574,2575],{},[19,2576,958],{},[10,2578,961],{},[10,2580,2581],{},[19,2582,966],{},[10,2584,969],{},[10,2586,972],{},[10,2588,2589],{},[19,2590,977],{},[45,2592,981],{"id":980},[10,2594,984],{},[10,2596,458],{},[53,2598,2599,2601,2603,2605,2607],{},[56,2600,991],{},[56,2602,994],{},[56,2604,997],{},[56,2606,1000],{},[56,2608,1003],{},[10,2610,1006],{},[10,2612,1009],{},[53,2614,2615,2617,2619,2621,2623,2625,2627],{},[56,2616,1014],{},[56,2618,1017],{},[56,2620,1020],{},[56,2622,1023],{},[56,2624,1026],{},[56,2626,1029],{},[56,2628,1032],{},[10,2630,1035],{},[110,2632,2633,2635,2637],{},[56,2634,1040],{},[56,2636,1043],{},[56,2638,1046],{},[10,2640,1049],{},[10,2642,1052],{},[10,2644,2645],{},[19,2646,1057],{},[10,2648,1060],{},[45,2650,1064],{"id":1063},[10,2652,1067],{},[10,2654,1070],{},[10,2656,2657],{},[19,2658,1075],{},[10,2660,1078],{},[10,2662,1081],{},[10,2664,1084],{},[10,2666,2667,1090],{},[19,2668,1089],{},[10,2670,2671,1096],{},[19,2672,1095],{},[10,2674,2675,1102],{},[19,2676,1101],{},[10,2678,1105],{},[23,2680,1109],{"id":1108},[10,2682,1112],{},[10,2684,1115],{},[272,2686,2687,2695],{},[275,2688,2689],{},[278,2690,2691,2693],{},[281,2692,1124],{},[281,2694,1127],{},[291,2696,2697,2703,2709,2715,2721,2727],{},[278,2698,2699,2701],{},[296,2700,1134],{},[296,2702,1137],{},[278,2704,2705,2707],{},[296,2706,1142],{},[296,2708,1145],{},[278,2710,2711,2713],{},[296,2712,1150],{},[296,2714,1153],{},[278,2716,2717,2719],{},[296,2718,1158],{},[296,2720,1161],{},[278,2722,2723,2725],{},[296,2724,1166],{},[296,2726,1169],{},[278,2728,2729,2731],{},[296,2730,1174],{},[296,2732,1177],{},[10,2734,1180],{},[10,2736,1183],{},[10,2738,1186],{},[101,2740,2741],{},[10,2742,1191],{},[10,2744,1194],{},[10,2746,1197],{},[23,2748,1201],{"id":1200},[10,2750,1204],{},[10,2752,2753],{},[19,2754,1209],{},[10,2756,1212],{},[45,2758,1216],{"id":1215},[10,2760,2761],{},[19,2762,1221],{},[10,2764,1224],{},[10,2766,2767],{},[19,2768,1229],{},[10,2770,1232],{},[10,2772,2773],{},[19,2774,1237],{},[10,2776,1240],{},[45,2778,1244],{"id":1243},[1246,2780,2782],{"className":2781,"code":1250,"language":1251,"meta":1252},[1249],[1254,2783,1250],{"__ignoreMap":1252},[10,2785,1258],{},[10,2787,1261],{},[10,2789,1264],{},[45,2791,1268],{"id":1267},[272,2793,2794,2802],{},[275,2795,2796],{},[278,2797,2798,2800],{},[281,2799,1277],{},[281,2801,1280],{},[291,2803,2804,2810,2816,2822,2828,2834,2840,2846,2852],{},[278,2805,2806,2808],{},[296,2807,1287],{},[296,2809,1290],{},[278,2811,2812,2814],{},[296,2813,1295],{},[296,2815,1298],{},[278,2817,2818,2820],{},[296,2819,1303],{},[296,2821,1306],{},[278,2823,2824,2826],{},[296,2825,1311],{},[296,2827,1314],{},[278,2829,2830,2832],{},[296,2831,1319],{},[296,2833,1322],{},[278,2835,2836,2838],{},[296,2837,1327],{},[296,2839,1330],{},[278,2841,2842,2844],{},[296,2843,1335],{},[296,2845,1338],{},[278,2847,2848,2850],{},[296,2849,1343],{},[296,2851,1346],{},[278,2853,2854,2856],{},[296,2855,1351],{},[296,2857,1354],{},[10,2859,1357],{},[23,2861,1361],{"id":1360},[10,2863,1364],{},[10,2865,2866],{},[19,2867,1369],{},[10,2869,1372],{},[45,2871,1376],{"id":1375},[10,2873,1379],{},[53,2875,2876,2878,2880,2882,2884,2886,2888],{},[56,2877,1384],{},[56,2879,1387],{},[56,2881,1390],{},[56,2883,1393],{},[56,2885,1396],{},[56,2887,1399],{},[56,2889,1402],{},[10,2891,1405],{},[45,2893,1409],{"id":1408},[10,2895,1412],{},[53,2897,2898,2900,2902,2904,2906,2908,2910],{},[56,2899,1417],{},[56,2901,1420],{},[56,2903,1423],{},[56,2905,1426],{},[56,2907,1429],{},[56,2909,934],{},[56,2911,1434],{},[10,2913,1437],{},[45,2915,1441],{"id":1440},[10,2917,1444],{},[53,2919,2920,2922,2924,2926,2928,2930],{},[56,2921,1449],{},[56,2923,1452],{},[56,2925,1455],{},[56,2927,1458],{},[56,2929,1461],{},[56,2931,1464],{},[10,2933,1467],{},[45,2935,1471],{"id":1470},[10,2937,1474],{},[272,2939,2940,2948],{},[275,2941,2942],{},[278,2943,2944,2946],{},[281,2945,1483],{},[281,2947,1486],{},[291,2949,2950,2956,2962,2968,2974,2980,2986,2992,2998,3004],{},[278,2951,2952,2954],{},[296,2953,1493],{},[296,2955,1496],{},[278,2957,2958,2960],{},[296,2959,1501],{},[296,2961,1504],{},[278,2963,2964,2966],{},[296,2965,1509],{},[296,2967,1512],{},[278,2969,2970,2972],{},[296,2971,1517],{},[296,2973,1520],{},[278,2975,2976,2978],{},[296,2977,1525],{},[296,2979,1528],{},[278,2981,2982,2984],{},[296,2983,1533],{},[296,2985,1536],{},[278,2987,2988,2990],{},[296,2989,1541],{},[296,2991,1544],{},[278,2993,2994,2996],{},[296,2995,1549],{},[296,2997,1552],{},[278,2999,3000,3002],{},[296,3001,1557],{},[296,3003,1560],{},[278,3005,3006,3008],{},[296,3007,1565],{},[296,3009,1568],{},[10,3011,1571],{},[10,3013,1574],{},[23,3015,1578],{"id":1577},[10,3017,1581],{},[10,3019,1584],{},[10,3021,3022,1590],{},[19,3023,1589],{},[10,3025,3026,1596],{},[19,3027,1595],{},[10,3029,3030,1602],{},[19,3031,1601],{},[10,3033,3034,1608],{},[19,3035,1607],{},[10,3037,3038,1614],{},[19,3039,1613],{},[10,3041,3042,1620],{},[19,3043,1619],{},[10,3045,3046,1626],{},[19,3047,1625],{},[10,3049,3050,1632],{},[19,3051,1631],{},[23,3053,1636],{"id":1635},[10,3055,1639],{},[10,3057,1642],{},[10,3059,1645],{},[10,3061,3062],{},[19,3063,1650],{},[10,3065,1653],{},[10,3067,3068],{},[19,3069,1658],{},[10,3071,1661],{},[10,3073,3074],{},[19,3075,1666],{},[10,3077,1669],{},[10,3079,3080],{},[19,3081,1674],{},[10,3083,1677],{},[10,3085,3086],{},[19,3087,1682],{},[10,3089,1685],{},[10,3091,3092],{},[19,3093,1690],{},[10,3095,1693],{},[10,3097,1696],{},[53,3099,3100,3102,3104,3106,3108],{},[56,3101,1701],{},[56,3103,1704],{},[56,3105,1707],{},[56,3107,1710],{},[56,3109,1713],{},[23,3111,1717],{"id":1716},[10,3113,1720],{},[10,3115,3116],{},[19,3117,1725],{},[10,3119,1728],{},[10,3121,1731],{},[10,3123,1734],{},[53,3125,3126,3128,3130,3132,3134,3136,3138,3140,3142],{},[56,3127,1739],{},[56,3129,1742],{},[56,3131,1745],{},[56,3133,1748],{},[56,3135,1751],{},[56,3137,1754],{},[56,3139,1757],{},[56,3141,1760],{},[56,3143,1763],{},[10,3145,1766],{},[10,3147,1769],{},[10,3149,1772],{},[10,3151,1775],{},[10,3153,3154],{},[19,3155,1780],{},[23,3157,1783],{"id":1783},[10,3159,1786],{},[110,3161,3162,3167,3172,3177,3182,3187,3192,3197,3202,3207],{},[56,3163,3164,1795],{},[252,3165,1794],{"href":254,"rel":3166},[256],[56,3168,3169,1802],{},[252,3170,1801],{"href":265,"rel":3171},[256],[56,3173,3174,1809],{},[252,3175,1808],{"href":443,"rel":3176},[256],[56,3178,3179,1816],{},[252,3180,1815],{"href":491,"rel":3181},[256],[56,3183,3184,1823],{},[252,3185,1822],{"href":522,"rel":3186},[256],[56,3188,3189,1830],{},[252,3190,1829],{"href":549,"rel":3191},[256],[56,3193,3194,1838],{},[252,3195,1837],{"href":1835,"rel":3196},[256],[56,3198,3199,1846],{},[252,3200,1845],{"href":1843,"rel":3201},[256],[56,3203,3204,1854],{},[252,3205,1853],{"href":1851,"rel":3206},[256],[56,3208,3209,1862],{},[252,3210,1861],{"href":1859,"rel":3211},[256],[1864,3213],{},[10,3215,3216],{},[13,3217,1870],{},[10,3219,1873],{},{"title":1252,"searchDepth":1875,"depth":1875,"links":3221},[3222,3226,3229,3236,3245,3246,3251,3257,3258,3259,3260],{"id":25,"depth":1875,"text":26,"children":3223},[3224,3225],{"id":47,"depth":1880,"text":48},{"id":148,"depth":1880,"text":149},{"id":209,"depth":1875,"text":210,"children":3227},[3228],{"id":219,"depth":1880,"text":220},{"id":398,"depth":1875,"text":399,"children":3230},[3231,3232,3233,3234,3235],{"id":405,"depth":1880,"text":406},{"id":448,"depth":1880,"text":449},{"id":496,"depth":1880,"text":497},{"id":527,"depth":1880,"text":528},{"id":554,"depth":1880,"text":555},{"id":599,"depth":1875,"text":600,"children":3237},[3238,3239,3240,3241,3242,3243,3244],{"id":606,"depth":1880,"text":607},{"id":675,"depth":1880,"text":676},{"id":728,"depth":1880,"text":729},{"id":834,"depth":1880,"text":835},{"id":904,"depth":1880,"text":905},{"id":980,"depth":1880,"text":981},{"id":1063,"depth":1880,"text":1064},{"id":1108,"depth":1875,"text":1109},{"id":1200,"depth":1875,"text":1201,"children":3247},[3248,3249,3250],{"id":1215,"depth":1880,"text":1216},{"id":1243,"depth":1880,"text":1244},{"id":1267,"depth":1880,"text":1268},{"id":1360,"depth":1875,"text":1361,"children":3252},[3253,3254,3255,3256],{"id":1375,"depth":1880,"text":1376},{"id":1408,"depth":1880,"text":1409},{"id":1440,"depth":1880,"text":1441},{"id":1470,"depth":1880,"text":1471},{"id":1577,"depth":1875,"text":1578},{"id":1635,"depth":1875,"text":1636},{"id":1716,"depth":1875,"text":1717},{"id":1783,"depth":1875,"text":1783},{},{"title":5,"description":15},1794040654545]