深入源码:Hermes Agent 如何实现 “Self-Improving“
背景OpenRouter 排行榜上正在发生一场换代Hermes Agent 增速 204%Top Coding Agents 排第一Top Productivity 排第二。上线不到半年GitHub 从 0 到 106k Star。开发者在用数据说话——选的不是另一个 OpenClaw是一种完全不同的东西区别在哪OpenClaw 的 Skill 是手写的 Markdown 文件——你写多少它会多少你不写它就不会。Hermes 做了一件 OpenClaw 架构上做不了的事Agent 干完活之后会自动把踩坑经验提炼成可复用的 Skill下次遇到同类问题直接调用。用得越久能力越强。这不是功能差异是设计哲学的分野——一个靠人喂一个自己长。这篇文章拆开 Hermes 的源码看看这个 Self-Improving 闭环到底怎么跑的。文末也会聊聊 RDSHermes 怎么把这套能力搬给不写代码的人用。仓库地址github.com/NousResearch/hermes-agent总览三个子系统一个闭环大多数 Agent 每次会话结束后就失忆了。Hermes 在内部搭了一套学习闭环由三个子系统撑起来打个比方Memory 是助理随身带的小本子记着老板喜欢喝美式这些事实Skill 是助理积累的操作手册——部署 K8s 第 2 步一定要先推镜像Nudge Engine 是定时响的闹钟提醒助理回头想想有没有什么值得记的。Memory越用越懂你两个文件就是 Agent 对你的全部认知Memory 系统设计得很克制——两个纯文本文件用 § 分隔条目~/.hermes/memories/ ├── MEMORY.md # Agent 的个人笔记环境事实、项目约定、工具怪癖 └── USER.md # Agent 对用户的认知偏好、沟通风格、工作习惯字符上限故意设得很紧MEMORY 限 2200 charsUSER 限 1375 chars。容量有限就迫使 Agent 挑重要的记不重要的自然被挤掉。对比 OpenClaw——它的 MEMORY.md 是纯追加模式用几个月就膨胀成几万行的怪兽文件找几个月前的一句话只能笨拙地通读全文。Hermes 的做法反过来容量有限就倒逼 Agent 做信息压缩过时的自然被挤掉留下的都是高密度事实。具体实现上MemoryStore 维护两组平行状态——实时可写的条目列表和会话开始时冻结的快照# tools/memory_tool.py:116-122 class MemoryStore: def __init__(self, memory_char_limit2200, user_char_limit1375): self.memory_entries: List[str] [ ] self.user_entries: List[str] [ ] self.memory_char_limit memory_char_limit self.user_char_limit user_char_limit self._system_prompt_snapshot: Dict[str, str] {memory: , user: }但设了上限只是第一步关键是超限之后怎么处理。Hermes 不会静默丢弃旧条目也不会自动压缩——它选择让 add 直接失败然后把当前所有条目返回给模型# tools/memory_tool.py:248-259 if new_total limit: current self._char_count(target) return { success: False, error: ( fMemory at {current:,}/{limit:,} chars. fAdding this entry ({len(content)} chars) would exceed the limit. fReplace or remove existing entries first. ), current_entries: entries, usage: f{current:,}/{limit:,}, }错误信息里一句 Replace or remove existing entries first 就把模型引导到了 replace 和 remove 操作上。同时返回 current_entries让模型能看到现有的所有条目自己决定哪些过时了该删、哪些可以合并压缩。模型不是被动地执行淘汰规则而是主动做信息整理——这本身就是一次自我反思冻结快照机制每次会话启动时Memory 加载后立刻捕获一份快照之后系统提示词里用的都是这份快照# tools/memory_tool.py:124-140 def load_from_disk(self): mem_dir get_memory_dir() self.memory_entries self._read_file(mem_dir / MEMORY.md) self.user_entries self._read_file(mem_dir / USER.md) # 会话开始时冻结快照之后不再变动 self._system_prompt_snapshot { memory: self._render_block(memory, self.memory_entries), user: self._render_block(user, self.user_entries), }快照注入系统提示词后Agent 还没看到用户消息就已经知道你的环境和偏好了。为什么冻结而不是实时更新因为系统提示词会话内不变就能共享前缀缓存Prefix Cache省掉重复计费。新写入的内容只改磁盘下一个会话才刷新进来。提示词引导什么该记、什么不该记Agent 怎么知道什么时候该往 Memory 里写东西靠 Prompt 引导。系统提示词中的 MEMORY_GUIDANCE# agent/prompt_builder.py:144-162 MEMORY_GUIDANCE ( You have persistent memory across sessions. Save durable facts using the memory tool: user preferences, environment details, tool quirks, and stable conventions.\n Prioritize what reduces future user steering — the most valuable memory is one that prevents the user from having to correct or remind you again.\n Write memories as declarative facts, not instructions to yourself. User prefers concise responses ✓ — Always respond concisely ✗. Project uses pytest with xdist ✓ — Run tests with pytest -n 4 ✗. )注意这里的区别Memory 要求写成声明式事实User prefers concise responses而不是命令式指令Always respond concisely。前者是偏好可以被当前上下文覆盖后者是死命令会限制 Agent 的灵活性。Tool Schema 里还有一句关键的边界规则If youve discovered a new way to do something, save it as a skill. —— Memory 不存操作步骤操作步骤归 Skill 管。这一句话把两个系统的分工画清了。Skill把做过的事变成会做的事Skill 长什么样Memory 是我知道什么Skill 是我会做什么。每个 Skill 是一个目录核心是 SKILL.md 文件~/.hermes/skills/ ├── devops/ │ └── flask-k8s-deploy/ │ ├── SKILL.md # 主指令 │ ├── references/ # 参考文档 │ └── templates/ # 模板文件 └── software-development/ └── fix-pytest-fixtures/ └── SKILL.md一个典型的 SKILL.md--- name: flask-k8s-deploy description: Deploy a Flask app to Kubernetes with health checks version: 1.0.0 --- # Flask K8s Deployment ## When to use - User wants to deploy a Flask/Python app to Kubernetes - User mentions K8s, kubectl, or container deployment ## Steps 1. Create Dockerfile with gunicorn (not dev server) 2. Build and push image to registry BEFORE creating deployment 3. Write deployment.yaml with livenessProbe pointing to /health 4. Write service.yaml with correct port mapping 5. kubectl apply both files 6. Verify with kubectl get pods and kubectl logs ## Pitfalls - MUST push image to registry before kubectl apply, otherwise ImagePullBackOff - Flask 默认没有 /health 端点需要手动添加 - Django 需要额外设置 ALLOWED_HOSTS 环境变量 - livenessProbe path 必须返回 200不能用需要认证的路径Pitfalls 这一节不是预先写好的而是 Agent 踩坑后追加的——这就是 Skill 层面的self-improving。什么时候创建 SkillAgent 不需要用户说帮我创建一个 Skill。驱动力来自 skill_manage 工具的 schema# tools/skill_manager_tool.py:681-701 SKILL_MANAGE_SCHEMA { name: skill_manage, description: ( Manage skills (create, update, delete). Skills are your procedural memory — reusable approaches for recurring task types.\n\n Create when: complex task succeeded (5 calls), errors overcome, user-corrected approach worked, non-trivial workflow discovered, or user asks you to remember a procedure.\n Update when: instructions stale/wrong, OS-specific failures, missing steps or pitfalls found during use. If you used a skill and hit issues not covered by it, patch it immediately with skill_manage(actinotallowpatch) — dont wait to be asked.\n\n After difficult/iterative tasks, offer to save as a skill. Skip for simple one-offs. ), }创建的门槛设得比较清楚工具调用超过 5 次才值得创建简单任务不记、踩过坑再修复的经验才有价值、用户纠正过的做法要铭记。OpenClaw 也有 Skill 系统也是 SKILL.md YAML frontmatter但 Skill 要么是你手写的要么是从社区装的。手写的成本高懒得维护社区装的不是针对你的环境。关键问题是Agent 本身不会从工作中学到任何东西——干了一百次部署第一百零一次犯的错跟第一次一模一样。HN 上有个帖子叫Data Is the Final Moat——当模型智能被商品化、Agent 框架被开源真正的护城河是 Agent 在工作中积累的领域知识。OpenClaw 的 Skill 是手写的配置文件用了一年还是那份手写的配置文件Hermes 的 Skill 是越用越厚的经验资产——每一次踩坑都在加固护城河。这不是 OpenClaw 团队不想做而是它的架构没有为Agent 自主学习预留通路——没有创建触发、没有 patch 机制、没有 review agent。要补这一课是要重写核心架构。Hermes 这边Agent 踩了坑、修了 bug、用了 12 次工具调用才搞定一个部署——这些经验被自动提炼成 Skill下次再遇到同类任务就是 6 次调用零错误。系统提示词里还有一句Skills that arent maintained become liabilities——通过提示词给 Agent 灌输责任感防止它只管创建不管维护。Skill 的自我修补当 Agent 按照已有 Skill 执行但中途发现步骤有遗漏或者踩了新坑时它会在完成任务后回头修补 Skill。不是全量重写而是做精确的局部 patch# tools/skill_manager_tool.py:397-485 def _patch_skill(name, old_string, new_string, file_pathNone, replace_allFalse): Targeted find-and-replace within a skill file. from tools.fuzzy_match import fuzzy_find_and_replace new_content, match_count, _strategy, match_error fuzzy_find_and_replace( content, old_string, new_string, replace_all ) if match_error: return {success: False, error: match_error, file_preview: content[:500]} # ...省略 _validate_content_size、_validate_frontmatter 等校验 # 修改前备份原内容 original_content content _atomic_write_text(target, new_content) # 修改后重新做安全扫描 scan_error _security_scan_skill(skill_dir) if scan_error: _atomic_write_text(target, original_content) # 不通过就回滚 return {success: False, error: scan_error}这里用了 fuzzy_find_and_replace 做模糊匹配——Agent 给出的 old_string 可能跟原文有格式差异模糊匹配能容忍这些差异。每次修改后还要跑一遍 _security_scan_skill()不通过就自动回滚。Agent 在踩完坑的当场就把 Pitfalls 补上了下次同事遇到同样的场景直接绕过去。Skill 的渐进式加载Skill 多了以后不能全塞进系统提示词——这也是 OpenClaw 的一个痛点它采用重型背包模式每次会话把 SOUL.md、IDENTITY.md 和各种设定一股脑塞进上下文设定越多背包越沉Token 浪费严重模型注意力也被稀释。Hermes 更像一座动态图书馆默认上下文极其轻量只放一个轻量索引——每个 Skill 的名字和一句话描述Available skills: devops: - flask-k8s-deploy: Deploy a Flask app to Kubernetes with health checks - nginx-reverse-proxy: Configure Nginx reverse proxy with SSL software-development: - fix-pytest-fixtures: Debug and fix pytest fixture scope issuesAgent 判断某个 Skill 跟当前任务相关时才通过 skill_view 加载完整内容。先看目录再翻全文按需加载。开源版的 Skill 需要 Agent 从零积累。RDSHermes 的 Skill Hub 则提供了另一条路预装智能巡检、慢 SQL 诊断、索引优化等数据库专业技能——Agent 上线第一天就具备领域能力不用等它踩完所有坑。换句话说Skill Hub 解决冷启动自进化解决越用越强——两条腿走路。Nudge Engine谁来提醒 Agent 该学习了Memory 和 Skill 都是存储系统写入需要有人触发。Nudge Engine 就是这个触发器——运行时维护两个计数器定时提醒 Agent 该停下来想想了。两个计数器两种粒度# run_agent.py:1328-1331 — Memory 计数器 self._memory_nudge_interval 10 # 每 10 个用户回合触发一次 self._turns_since_memory 0 # run_agent.py:1428-1431 — Skill 计数器从配置读取默认 10 self._skill_nudge_interval int(skills_config.get(creation_nudge_interval, 10)) self._iters_since_skill 0粒度不同是有道理的Memory 的信息来自用户输入按回合计Skill 的经验来自工具使用过程按迭代计。计数器到阈值就触发审查Agent 主动调用了 memory 或 skill_manage 则重置——已经在做了就不用催。后台 fork Agent不打扰用户的静默审查Nudge 触发后怎么处理它不会在主对话中插一条让我想想有没有什么该记的——那样太打扰用户了。而是在后台 fork 一个独立的 Agent 实例拿着主对话的快照去做审查# run_agent.py:2665-2711 def _spawn_background_review(self, messages_snapshot, review_memoryFalse, review_skillsFalse): def _run_review(): with open(os.devnull, w) as _devnull, \ contextlib.redirect_stdout(_devnull), \ contextlib.redirect_stderr(_devnull): review_agent AIAgent( modelself.model, max_iteratinotallow8, quiet_modeTrue, ) review_agent._memory_store self._memory_store review_agent._memory_enabled self._memory_enabled review_agent._user_profile_enabled self._user_profile_enabled # 禁用 review agent 自身的 nudge否则会无限递归 review_agent._memory_nudge_interval 0 review_agent._skill_nudge_interval 0 review_agent.run_conversation( user_messageprompt, conversation_historymessages_snapshot, ) thread threading.Thread(target_run_review, daemnotallowTrue) thread.start()几个细节输出重定向到 /dev/null用户完全无感知最多 8 次工具调用不会无限消耗 APIreview agent 自身的 nudge 被禁用避免无限递归和主 agent 共享同一份 Memory写入直接生效。干活和反思拆成两个实例互不干扰。Review Agent 靠两套审查提示词决定做什么Memory Review 关注用户偏好和个人信息Skill Review 关注非平凡的解题过程。每个 prompt 都以 If nothing is worth saving, just say Nothing to save. and stop. 收尾——防止 review agent 每次都往里塞东西来交差。审查在响应发送给用户之后才触发用户收到回复后该干嘛干嘛Agent 在后台默默复盘。完整案例从不会到精通的三次会话用一个 K8s 部署场景串一下三个子系统的协同。第 1 次会话冷启动用户: 帮我把这个 Flask 应用部署到 K8s 集群Memory 和 Skills 都是空的Agent 靠基座知识摸索12 次工具调用踩了两个坑iter 1: terminal(kubectl version) → 确认集群版本 iter 2: read_file(app.py) → 读取应用代码 iter 3: write_file(Dockerfile) → 创建 Dockerfile iter 4: terminal(docker build -t myapp .) → 构建镜像 iter 5: write_file(deployment.yaml) → 编写 K8s 部署文件 iter 6: terminal(kubectl apply -f deployment.yaml) → ImagePullBackOff忘记推镜像到 registry iter 7: terminal(docker push myregistry.azurecr.io/myapp) iter 8: terminal(kubectl apply -f deployment.yaml) → 重新部署 iter 9: write_file(service.yaml) → 编写 Service iter 10: terminal(kubectl apply -f service.yaml) iter 11: terminal(kubectl get pods) → CrashLoopBackOfflivenessProbe 路径不对 iter 12: 修改 deployment.yaml → 重新部署 → ✅ 成功12 次迭代触发 Skill ReviewReview Agent 看到两次报错和修复过程创建了一个 SkillReview Agent 执行: → skill_manage(actinotallowcreate, nameflask-k8s-deploy, categorydevops, cnotallow --- name: flask-k8s-deploy description: Deploy a Flask app to Kubernetes with health checks --- ## Steps 1. Create Dockerfile with gunicorn 2. Build and push image to registry BEFORE kubectl apply 3. Write deployment.yaml with livenessProbe → /health ... ## Pitfalls - MUST push image to registry first, otherwise ImagePullBackOff - Flask 默认没有 /health 端点需手动添加 - livenessProbe path 必须返回 200 )安全扫描通过后写入磁盘用户对这一切毫不知情。第 2 次会话Skill 复用 自我修补用户: 帮我再部署一个 Django 应用到 K8s系统提示词里多了 Skills 索引Agent 加载 flask-k8s-deploy 后照着步骤做iter 1: skill_view(flask-k8s-deploy) → 加载完整 Skill iter 2: read_file(manage.py) → 确认 Django 项目结构 iter 3: write_file(Dockerfile) → 用 gunicornSkill 指示 iter 4: 添加 /health 端点Skill Pitfalls 提醒 iter 5: terminal(docker build docker push) → 先 push 再 applySkill Steps 第 2 步 iter 6: write_file(deployment.yaml) → livenessProbe → /health iter 7: terminal(kubectl apply) → DisallowedHost 错误Django 特有的问题Skill 没覆盖 iter 8: 修改 deployment.yaml 添加 ALLOWED_HOSTS env iter 9: terminal(kubectl apply) → ✅ 成功从 12 次调用降到 9 次已知坑被绕过但遇到 Django 特有的新坑。Review Agent 一口气做了三件事写入用户画像、记住 registry 地址、patch Skill 补上 ALLOWED_HOSTS 坑。第 3 次会话零错误一次搞定用户: 帮我部署一个新的 FastAPI 微服务Agent 已经知道你是谁、registry 在哪、集群在哪Skill 里也包含了 ALLOWED_HOSTS 的坑——6 次调用零错误。三次对比维度会话 1 (冷启动)会话 2 (Skill 复用)会话 3 (全协同)工具调用12 次9 次6 次错误数210Memory无触发写入系统提示词注入Skill触发创建复用 自我修补复用已修补版本在开源 Hermes 中这些经验积累在单个用户的 ~/.hermes/ 目录下。RDSHermes 把 Skill 存储从本地磁盘搬到了云端——一个 DBA 踩过的坑团队里所有人的 Agent 都能绕过。自我进化不再是单点的而是组织级的。安全机制进化也需要约束Agent 能往自己脑子里写东西也就意味着攻击面。Hermes 做了两层防护。第一层Memory 内容扫描# tools/memory_tool.py:65-81 _MEMORY_THREAT_PATTERNS [ (rignore\s(previous|all|above|prior)\sinstructions, prompt_injection), (rdo\snot\stell\sthe\suser, deception_hide), (rsystem\sprompt\soverride, sys_prompt_override), (rcurl\s[^\n]*\$\{?\w*(KEY|TOKEN|SECRET|PASSWORD), exfil_curl), ... ]因为 Memory 最终会注入系统提示词如果被诱导记住 ignore all previous instructions下次会话就等于被劫持了。第二层Skill 安全扫描# tools/skill_manager_tool.py:56-74 def _security_scan_skill(skill_dir): result scan_skill(skill_dir, sourceagent-created) allowed, reason should_allow_install(result) if allowed is False: report format_scan_report(result) return fSecurity scan blocked this skill ({reason}):\n{report}自创的和从 Hub 安装的 Skill 走同一套扫描不通过就回滚。开源 Hermes 的安全扫描解决了单机场景的问题。但在团队落地时还有一个开源版管不到的风险密钥安全。API Key 写在环境变量里、数据库密码明文存配置文件——一旦 Agent 有了终端权限这些凭证就暴露在攻击面上。RDSHermes 用加密托管解决了这个问题AK/SK 由网关代理鉴权密钥不落盘不暴露给 Agent 也不暴露给用户。Agent 自我进化的自由度越大凭证隔离就越不可少。设计取舍一览源码中的设计取舍设计决策表面效果背后的考量Memory 限 2200 chars迫使 Agent 挑重要的记低质量 Memory 注入系统提示词 每次 API 调用都带噪声声明式事实 vs 操作步骤分离Memory 存事实Skill 存步骤两者的更新频率、触发条件、安全风险完全不同冻结快照模式系统提示词会话内不变保护前缀缓存避免每轮 API 调用重新计费后台 fork 审查用户感知不到 review 过程自省不应占用用户任务的 attention budgetNudge 计数器可配置默认 10太频繁浪费 API 成本太稀疏错过学习机会patch 优先于全量重写局部修复 Skill保留已验证的稳定部分只改需要改的安全扫描 自动回滚拒绝恶意写入Memory/Skill 最终进入系统提示词是一等安全边界Skill 自动进化的下一步自动创建和自我修补已经跑通了接下来几个方向值得做生命周期管理目前 YAML frontmatter 只有 name、description、version。加上 last_used、use_count、success_rate 就能实现自动降权、归档和过时检测。技能组合现在 Skill 是孤立的。如果能自动识别经常一起用的 Skill 合成工作流如 flask-k8s-deploy nginx-reverse-proxy → full-stack-deploy就不只是记住而是思考了。创建透明度Skill 创建是静默的用户没有参与感。创建后给个简短通知用户就能审核和纠正。团队治理一个人用还好团队落地需要知道谁让 Agent 做了什么。RDSHermes 的做法是写操作需二次确认才执行每一次会话可追溯、可审计——Agent 能自我进化但每一步操作都在审计链路上。RDSHermes从开发者工具到团队都能用前面讲的 Self-Improving 是 Hermes 的核心竞争力但说实话开源版 Hermes 仍然是一个偏开发者的工具——你得会写 config.yaml得懂怎么配 API Key 和 Gateway出了问题要看日志排查。对于不写代码的团队成员来说这个门槛还是太高了。RDSHermes 解决的就是这个问题把 Hermes 的自进化能力包装成开箱即用的服务。对比开源 Hermes 的使用门槛开源 Hermes AgentRDSHermes开始使用命令行安装手写 config.yaml控制台一键开通零配置对话界面终端 CLI内置 WebUI打开浏览器就能对话接入 IM内置 Gatewayconfig.yaml 配凭证后命令行启动控制台里填个 App ID 就完成数据库连接手动配连接串密码明文写配置一键接入 RDS 实例密码自动加密云凭证管理AK/SK 写进环境变量或配置文件加密托管网关代理鉴权密钥不落盘技能管理Agent 自动创建磁盘文件Skill Hub 预装专业技能简单说开源 Hermes 是给开发者的引擎RDSHermes 是给整个团队的成品车。它在 Hermes 的 Self-Improving 能力之上补齐了四件事数据库安全纳管MySQL、PostgreSQL、SQL Server、MariaDB 多引擎一键接入密码提交瞬间加密。可以设只读模式——Agent 能查但不能改生产环境安全有底线。身份认证托管AK/SK 加密托管Agent 调用云 API 时由网关代理鉴权密钥不暴露给 Agent 也不暴露给用户。内置数据库专业技能Skill Hub 预装智能巡检、慢 SQL 诊断、索引优化等技能。DBA 说一句帮我巡检一下 prod-mysqlAgent 连着你的库做真实分析。全链路监控审计写操作需确认才执行会话可追溯Token 消耗可监控安全事件有告警。效果是什么市场部的同事打开 WebUI 用一句话查渠道数据不需要装任何东西开发者排查线上问题不用等 DBA 排期DBA 在飞书群里 一下就能做晨间巡检从 40 分钟缩短到 2 分钟。不是所有人都会写 config.yaml但所有人都会打字。RDSHermes 现已上线阿里云 RDS AI 应用市场支持免费试用。如果你已经在用 OpenClaw/RDSClawhermes claw migrate 一条命令就能导入全部配置和记忆数据平滑切换。总结Hermes Agent 的 Self-Improving 就是三件事的配合Memory 记住你是谁Skill 记住怎么做事Nudge Engine 保证这个循环不停转。用得越久Agent 帮你干活就越快、踩坑就越少。OpenClaw 在 AI Agent 普及上立下了汗马功劳。但一个需要调教指南的工具、一个升级就崩溃的系统、一个越用记忆文件越大越慢的架构——它正在完成自己的历史使命。开发者正在用数据说话。不是因为 Hermes 的功能更多而是因为 Hermes 做了一件 OpenClaw 架构上做不了的事用得越久越好用。v0.6.0 之前Hermes 还有只能跑单 Agent的硬伤现在 Profiles 补上了多实例、MCP Server Mode 打通了 IDE 生态、迁移工具覆盖了 sessions/cron/memory——OpenClaw 用户的切换门槛已经被系统性地拆掉了。再加上 RDSHermes 把数据库和云资源的安全访问也管起来了Agent 能触达的边界远不止写代码。如果你现在还在手写 Skill、手动维护 MEMORY.md、每次升级前先做好心理建设——不妨想想你的时间应该花在给 Agent 做运维上还是让 Agent 自己学会做事上学习资源推荐如果你想更深入地学习大模型以下是一些非常有价值的学习资源这些资源将帮助你从不同角度学习大模型提升你的实践能力。一、全套AGI大模型学习路线AI大模型时代的学习之旅从基础到前沿掌握人工智能的核心技能因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取二、640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取三、AI大模型经典PDF籍随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型如GPT-3、BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取四、AI大模型商业化落地方案作为普通人入局大模型时代需要持续学习和实践不断提高自己的技能和认知水平同时也需要有责任感和伦理意识为人工智能的健康发展贡献力量。