尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AI Agent与LLM区别详解:Hermes、Claude Code、Codex安装部署实战

AI Agent与LLM区别详解:Hermes、Claude Code、Codex安装部署实战 九月的 AI Agent 榜单出来后我身边好几个技术群都在转发讨论最热烈的反而不是前三名的座次而是三个名字背后的东西Hermes 凭什么排到第一Claude Code、Codex 这两个天天被拿来写代码的选手为什么只进了前十以及很多人的第一反应——AI Agent、LLM、AI 模型到底是不是一回事。从热度来看搜deepseek hermes、搜hermes 安装的人反而比搜排行榜的人还多说明大多数人真正关心的不是榜单本身而是这玩意儿我能不能跑起来。这篇文章不打算复述榜单而是顺着它把几个值得聊透的点一次性讲清楚Agent 和 LLM 的本质区别到底在哪Hermes 这类带桌面端、可本地部署、又能接 DeepSeek 的智能体怎么安装配置Claude Code 和 Codex 在 Ubuntu、VS Code 里怎么落地以及一个完全没有 Agent 经验的人如何从零搭出第一个能干活的小智能体。适合刚接触 Agent 的开发者、想在企业内部落地自动化流程的工程师也适合只是好奇 Agent 为什么突然这么火的学习者。1. 先分清 Agent、LLM 和 AI 模型榜单背后的认知起点1.1 用一场下厨把三个概念讲清楚AI 模型是最上面的集合概念只要是一个能接收输入、给出输出的神经网络都可以叫 AI 模型图像识别模型、语音转写模型、文本生成模型全都算。LLM大语言模型只是其中专门处理文本的一类DeepSeek、Claude、GPT 系列都属于 LLM。LLM 的能力边界很明确它只会生成下一个 token不会主动查看你磁盘上的文件不会替你执行命令也不会自己去发请求。它本质上是一个非常博学、但不负责动手的顾问。Agent 则是在模型之上叠了一层会做事的框架。一个 Agent 用 LLM 当大脑但给它配备了工具和循环机制可以把大任务拆成小步骤调用搜索、执行代码、读写文件每走一步看一眼结果再决定下一步直到任务完成。用下厨来类比LLM 是厨师脑中的菜谱知识和火候经验AI 模型是整个厨房体系包括识别食材的视觉模型、听懂语音的指令模型Agent 是那个真正下厨的人他会开火、放油、尝味道、出锅。光有菜谱不会炒菜光有知识库不落地这就是三者的关系。所以DeepSeek 属于哪一类这个问题就有明确答案DeepSeek 属于 LLM 这一层是大脑。而 Hermes、Claude Code、Codex 属于 Agent 层它们负责把大脑接出来赋予它手和脚。热词里出现deepseek hermes本质上就是因为 Hermes 这类 Agent 可以拿 DeepSeek 当大脑来用这也解释了为什么大家搜索时总是把模型名和工具名放在一起。1.2 从榜单格局看两类 Agent 的分野看这份九月榜单其实就两个阵营。一类是通用型智能体代表是 Hermes强调什么都能干安装门槛低、桌面端友好、支持多模型接入、能用技能体系扩展能力另一类是编码专精型 Agent代表是 Claude Code 和 Codex强调把写代码这件事干到极致擅长长上下文理解、仓库级重构、批量补测试。两类不是替代关系而是分工关系。我个人的判断是Hermes 能拿第一不是因为它在单点上碾压而是在开箱即用、可私有化部署、生态开放这个综合维度上拿了高分。尤其在企业场景数据能不能留在内部、模型服务能不能接自己已有的往往比基准测试分数更重要。Claude Code 和 Codex 能进前十则是因为开发者群体对AI 帮我改代码的需求极其强烈口碑传播快。这也是为什么大众关注度里编码类 Agent 的热度一直居高不下。2. Hermes 为什么能排第一安装部署与第一个技能2.1 环境准备与三条安装路径先说结论装 Hermes 之前先把 Python 3.10 以上和 Node.js 18 以上准备好这是社区版本里最常见的两个依赖。检查命令很简单python3 --version和node -v缺哪个补哪个。下面这套安装流程是我按社区里最常见的路径整理的具体版本不同命令细节可能会有差异但整体思路一致。安装路径一般有三条。第一条是命令行安装适合开发者和服务器环境通过包管理器直接装核心组件装完在终端里初始化配置第二条是桌面客户端安装适合不熟悉命令行的用户图形界面里填 API 配置点几下就能跑对应热词里的hermes desktop第三条是源码部署适合要二次开发、要深度定制的团队把仓库克隆下来按文档装依赖、改配置、启动。我的建议是第一次体验走桌面端实际工作流用命令行企业落地再考虑源码部署由轻到重别一上来就啃源码。安装完成后第一次启动会要求初始化配置目录主要是指定工作目录、语言偏好和模型后端。这一步很多人会跳过直接开跑结果后面所有报错都跟配置没初始化有关所以宁可花两分钟把它走完。2.2 把 DeepSeek 接进来三件套配置Hermes 支持对接多种模型服务只要是 OpenAI 兼容接口的都可以DeepSeek 正好就是这类。配置核心是地址、模型名、密钥三件套以最常见的 YAML 配置为例model: provider: openai-compatible base_url: https://api.deepseek.com/v1 model: deepseek-chat api_key: ${DEEPSEEK_API_KEY}这里最容易翻车的是模型名。DeepSeek 有两个常用模型deepseek-chat 是通用对话模型deepseek-reasoner 是推理模型。做 Agent 任务、需要工具调用的时候我建议先用 deepseek-chat。reasoner 的推理输出格式在处理工具调用时容易让 Agent 循环卡住表现为模型回答了一大段但就是没有真正调用工具。如果跑完配置发现模型一直光说不做第一件事就是检查是不是选成了 reasoner。还有一点要注意base_url 别带多余的路径。OpenAI 兼容接口通常是以 /v1 结尾多一个斜杠、少一个后缀请求都会跑到不存在的地址上去。配完之后用一个最简单的提示词测试一次比如问你好请测试连接能正常回复再进入下一步。2.3 Skill 开发让 Agent 拥有你的独家技能爬过安装这关真正拉开差距的是 Skill 开发。Skill 可以理解成给 Agent 外挂的一本操作手册 执行脚本当用户提出某类需求时Agent 读了技能描述就知道该调用哪个脚本来干活。它的好处是能力可复用、可分享不依赖每次对话重新解释。一个 Skill 通常包含两部分描述文件和主体脚本。描述文件负责告诉 Agent这个技能是干什么的、什么时候用主体脚本负责真正执行。比如我想让 Agent 帮我在项目日志里搜错误技能大概长这样name: search_logs description: 在当前项目的日志目录中按关键词搜索最近的错误日志 trigger: 当用户提到查找日志、排查报错、搜索错误信息时使用 script: scripts/search_logs.py写描述文件有个经验触发条件写得越具体Agent 越不容易误调用。不是说描述越短越高效而是要把什么时候用、什么时候别用都写清楚比如只有在用户明确要求搜索日志文件时才使用不要用它在代码里搜字符串。见过太多新手把 Skill 写成一大段提示词跑起来效果很差不如拆成一个十行的脚本加一个清晰的描述入口。脚本本身要容错参数给默认值输出格式固定成纯文本或 JSON方便 Agent 读取下一步决策。3. Claude Code 与 Codex编码类 Agent 的安装与上手3.1 Claude Code命令行与 VS Code 双端覆盖Claude Code 来自 Anthropic是绑定 Claude 模型能力的编码 Agent。它的强项是长上下文对话和对整个代码仓库的理解特别适合解释陌生项目、做代码审查、批量补测试这类任务。安装前提是 Node.js 18 以上在 Ubuntu 上推荐用 nvm 管理 Node 版本避免直接改系统路径带来权限问题。安装命令很简单两条就走完npm install -g anthropic-ai/claude-code claude --version能打印版本号就说明装好了。第一次运行claude会引导登录授权也可以提前设置 ANTHROPIC_API_KEY 环境变量两种方式选一种。我个人更喜欢后者因为写进项目的 .env 文件里多人协作时大家各自用自己的 key互不干扰。VS Code 端的用法是装好官方扩展后在项目根目录打开启动 Claude Code 面板。注意两个细节一定要在项目根目录启动而不是在单文件视图里启动否则它抓不到仓库上下文另外扩展第一次运行会申请终端权限要同意否则它只能读不能改体验差一大截。用完这段时间我的体感是它最值钱的场景不是帮你从零写一个新项目而是面对一个几万行的旧仓库你问一句这个模块的调用链是什么它能给你一份靠谱的地图。3.2 CodexCLI 利器与第三方模型接入Codex 是 OpenAI 出的编码 Agent默认绑定 GPT 系列模型但支持通过 OpenAI 兼容接口配置接入第三方模型这也是codex 接入 deepseek这类需求存在的原因。安装同样是 npm 全局安装npm install -g openai/codex codex --version首次使用可以运行登录命令完成授权也可以设置环境变量提供密钥两种方式选一种。如果要用第三方模型需要修改配置里的 base_url 和 model 值指向对应服务的 OpenAI 兼容地址和模型名。这里要特别留意接口格式Codex 的请求会走 /responses 接口不是所有兼容服务都实现了这个接口有些只实现了更传统的 chat/completions。这个问题在第五节我会详细讲排查办法。Codex 的典型使用方式非常 CLI 化直接在项目目录里跑一句自然语言指令比如codex 给 payment 模块的函数补上参数校验和单元测试它会自己读代码、定位文件、改代码最后给你一个变更摘要。对比下来Claude Code 更像一个坐在你旁边、能聊着写代码的结对程序员Codex 更像一个你说完需求就自己去干活的远程协作者风格差异挺明显的。3.3 三个工具怎么选一张表看懂差异对比维度HermesClaude CodeCodex定位通用型智能体编码专精型编码专精型上手门槛桌面端友好门槛低需要 Node 环境偏开发需要 Node 环境偏 CLI 重度用户模型绑定可接 DeepSeek、Claude 等多种主用 Claude 模型默认 GPT 系列可配置第三方兼容接口强项场景自动化工作流、技能扩展、私有化部署仓库理解、长对话、代码审查多文件重构、批量任务、命令行工作流适合谁想落地通用自动化的团队深度写代码的工程师喜欢全 CLI 操作的重度用户我的建议就一句话先想清楚你要它做什么。要一个能帮你处理邮件、整理文件、跑日常流程的通用助手选 Hermes 这类要一个能钻到代码仓库里帮你改代码的同事选 Claude Code 或 Codex。两个都装也不冲突很多人的实际工作流是 Hermes 处理杂务Claude Code 处理代码各管一段。4. 从零到一搭一个能跑通的极简 AI Agent4.1 Agent 的组成结构四个零件在动手写代码之前先建立对 Agent 结构的整体认知。一个最小可用的 Agent 由四个零件组成模型、工具、记忆、循环。模型负责理解任务和生成决策是大脑工具负责真正产生效果比如执行代码、查天气、读写文件是手脚记忆负责保留上下文让 Agent 不会聊着聊着忘了前面的结论是便利贴循环负责把思考-行动-观察结果-再思考这个过程串起来是工作流。理解了这四件套之后你会发现市面上的 Agent 产品再花哨底层都是这四个零件的不同组合和产品化包装。有的产品强在记忆给你超长上下文有的产品强在工具生态接了几百个插件有的产品强在循环编排比如自动规划任务清单。看一个 Agent 靠不靠谱看它对这四个零件分别做了什么优化比看宣传页上的功能介绍管用得多。4.2 二十几行代码跑通最小闭环下面这个例子我按OpenAI 兼容接口 一个工具来写DeepSeek 可以直接替换 base_url 和模型名来跑。代码逻辑很简单循环调用模型如果模型要求调用工具就执行工具并把结果返回给模型如果模型直接给出最终回答就结束循环。import json from openai import OpenAI client OpenAI( api_key你的密钥, base_urlhttps://api.deepseek.com/v1, ) tools [{ type: function, function: { name: calculator, description: 计算数学表达式例如 12、15*73, parameters: { type: object, properties: { expr: {type: string, description: 要计算的表达式} }, required: [expr] } } }] messages [{role: user, content: 帮我算 15*73 等于多少}] def run_tool(name, arguments): if name calculator: return str(eval(arguments[expr])) return unknown tool for _ in range(10): resp client.chat.completions.create( modeldeepseek-chat, messagesmessages, toolstools, ) msg resp.choices[0].message messages.append(msg) if msg.tool_calls: for tc in msg.tool_calls: result run_tool(tc.function.name, json.loads(tc.function.arguments)) messages.append({ role: tool, tool_call_id: tc.id, content: result }) else: print(msg.content) break这段代码里有几个点值得解释。tools 列表里的 JSON Schema 不是给程序看的是给模型看的模型靠它才知道工具叫什么、参数是什么格式。run_tool 是工具的实际实现演示里用 eval 直接算表达式生产环境绝对不能这么干要用专门的表达式解析库因为 eval 会把任意代码当命令执行安全风险很大。循环的步数上限设成 10是为了防止 Agent 在工具调用里无限循环这在真实场景里几乎必然会遇到。跑通这个最小闭环之后你就理解了所有 Agent 产品的核心机制模型不是真正的执行者它只负责做决策真正的执行发生在工具层执行结果再反馈给模型形成闭环。4.3 从练手到落地接下来该加什么最小闭环跑通之后往落地方向扩展其实是有固定顺序的。第一步加记忆把多轮对话的 messages 持久化到本地文件或者 SQLite让 Agent 重启之后还记得之前聊了什么。第二步加安全给工具做一个白名单机制比如只允许读写指定目录、只允许执行指定的命令这是从玩具走向生产环境最关键的转变。第三步加规划把用户的大任务先拆解成子任务清单再逐个执行这是 Agent 从单步工具调用走向自主工作流的分水岭。第四步加界面用 Gradio 或者 FastAPI 包一层 Web 界面让不懂命令行的同事也能用。我给新手的建议是不要一上来就想去复刻 Hermes 的整个架构先用这个最小例子把一个工具调通的闭环跑熟再逐个加零件。每加一个零件你对为什么 Hermes 要这样设计的理解就会深一层。5. 常见问题与排查技巧实录5.1 Codex 接第三方模型时的 /responses 接口报错这是最近咨询量最高的问题症状是 Codex 配置好第三方模型之后请求打到 /responses 接口就报错会话直接中断。注意Codex 的报错信息通常是被包装过的别盯着第一行看要去日志里找 HTTP 状态码那才是真正的原因。按顺序排查三件事。第一base_url 是否正确指向的服务商是否实现了 /responses 接口有些服务只兼容 /chat/completions这种就需要在配置里切换接口模式或者换一个兼容 /responses 的接入方式。第二模型名是否和服务商提供的完全一致大小写、连字符一个都不能错填错名字服务端一般返回 404。第三密钥是否有效注意环境变量里别有多余的空格和换行。最有效的调试办法是先用 curl 单独请求一次接口把地址、模型名、密钥三件套验证通过之后再回到 Codex 里跑能把很多干扰因素一次性排除掉。5.2 Claude Code 在 Ubuntu 上装不上的三个坑第一个坑是 Node 版本太低报错会提示 engine 版本不匹配解决办法是用 nvm 装一个 18 以上的版本再全局安装。第二个坑是 npm 全局安装目录没有写权限有人图省事直接sudo npm install -g结果后续升级、卸载全是权限冲突一次性把 nvm 的 Node 配好让全局目录归当前用户所有能省下后面所有麻烦。第三个坑是登录后仍然 401大概率是环境变量里多了隐藏字符把 key 复制到终端时容易带上换行可以用echo -n $ANTHROPIC_API_KEY | wc -c检查一下实际长度。还有一个观感上的坑终端里中文显示乱码。这通常是系统 locale 没配好装好中文字体、把 LANG 环境变量设为 UTF-8 就能解决和工具本身关系不大。5.3 Hermes 接 DeepSeek 后光回答不干活症状是问它任何需要工具的任务它都直接给一段文字回答看不到任何工具调用。这个问题的排查优先级很明确。第一检查模型名如果配的是 deepseek-reasoner先换成 deepseek-chatreasoner 的输出格式在工具调用场景里容易出问题。第二检查工具描述描述里如果没有明确的触发条件模型可能判断不需要调用工具也能回答然后在工具描述里补一句当用户提到X时必须调用工具Y这样的强约束。第三检查工具调用的返回格式工具结果必须以 role 为 tool 的消息返回并且带对应当前的 tool_call_id这个字段对应不上模型就无法正确关联结果。5.4 VS Code 配置 Claude Code 时最容易被忽略的一步很多人在 VS Code 里装好扩展、登录成功、打开一看发现 Claude Code 对项目一无所知问什么都答非所问。问题往往不在扩展本身而在启动方式必须从项目根目录的文件夹视图里启动而且要确保这个目录已经初始化过 git 仓库。Claude Code 默认以 git 仓库作为上下文边界没有仓库的情况下它很难判断哪些文件属于这个项目。另外扩展第一次运行会弹终端权限确认这个权限直接影响它能不能改文件不授权的话它就只能当个只读顾问。我把几个高频问题整理成一张速查表方便你排查时对照现象常见原因处理办法Codex 请求 /responses 报错base_url 或模型名错误、服务商未实现该接口用 curl 单独验证三件套切换接口模式claude 命令找不到Node 版本过低或全局目录无权限用 nvm 装 Node 18重装全局包登录后仍 401密钥中混入空格或换行用 echo -n 检查密钥字符数Agent 光回答不调用工具选了推理模型或工具描述模糊换 chat 模型加强触发条件VS Code 里 Claude Code 不懂项目未在项目根目录启动、无 git 仓库从项目根目录启动先 git init6. 写在最后一点个人实操体会这份九月榜单最值得关注的地方我反倒觉得不是谁第一而是 Agent 这个品类终于从演示玩具阶段走到了工程阶段。过去一个月我装遍 Hermes、Claude Code 和 Codex最大的感触是工具迭代太快了今天踩的坑可能下周的版本更新就帮你填平了所以死记具体命令意义不大。真正值得沉淀的是两件事对 Agent 四个零件模型、工具、记忆、循环的架构理解以及把 prompt 和 Skill 写清楚的能力。工具是消耗品这两样是手艺。如果你刚接触 Agent别一上来就追着排行榜把八个十个工具都装一遍挑一个通用型智能体从安装、接模型、跑通第一个任务开始再写一个自己的小 Skill你会比只刷榜单的人收获大得多。等哪一天你发现用 Agent 解决问题的思路已经变成一种本能玩任何新工具都只是换个外壳而已那才算真正入门了。
返回列表