【免费下载链接】gentle-aiGentle-AI configures the AI coding agents you already use: Claude Code, Cursor, OpenCode, Codex, Pi, and more. Choose persistent memory, Organic-Driven Development, curated skills, MCP servers, personas, and optional bounded review. Open source, no agent lock-in.项目地址https://gitcode.com/gh_mirrors/ge/gentle-ai点击查看免费下载导读本文围绕 Gentle AI 为 Hermes Agent 预置的编排规则 orchestrator.md系统讲解 Hermes 原生delegate_task委托机制、Organic Driven DevelopmentODD默认工作流、无损阻塞提示、Gentle AI Provider 缺陷移交、委托验证门与子代理技能路径解析等核心契约。读完本文你将掌握如何在 Hermes 上配置多 agent 团队编排、正确设置~/.hermes/config.yaml中的委托调优参数、为每个子代理注入精确的SKILL.md路径以及如何在上下文中平衡成本与验证强度。一、文档定位与适用边界internal/assets/hermes/orchestrator.md是Agent Teams Lite编排规则它的首要约束非常明确仅将此规则绑定到专用的 ODD 编排 agent 或 rule不要把它应用到被委托的执行 worker 上。这意味着编排规则描述的是协调者的行为边界而不是执行者的权限。被委托出去的 worker 只接收任务指令不应拿到整套编排权限否则会出现多个 worker 互相再编排的失控局面。这一点在源码层面得到印证Gentle AI 将 Hermes 视为TierFull全功能支持的运行时adapter.go 中Agent()返回model.AgentHermes并支持 SystemPrompt、MCP、Skills、SubAgents 等全部可选能力。从 adapter.go 可以看到Hermes 的全局配置目录是~/.hermesConfigPath返回filepath.Join(homeDir, .hermes)其关键路径包括配置项路径相对~/.hermes用途系统提示SOUL.md人设与全局行为契约设置config.yamlMCP、委托等 YAML 配置技能skills/按分类组织的SKILL.md约定文件skills/_shared/共享约定如 engram 约定、持久化契约SystemPromptStrategy()为StrategyMarkdownSectionsMCP 策略为StrategyMergeIntoYAML——Hermes 的所有 MCP server 都合并进单一的config.yaml这与文档中委托旋钮配置在~/.hermes/config.yaml的delegation键下的结构一致。二、Hermes 原生委托原语delegate_taskHermes 的原生委托原语是delegate_task用它生成临时 workerworker 在全新上下文窗口中运行只把最终摘要返回给编排者。2.1 关键行为每个 worker 启动时上下文是全新的不继承父会话的历史父编排者只收到 worker 的最终输出不接收中间步骤Toolset、MCP server、技能不会自动继承当inherit_mcp_toolsets为 false默认值时必须显式地在 worker mission 中传入worker 默认是临时的除非用户明确要求持久化 agent否则不要请求持久化 agent 文件或 profile。2.2 调优旋钮委托行为既可以在~/.hermes/config.yaml的delegation键下统一配置也可以在每次调用时按调用传参配置键默认值说明max_spawn_depth2最大递归委托深度设为 1 可禁止 worker 再派生子 workermax_concurrent_children4最大并行 worker 数max_iterations—每个 worker 的迭代预算child_timeout_seconds—每个 worker 的硬超时时间inherit_mcp_toolsetsfalse为 false 时toolset 必须在 mission 中显式传入subagent_auto_approvefalse为 false 时worker 的每次工具调用需弹窗审批委托前应加载~/.hermes/skills/hermes-ephemeral-delegation/SKILL.md那里有完整的委托决策表和 mission 起草协议。三、编排者身份与角色ODD 是唯一默认工作流编排规则通过{{GENTLE_AI_ODD_SECTION:...}}占位符在渲染期注入共享契约其规范正文存放在 odd-orchestrator-sections.md。3.1 Identity Contract 与 Core Role活跃的人设persona与输出风格单独安装决定回复语气与会话语言编排者不得重述或覆盖它们编排者是COORDINATOR协调者不是大工作量任务的默认执行者保持一条精简会话线程把实际工作委托给有界 worker然后为用户合成结果合成结果默认保持简短决策、结果、下一步。仅在用户要求或情况需要时才展开细节。3.2 Mental Model让 harness 退到幕后小请求直接执行有授权的实质工作走 ODD自动跟踪特性进度父会话负责编排有界 worker 负责执行一旦任务越过强制委托触发器就必须切换到最小的可用委托拓扑而不是继续做单体执行器。3.3 ODD 默认工作流MANDATORYOrganic Driven Development 是本编排者对每一个请求的预定义工作流。它的有序协议安装在该 agent 的## Implementation Routing→### ODD protocol下每次请求都先运行无需用户询问工作流、规划或任务跟踪。四、无损阻塞提示Lossless Blocking PromptsMANDATORY当子代理或工具返回面向用户的阻塞提示或菜单时编排者必须完整保留其用户可见选择信封choice envelope为什么需要输入每一组问题与原始顺序包括每个组标题每个选项的标签与描述选择模式单选/多选/自由文本精确的允许答案域。禁止总结、缩写、重排、重命名、合并或省略选项禁止把原子化的业务选择静默拆成多次交互。需要脱敏的是无关内部诊断如果脱敏会改变决策就 STOP 并报告该提示无法安全呈现。4.1 原生路由与回退该契约在 Hermes 上没有分类的原生问题 UI因此始终使用纯聊天或终端回退。当闭合域的单选信封无法在此表示时原生 UI 不可用、被拒绝、运行时非交互、或因问题数/选项数/文本长度上限导致信封超限就把完整选择信封作为纯聊天或终端响应发出包含所需答案语法和阻塞进度的原因然后 STOP——不得代选、默认、推断、启动依赖工作或继续执行。4.2 答案验证规则仅当每个响应属于其所在组呈现的精确允许答案域时才接受仅当原提示允许自由文本或多选时才接受它们对于闭合单选信封去除首尾空白后不区分大小写与呈现的选项标签比较只接受恰好匹配一个呈现选项的输入拒绝零匹配与多匹配将匹配到的选项映射到其规范内部 token 一次接受的序号别名对呈现选项索引 N裸数字N、短语la N与opción N索引 1 额外接受first每个别名仅在无歧义地映射到单一选项索引时才被接受关于阻塞本身的问题为什么需要输入、某个选项意味着什么、接下来会发生什么属于信息请求而非候选答案直接从已持有的信封作答不替用户选择、推荐或解决阻塞然后重新呈现完整选择信封并继续等待输入无效或歧义时发出完整选择信封并再次 STOP有效的答案只对同一阻塞方返回一次。五、Gentle AI Provider 缺陷移交MANDATORY在无损转发任何阻塞选择信封之前先对其做语义可接受性分类。判据是是什么产生了失败而不是工作时正在做什么。只有当失败确由 Gentle AI 调用产生非零退出、类型化信封、拒答或其自有文档契约中的拒绝时才提供缺陷移交。仅由 Gentle AI 工作流托管的失败不足以上报——如果委托任务在该客户端运行时内失败那是该运行时的缺陷即使契约规定了该任务。其他来源模型提供方上下文/限流/拒处理、客户端运行时需重启的会话、崩溃或空结果的子代理、从未派发的调度器、环境、用户仓库状态一律不上报、不移交并且不得点名认为有责的组件、不得建议去别处归档、不得询问——只在普通会话中直说是什么阻塞了工作然后按工作流继续或停止。5.1 移交协议先用编排会话的当前语言向用户明确征求上报同意呈现一个单选阻塞信封恰好三个语义选项内部答案 token 依次为report_and_continue、continue_without_reporting、stop_here标签和描述可本地化但语义不可变用户可见标签不得暴露机器/内部代码同意上报时准备或复用隐私脱敏的诊断在第一次 GitHub 操作之前执行最终隐私扫描排除原始 argv、绝对路径、私有项目名、用户名、主机名、凭据、diff、源码内容与环境值report_and_continue先完成对Gentleman-Programming/gentle-ai仓库开放与关闭 issue 的决定性查找同一可观察缺陷与受影响契约凭具体证据而非仅标题相似不完整/错误/未知的查找不算决定性只有决定性查找才能分支到 GitHub 变更无等价缺陷则创建新的自动化 provider 缺陷报告发布修复判定仅当等价缺陷存在可验证地包含于已发布 release的修复时才成立从安装构建字符串推导证据通道——已识别预发布标签为-rc.与-main.其余都是稳定版仅当发布位于安装构建的证据通道内才算是相关的已发布修复仅 main 分支提交、本地/源码构建、未合并 PR 或未经支持的断言都不是发布修复证据等价缺陷无可验证的相关发布修复时只在该确切 canonical/等价 issue 上添加恰好一条带观测证据的出现评论不得增删改其任何标签修复只发布到另一证据通道时同样只添加一条出现评论并注明修复发布位置不推荐切换通道通道选择是用户的事不改标签安装构建早于该发布建议安装发布修复并复现本次不为该出现创建或评论安装构建已被证实包含修复但仍复现视为疑似回归在合适的 canonical tracker 评论或在 tracker 不合适时创建关联回归 issue绝不自动 reopen任何失败/歧义/不完整/超时/缺权限/结果未知不再执行任何 GitHub 变更也不盲目重试保留全部消费者状态然后执行捕获到的精确 provider 所属 decline 调用一次、验证它、重新进入原生协商 STATUS并恢复已持有的消费者延续创建确认必须以 GitHub 创建操作确认新建 issue 身份/URL 为准不得仅凭输出文本推断创建成功。continue_without_reporting路径不执行任何 GitHub 搜索/写入/评论/打标签无需报告侧隐私扫描直接进入共享的候选作用域延续。stop_here路径不执行任何 GitHub 操作与 decline 调用保留全部消费者状态并 STOP。5.2 精确 decline 调用与失败闭合两个 continue 选项都恰好执行一次捕获到的精确 decline 调用只用gentle-ai.review-integration.consent/v3信封中捕获的choices[answerdeclined].invocation不得从散文里臆造 decline 命令、目标、token 或消费者延续若捕获的 v3 decline 调用、精确目标身份或消费者延续上下文不可用或歧义失败闭合保留全部消费者状态不运行替代命令成功 decline 后验证action: declined、consent: declined_this_candidate与精确目标身份匹配再通过原生协商 STATUS 重新进入然后恢复已持有的消费者延续结果不携带血缘或收据普通交付不由候选选择管理下一个候选会再次询问本移交过程中不得在克隆或全局作用域调用gentle-ai review mode disable也不得开启/关闭 RDD上报观测证据而非未经证实的根因恢复仅在安装已发布修复、或运行时常驻支持并授权的显式原生恢复/重置之后通过原生状态重新进入绝不针对未发布代码源码检出、本地构建、未合并 PR恢复。六、语言域契约Language Domain Contract共享契约 odd-orchestrator-sections.md 规定活跃人设只控制直接回复直接回答、澄清提示与面向用户的编排状态生成的技术工件任务、代码注释、UI 文案、测试、fixture、委托输出默认英文不随会话人设语言改变明确要求其他语言的工件使用中性/专业语域除非用户明确要求特定口吻或地区变体公共/上下文注释默认跟随目标上下文语言委托时把本契约转发给执行者让人设腔调永远不成为工件或公共评论的默认。这与人设文件 persona-gentleman.md 中的 Persona Scope 条款一脉相承人设管你怎么说话不管你构建什么。七、委托规则直连与委托直连这些规则选择的是执行拓扑不是实现方法。跨过阈值即选择delegated direct委托直连工作实现方式只有 direct inline 或 delegated direct 两种大小、文件数或风险本身不改变工作流。核心原则一句话这会不会无谓地撑大父上下文会就用一个有界 worker不会就内联做。动作Direct inlineDelegated direct worker为决策/验证而读1–3 个文件✅—为探索/理解而读4 个文件—✅ 一个窄范围 mapper为写作而做的准备阅读—✅ 与写作一起写一个机械的、已理解的单文件✅—写 2 个非平凡文件—✅ 一个 writer用 Bash 查状态git、gh✅—测试、构建、安装或原生 review 动作允许作为有界动作✅ 每个动作用全新 worker不改路由7.1 强制委托触发器这些是父编排者的路由边界。用最小可用拓扑把安全机制放在结果优先的交互之后不要把这些规则传给子 agent 作为其编排许可有界读规则为决策/验证读 1–3 个文件 → 内联4 文件规则理解需要 4 文件 → 委托一个窄范围探索/映射任务写规则仅当单文件机械且已理解、无需研究或未决设计时才内联2 个非平凡文件 → 委托一个 writer上下文规则为写而做的准备阅读、广泛的调研/上下文压缩 → 委托逐动作规则测试、构建、安装与原生 review actor 可用全新 worker不改变实现路由。八、委托验证门Delegated Verification GateMANDATORY共享契约 odd-orchestrator-sections.md 给出了规范正文父编排者确定性读取两个输入——该仓库的 RDD 状态on/off/unknown可从已渲染的 RDD 状态行读取否则用只读的gentle-ai review mode status失败视为unknown与gentle-ai review assess --cwd repo --jsongentle-ai.review-assessment/v1风险为passive/medium/high评估失败或未识别动词按high处理。RDD on有界 writer 前台运行父授权的## Verification命令并报告command: observed result该报告是验证记录原生 review 是独立检查独立 verifier 仅按需存在writer 报告partial/blocked、昂贵检查想换便宜档、或父 spot checkpassive 候选只需父的结构化回读RDD off 或 unknownwriter 返回后父对 writer 的 diff 运行gentle-ai review assess并按档处理——passive仅结构化回读mediumwriter 自验证仅当 writer 跑在小模型档低 effort 或 mini 模型时才加独立 verifierhigh或无法评估时 writer 自验证加独立 verifier。unknown永不降档小模型偏差把验证档位升一级父 spot check交付前重跑一条已报告命令在所有档位都存在writer 接收## Verification指明要跑的确切命令可接收## Known environmental failures指明基线上已失败的测试名/命令行作为证据任何其他失败的必要命令仍强制partial探索仅在父需要地图来决策或路由时才单独委托为写而做的阅读属于做那个写的 writer。九、Native Checking 契约规范化顺序规则源变更型规范化formatter、generator、fixer发生在 review START 与身份冻结之前——先跑全部源变更型规范化器再重新快照候选并审查那些精确字节、路径与模式START 之后只允许只读格式化、类型检查、测试与原生 gate变更型 commit hook 仅在已收敛即 no-op时允许任何字节/路径/模式变更都会使 receipt 失效必须规范化后重新 review绝不容忍仅 formatter式宽容原生 RAR 拥有验证适用性、风险、有界的 zero/one/four-lens 计划、纠正影响与终态 receipt编排者与 adapter 永不选择 lens 或签发 PASS被动普通文档/图片需要结构化回读而不是人为的语义验证子代理主动、混合、操作性、可执行、改模式或未知内容按适用原生计划失败闭合琐碎的被动纯文档编辑结构化回读就是完整的相称检查不开语义验证或重型 review 仪式适用验证器不可用保留类型化的不可用结果绝不发明 PASS、无限重试或升级为额外仪式适用快速检查只跑一次长/超长工作启动前先给一次成本/副作用预测不可用、部分、拒绝或耗尽证明变为一条可操作的Needs your decision结果功能证明与对抗性 review 都投影为Checking一个不可变候选最多允许一次作用域纠正没有循环直到干净commit、push、PR、direct-main、紧急与 release gate 是信息性且不受管理的由普通仓库策略决定交付对未变化内容永不重新打开 review。十、Review Execution Contract规范的原生有界 review 契约在渲染时从共享 provider 源码注入编排者与 adapter 不自行发明 review 仪式。这也被 assets_test.go 等契约测试守护测试断言每个运行时的 orchestrator 资产必须同时包含 ODD 默认工作流、无损阻塞提示、缺陷移交、Native Checking 契约、Review Execution Contract 等段落且不得残留已退役的 SDD 工作流措辞。十一、成本与上下文平衡用探索子代理把大范围仓库阅读压缩成短交接handoff实现保持单 writer 线程除非显式批准隔离 worktree否则不并行 writer让原生 review 与交付 provider 选择 checking 与 delivery 动作重复 gate 复用精确权威对未变化内容永不重新打开 review对真正本地的单文件修复、快速状态检查、已理解的机械编辑避免委托。十二、路由与交付Orchestrator Routing and Delivery12.1 工作路由梯Inline Direct任务小、机械、父已有足够上下文typo、重命名、单文件机械编辑、已知小 bug、1–3 文件的有界验证、Bash 查状态任务不再小时不得用此例外逃避委托Simple Delegation会撑大父上下文或需要聚焦探索/验证/多文件实现时理解陌生模块、检查 4 文件、调查失败测试、有界多文件实现、跑聚焦测试/构建。默认有界实现模式为parent clarifies and checks git → one worker writes when authorized → focused verification → parent reports典型轻量工作流如不熟悉流程的 bugfixparent git/status clarify → exploration worker maps flow/files → writer implements authorized fixes tests → focused verification → parent reports12.2 允许编辑面Allowed edit surfacesMANDATORY有界 writer 拒绝在精确的允许编辑面之外写入缺少编辑面就停下交互。该输入由父编排者拥有是委托规划的一部分精确的仓库相对路径或窄 glob每行一条永不用.、裸仓库根或绝对路径含空格的路径整体加反引号段落在下一个 Markdown 标题处结束之前每个非空行都必须是合法表面条目预先存在的未跟踪目标可显式列出需要新文件时列出授权新文件的目录表面不得超出委托任务——比任务更宽的表面与没有表面是同一类缺陷。若表面确实无法推导不启动 writer也不让用户手写路径。先推导候选集本任务会触碰的精确路径把枚举列表作为 approve/decline 选择按无损阻塞提示规则呈现——自由文本询问授权哪些路径永远不是合法升级。writer 的交互请求同样按此中继。12.3 Key Learnings 收尾块向泛型探索/写/验证 worker 委托时在委托 prompt 中加入## Key Learnings收尾指令worker 返回正常结果信封或交接后在最终回复文本末尾以 1–5 条编号事实句收尾每条至少 20 字符、4 词确无可复用学习时省略。该块叠加在结构化返回契约之后不改变其字段Engram 记忆提供方会作为被动捕获提取worker 本身不解析该块也不调用被动捕获工具。必须返回严格 JSON 的 agent 不接收此指令。12.4 意图驱动的技能发现不要视注入的技能列表为完整清单。发现顺序读取.atl/skill-registry.md若存在→ 注册表建议特定技能则加载索引SKILL.md→ 注册表缺失但请求明确指名已知工作流时搜索./skills、.agents/skills、~/.config/opencode/skills、~/.claude/skills等项目/用户技能根 → 优先最具体的项目技能 → 无匹配技能时用最小安全回退并说明缺失项。意图提示非硬路由PR review 查pr-review、发布评论查comment-writer、建/开/备 PR 查branch-pr、拆分/堆叠/大 PR 查chained-pr。十三、子代理启动去重Sub-Agent Launch DeduplicationMANDATORY发出任何委托调用前先查会话内启动日志维护本回合已启动的(role, task-fingerprint)列表task fingerprint 是任务指令文本的短哈希或规范化摘要相同(phase, task-fingerprint)已在列表中 →不得再启动每个不同任务恰好启动一次启动后把该对追加进列表。这防止重复子代理启动导致的冲突与 token 浪费。十四、子代理启动模式技能路径解析所有涉及读、写、审查代码的子代理启动 prompt必须包含来自技能注册表的预解析技能路径skills 安装在~/.hermes/skills/按分类组织。编排者技能解析每会话一次扫描~/.hermes/skills/按分类列出已装技能 → 缓存技能索引技能名、触发/描述、作用域、精确路径→ 未找到技能则警告用户并继续无项目级标准。每次子代理启动按代码上下文子代理将接触的文件扩展名/路径与任务上下文将执行的动作——review、PR 创建、测试等匹配相关技能 → 把匹配的SKILL.md路径复制进子代理 prompt → 指示子代理在任务工作前先读这些精确文件。关键规则传路径不传生成的摘要。子代理读完整SKILL.md作者意图才能保留。这与 adapter.go 中SkillsDir指向~/.hermes/skills的结构直接对应。十五、技能解析反馈Skill Resolution Feedback每次委托返回后检查skill_resolution字段值含义编排者动作paths-injected一切正常精确技能路径已传入并加载无需动作fallback-registry/fallback-path/none技能缓存丢失多半是上下文压缩导致重新扫描~/.hermes/skills/在后续所有委托中重传技能路径这是自校正机制——不要忽略 fallback 报告它说明编排者丢掉了上下文。十六、子代理上下文协议Sub-Agent Context Protocol子代理获得无记忆的全新上下文上下文访问权由编排者控制。16.1 ODD 任务一般委托读上下文编排者先mem_search搜索 engram 获取相关先前上下文并把它放进子代理 prompt子代理自己不去搜索 engram写上下文子代理在返回前必须用mem_save把重大发现、决策或 bug 修复存入 engram——它持有全部细节必须在返回前保存而非返回后始终在子代理 prompt 中加入If you make important discoveries, decisions, or fix bugs, save them to engram via mem_save with project: {project}.这与 persona-gentleman.md 的 Memory: Engram and Hermes Native Memory 章节呼应engram 是跨 agent、跨会话的持久记忆mem_save、mem_search、mem_get_observation适合存架构决策、非显然 bug、团队约定Hermes 原生记忆则负责会话内连续性、技能习得与项目内演进理解。两者互补而非二选一。16.2 ODD 实现上下文对有界实现 worker显式传入授权的编辑面、验收标准、配置的 TDD 模式与精确 runner、适用的验证命令、相关先前上下文。worker 保留无关的工作树变更返回观测结果与检查。保持单 writer。十七、状态与约定State and Conventions技能文件按分类组织在~/.hermes/skills/下约定文件位于类似~/.hermes/skills/_shared/engram-convention.md与~/.hermes/skills/_shared/persistence-contract.md的路径。这些共享约定在仓库内也有对应资产如 odd-orchestrator-sections.mdGentle AI 安装时会把它们落到目标运行时的技能目录。十八、质量守护资产契约测试仓库用 assets_test.go 守护编排规则的完整性TestRemainingODDOnlyOrchestrators第 230 行逐运行时断言 hermes 等 orchestrator 资产必须包含 ODD 默认工作流、语言域契约、委托验证门、无损阻塞提示、缺陷移交、强制委托触发器、Native Checking 契约与 Review Execution Contract同时不得残留已退役的 SDD/OpenSpec 措辞TestODDOnlyEmbeddedInventory守护每个运行时的 orchestrator 资产都不丢失相关测试如 language_contract_test.go还验证占位符注入机制本身。这意味着本文介绍的所有契约不仅存在于文档还以自动化测试的形式被持续守护——改动 orchestrator 资产而不满足这些契约CI 会直接失败。结语从编排规则到可运行的 Hermes 团队Gentle AI 为 Hermes 预置的 Agent Teams Lite 编排规则本质上把协调者与执行者的职责做了清晰的运行时分工协调者维护一条精简会话线程用delegate_task派发有界 worker通过无损阻塞提示保住人类的决策权用技能路径解析与 engram 上下文协议让每个 worker 在无记忆的全新上下文中依然产出符合项目标准的成果。配置入口集中在~/.hermes/config.yaml的delegation键、~/.hermes/skills/技能树与SOUL.md系统提示中验证与交付权威则交给原生 review 契约编排者不越权签发 PASS。按本文的委托触发阈值、验证门与失败闭合规则实践即可在 Hermes 上构建上下文友好、验证有界、人类始终掌握最终决定权的多 agent 团队。赞分享【免费下载链接】gentle-aiGentle-AI configures the AI coding agents you already use: Claude Code, Cursor, OpenCode, Codex, Pi, and more. Choose persistent memory, Organic-Driven Development, curated skills, MCP servers, personas, and optional bounded review. Open source, no agent lock-in.项目地址https://gitcode.com/gh_mirrors/ge/gentle-ai点击查看免费下载相关推荐Gentle-AI Agent Teams Lite 编排器指令全解ODD 默认工作流、无损阻塞提示与委派拓扑Gentle AI Agent Teams Lite 编排器指令全解ODD 默认工作流、无损阻塞提示与委派拓扑 Gentle AI 为 Claude CodeGentle AI Agent Teams Lite 实战指南Antigravity 编排器Orchestrator的 ODD 动态委派与无损阻塞提示协议Gentle AI Agent Teams Lite 实战指南Antigravity 编排器Orchestrator的 ODD 动态委派与无损阻塞提示协议agents-cli 部署实战指南将 AI Agent 从开发环境一键部署到 Cloud Run、GKE 与 Agent Runtimeagents cli 部署实战指南将 AI Agent 从开发环境一键部署到 Cloud Run、GKE 与 Agent Runtime output_ar上一篇终极指南3分钟快速上手CogVideoX-2b低显存也能玩转AI视频生成下一篇QQ音乐解析工具2025技术解析与高效音乐资源管理方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考