
上个月我接手了一套没人维护的Java遗留系统几百个文件堆在那里光是看模块之间的依赖关系就花了我大半天。同事看我在命令行里翻来翻去丢了一句让Claude Code先跑一遍项目把代码结构梳理出来比你自己瞎猜快得多。我半信半疑地装上这个工具在项目根目录输入了一句需求二十分钟后它给我交出了模块依赖图、三个隐患清单还顺手指出了其中一个服务空指针的可能位置。那次之后我就明白Claude Code不是又一个聊天问答机器人它是真能在你项目里干活的“驻场AI工程师”。这篇手册我整理了很久覆盖从零安装、模型接入、权限配置、日常高频操作到Skills、Workflows、SDK进阶用法和常见问题排查。不管你是第一次听说Claude Code还是已经装好但只会问“帮我写个函数”都可以直接按章节操作。与其收藏一堆零散教程不如把这份手册保存成Markdown或PDF需要的时候翻一翻比临时搜答案靠谱得多。1. 先拆解Claude Code到底是什么1.1 别把它当聊天机器人它是“驻场AI工程师”Claude Code是Anthropic推出的命令行编码Agent工具核心形态是在终端里运行的一个交互式程序。你启动claude进入一个类似Shell的对话界面输入自然语言需求它就能在你指定的项目目录里执行一系列操作读取源文件、检索代码、定位问题、编辑文件、运行测试、执行Shell命令甚至提交代码。它的能力边界并不局限于“生成代码片段”而是“在真实工程环境中完成编码任务”。很多第一次用的人会踩同一个误区把Claude Code当成在线聊天页面的终端版问一句答一句然后自己照着答案去改代码。这样用也没问题但你只发挥了这个工具十分之一的能量。Claude Code的定位是Agent它的工作方式是拿到任务之后自己规划步骤、调用工具、查看结果、调整策略然后继续往下执行直到任务完成或遇到需要你拍板的地方。换句话说你更像是在带一名新来的实习工程师而不是在跟一个问答数据库对话。1.2 Agent循环一次标准任务是如何完成的理解Claude Code关键是理解所谓的“Agent循环”。这个过程其实不玄乎拿人做类比你让一个实习生去“看看首页接口为什么这么慢”他会先打开项目目录找到接口入口文件沿着调用链往下查数据库查询和缓存逻辑定位瓶颈然后提出修改方案改完跑测试验证。Claude Code的Agent循环干的是同一件事只不过它把“查找、阅读、修改、执行、验证”都变成了可调用的工具。具体到一次任务它大致走这几步。第一步是理解你的指令结合当前目录的文件内容、Git状态、已有文档建立上下文。第二步是规划把大目标拆成若干小动作比如先读哪个文件、搜索哪些关键词、跑什么命令。第三步是执行通过工具调用来完成动作。第四步是观察工具返回的结果判断是否符合预期。第五步是根据结果决定继续执行、调整方案还是停下来问你。整个循环不断重复直到任务收敛。这正是Claude Code和普通AI补全插件最大的区别。代码补全工具是“你写一行它猜下一行”而Claude Code是“你交代一个目标它像一个工程师一样把过程跑完”。所以你在使用时要调整心态给它目标、约束、验收标准而不是逐行告诉它怎么改。它自己会读代码、查资料、试运行你只需要在关键节点把关。1.3 它到底能帮你干什么场景清单我把实际用过的场景列一下不一定穷尽但足够说明它能覆盖哪些工作。快速理解陌生项目让它在项目根目录跑一遍梳理目录结构、模块关系、核心流程输出一份说明文档或架构草图。遗留代码维护和重构遇到没人注释的老代码让它逐段解释业务逻辑再按新标准做局部重构。编写单元测试给一个函数或模块让它补全测试用例覆盖正常、边界和异常路径。排查线上问题把报错日志或复现步骤贴给它让它沿调用链找可疑点给出修复建议。批量修改比如把项目里所有接口的响应结构统一调整这类重复劳动非常适合交给它。代码审查改动之后让它基于git diff做一次审查检查潜在缺陷、安全隐患和风格问题。自动生成维护文档README、接口说明、部署文档、Changelog这些都能让它基于实际代码生成。也有不适合它的场景。高度依赖业务背景和人际沟通的决策不适合对保密要求极高、不能把代码暴露给外部模型的环境不适合需要在线调试真实分布式系统的场景它也只能做到“建议”而不是“代操作”。我在后面章节会展开讲什么时候该放手让它跑什么时候该人工介入。2. 从零安装到首次运行的完整过程2.1 安装前的环境检查Claude Code本质是一个Node.js写的命令行程序通过npm分发所以大部分安装问题的根源都在Node环境上。安装之前先检查几项基础环境能省掉后面一堆麻烦。第一是Node.js版本。Claude Code要求Node.js 18及以上建议直接用LTS版本我用的是Node 20和Node 22都跑得很顺。第二是npm可用并且能正常访问外网源因为安装包是从npm仓库拉取的。第三是Git已安装并配置好用户信息很多编码任务会用到Git命令比如查看diff、创建分支、提交代码。第四是终端macOS和Linux直接用系统终端Windows建议用Windows Terminal或者PowerShell。检查Node版本很简单在终端里输入node -v npm -v如果提示找不到命令说明Node没装好或者没加入PATH。这里有一个很关键的经验不要用sudo npm install强行装全局包容易把系统目录权限搞乱。推荐用nvm这类版本管理工具安装Node既方便切换版本也不会污染系统环境。2.2 三种主流平台的安装方式Claude Code是跨平台工具Windows、macOS、Linux都能装流程大同小异。macOS用户最省事的方式是用Homebrewbrew install --cask claude-codeLinux和Windows用户以及已经装了Node的任何平台用户直接用npm全局安装npm install -g anthropic-ai/claude-code这里用的是anthropic-ai/claude-code这个完整包名之前有网友踩过坑只搜“claude-code”会装到别的包所以一定要认准这个命名空间。Ubuntu等Linux发行版也一样先确保Node装好再跑npm命令。如果npm下载速度慢可以考虑配置npm镜像源但这不是Claude Code特有的问题属于Node生态常规操作。Windows上有个小区别建议在PowerShell里执行安装命令。如果你之前用的是旧版Windows可能还需要先装好Windows Terminal并且允许本地PowerShell执行脚本。不要用Linux子系统或者虚拟机强行模拟Claude Code原生支持Windows没必要绕路。2.3 验证安装并完成首次身份认证装完之后先验证版本号claude --version能输出版本号就说明安装成功。然后进入项目目录输入claude启动cd /path/to/your-project claude第一次启动会让你登录Anthropic账号或者粘贴API Key。两种方式对应两种使用模式订阅用户登录账号后按套餐额度使用API用户按token计费。如果你是第一次接触想快速体验又没有订阅去Anthropic的开发者平台创建一个API Key在终端里设置环境变量export ANTHROPIC_API_KEYsk-ant-xxxx之后再运行claude就会以API身份工作。注意环境变量只在当前终端会话生效想永久生效就写进你的Shell配置文件比如.bashrc或.zshrc。这里要特别提醒API Key是敏感信息别写进项目文件也别截图发到群里泄露Key可能被人盗刷额度。2.4 在VS Code中集成使用很多人不习惯纯命令行界面或者希望边看代码边和Claude Code对话。这种情况可以把它跟VS Code结合使用。最简单的做法是在VS Code里打开项目根目录按Ctrl\调出内置终端直接在终端里运行claude。这样左边是代码编辑器右边是Claude Code对话区它改完代码你肉眼就能看到diff体验很流畅。更进一步可以在VS Code扩展市场搜索“Claude Code”安装Anthropic官方扩展。装完之后会多出专门的侧边栏入口可以管理会话、查看工具调用记录、快速打开设置。我的实际体验是日常小改动用扩展面板更方便做项目级重构还是全屏终端更专注不用频繁点鼠标。安装扩展后如果发现终端里运行claude和扩展面板的会话不同步别急它们本来就是两个独立会话各自维护上下文。想统一的话要么只用终端要么只用扩展面板不要混着来。3. 模型接入、权限管理与配置文件3.1 使用官方模型与API订阅Claude Code默认连接Anthropic官方的Claude模型。订阅用户登录后直接可用模型版本会随官方更新。API用户则是通过环境变量指定Key按实际消耗计费。日常使用中Claude Code会自动选择大小模型配合任务。简单任务用响应更快的轻量模型复杂推理任务启用更强的模型这些细节对使用者是透明的。你不需要自己操心但要知道有ANTHROPIC_SMALL_FAST_MODEL这个环境变量它控制“轻量模型”用哪一个。在某些特殊场景下比如你接入了第三方兼容服务可能需要显式指定这个变量后面接DeepSeek的章节会详细说。启动之后可以用/model命令随时切换当前对话使用的模型。这个命令会列出可用的模型列表你可以按任务需求手动切换写普通功能用默认模型做大型重构或者分析复杂问题就换到更强的推理模型。3.2 接入DeepSeek等兼容模型彻底换一种体验Claude Code本身是一个Agent框架它并不强制绑定官方模型。只要对方提供Anthropic兼容的API接口就可以通过环境变量把模型“换掉”。最近很火的玩法就是让Claude Code接DeepSeek用开源模型驱动同一个Agent流程。DeepSeek官方提供了Anthropic API兼容端点接入步骤如下。首先获取一个DeepSeek的API Key然后设置以下环境变量export ANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropic export ANTHROPIC_AUTH_TOKENsk-your-deepseek-api-key export ANTHROPIC_MODELdeepseek-chat export ANTHROPIC_SMALL_FAST_MODELdeepseek-chat设置完成后在当前终端启动claudeClaude Code就会把请求发给DeepSeek的接口。DeepSeek有两个常见模型deepseek-chat对应对话模型deepseek-reasoner对应推理增强模型。想要更强的思考能力就把ANTHROPIC_MODEL改成deepseek-reasoner。如果你想在两种模型之间切换社区里有个叫cc-switch的小工具本质是帮你管理不同的环境变量组合一键切换官方Claude和DeepSeek等配置省得每次手动改终端。这里有几个注意点。第一切换到DeepSeek之后Claude Code的工具能力本身不变仍然能读写文件、执行命令但模型对复杂工程上下文的理解能力会跟官方模型有差异任务失败率可能略高。第二DeepSeek的上下文长度和输出token限制跟官方不同遇到长文件处理时可以在对话里要求“分块读取”。第三如果同时设置了ANTHROPIC_API_KEY和ANTHROPIC_AUTH_TOKEN两者可能冲突接第三方服务时优先用ANTHROPIC_AUTH_TOKEN。3.3 权限管理给AI划清操作边界Claude Code既然能执行命令、改文件就必须有权限控制机制否则它可能在你没确认的情况下做出危险操作。第一次启动时它会引导你选择权限模式。我整理了三种常用模式的区别见下表权限模式行为特征适用场景默认模式default每次执行敏感操作前询问确认刚开始上手、项目重要、谨慎优先接受编辑acceptEdits文件编辑自动接受命令执行仍需确认日常开发希望减少打断完全跳过确认bypassPermissions所有操作自动执行不再询问完全信任AI的自动化流程你可以在对话中使用/permissions命令打开权限管理面板也可以启动时加参数指定。比如claude --permission-mode acceptEdits还有一个很危险的启动参数--dangerously-skip-permissions它会跳过所有确认包括删除文件、执行任意命令。这名字起得很直白就是在警告你“极度危险”。我自己的经验是自动流程里偶尔用一次可以日常开发坚决不用。AI再强也有犯糊涂的时候有一次它自信地要把某个目录下的文件全部重命名差一点把构建产物也给改了幸好默认模式下每一步都要确认才没出大问题。3.4 配置文件与存储位置全解Claude Code的所有配置和运行数据都存放在用户目录下了解这个结构能帮你做备份、迁移和问题排查。核心目录是~/.claude/日志、配置、Skills、项目记忆都在这下面。全局配置文件是~/.claude.json记录你的登录状态和全局设置。在Windows上路径对应%USERPROFILE%\.claude\。具体来说~/.claude/目录下常见几个东西CLAUDE.md全局记忆文件内容会被所有会话当作背景知识。settings.json全局设置包括权限模式、Hooks配置等。history.jsonl会话历史记录可以回溯之前的对话。projects/按项目维度保存的状态和数据。skills/存放Agent技能包后面第五章细讲。logs/运行日志排查故障时很有用。项目根目录下也可以放一个CLAUDE.md它会被Claude Code自动读取相当于这个项目的说明书。你可以在里面写清楚项目结构、技术栈、编码规范、常用命令这样AI每次进项目都能快速进入状态不用你反复解释。这个文件是Claude Code使用体验提升最明显的一个配置强烈建议花十几分钟维护好。4. 日常使用从命令行新人到熟练工4.1 Claude Code交互界面与高频命令运行claude之后你会进入一个交互式终端界面底部有一个输入框直接输入自然语言即可。它的对话上下文是连续的它会记住当前目录、刚才读过的文件、以及你在这个会话里交代过的任务。掌握几个高频命令能让操作效率大幅提升。/help查看帮助/clear清空当前会话上下文/init让Claude Code扫描整个项目并在项目根部生成或更新CLAUDE.md/review让它审查当前Git工作区的改动/model切换模型/terminal让它执行终端命令/permissions调整权限模式/logout退出登录。我着重说一下/init。新项目第一次启动Claude Code我都会先执行/init。它会遍历目录结构读关键文件生成一份项目说明书写入CLAUDE.md。之后你再提需求它就有了项目背景不会问“你的项目是什么语言”这种低级问题。这就像你带新人第一天先让他看项目文档和架构图而不是直接扔给他一个Bug让他改。4.2 会提问的人才真正会用Claude Code同样的工具有人用起来像神队友有人觉得是人工智障差别往往在指令质量。Claude Code不是读心术大师你的指令越具体、约束越清晰它的表现越好。我给一个简单公式上下文 目标 约束。上下文是它需要知道的信息比如“这个项目用的是Vue 3和TypeScript页面入口在src/views下”。目标是你要的结果比如“给列表页加上空状态提示”。约束是限制条件比如“不要改动接口层代码”“保持现有样式变量体系”。三个要素齐了它基本不会跑偏。看两个对比。模糊指令是“帮我优化一下这个函数”它可能改出一版你根本不想用的代码。明确指令是“请优化src/utils/format.js里的formatDate函数要求保持函数签名不变兼容现有ISO字符串输入格式补上时区处理并增加对应的单元测试”。后者输出的结果可接受度会高很多。还有个实用技巧让Claude Code先出方案再动手。你可以直接说“先给我一份改造计划包括涉及的文件和风险点确认后再执行”。这能有效防止它兴冲冲改了一堆文件结果方向跟你预期完全相反。4.3 实操案例把一个旧脚本改造成正式服务理论说多了容易飘我拿一个真实发生过的场景走一遍完整流程。之前有个Python脚本data_clean.py负责清洗本地的数据文件逻辑很乱没有异常处理每次跑还靠手动改参数。我希望把它改造成一个FastAPI服务提供HTTP接口同时保留原有命令行功能。第一步启动Claude Code并让它了解项目claude然后输入先读一下 data_clean.py 的完整内容梳理清楚这个脚本的输入输出和处理步骤输出一份简短说明。它读完后我接着提需求基于现有清洗逻辑改造成一个 FastAPI 服务。要求保留原脚本的命令行模式新增 POST /clean 接口接收 JSON 格式数据返回清洗结果所有异常统一返回 JSON 错误结构不改变原有清洗规则。先列改造计划再动手。它给出计划后我让它开始执行。过程中它会创建新的app.py安装依赖甚至主动运行测试命令验证。中途有一次它尝试修改原来的脚本我用了/permissions临时保持默认确认模式把它动原文件的行为拦下来了只允许它新建和编辑新文件。最后它跑通了服务还帮我写了一小段curl测试命令。整个过程我没亲自写一行业务代码做的主要是定义目标、审查计划、控制权限边界。这个案例很典型地说明了Claude Code的正确打开方式它负责执行你负责“想清楚”和“把关”。5. 进阶玩法Skills、Workflows与思考等级5.1 Agent Skills给Claude Code装“专用技能包”Skills是Claude Code的扩展机制相当于给AI预装一套针对特定任务的标准操作流程。比如你经常要做代码审查可以装一个code-review的Skill经常写Python包可以装一个python-package的Skill。装了Skill之后AI再接到对应任务就不是“临场发挥”而是按你预定义的规范流程走。每个Skill本质上是一个目录里面有一个核心文件SKILL.md用Markdown格式描述技能的名称、触发条件和执行步骤。它的格式大致是这样的--- name: code-review description: 在对话中触发代码审查能力基于git diff检查潜在缺陷 --- ## 执行步骤 1. 获取当前分支相对主分支的git diff 2. 逐文件分析变更重点关注逻辑错误、安全问题、边界条件 3. 输出审查结论按严重程度分级 4. 如需修复先说明改动方案再执行手动安装GitHub上的Skills并不复杂。先找到对应的仓库clone到本地Skills目录mkdir -p ~/.claude/skills/ git clone https://github.com/xxx/code-review-skill ~/.claude/skills/code-review重启Claude Code新装的Skill就会生效。之后在对话里描述相关任务它就会自动调用这个技能定义的流程。需要说明的是Skills目录不一定非得在全局目录项目里也可以建.claude/skills/放私有Skill跟着项目仓库走团队其他成员也能共享。5.2 Workflows把反复要做的事情固化成流程模板Workflows是比Skills更宽泛的概念。Skills解决的是“一类任务怎么做”Workflows解决的是“一条流程怎么跑”。比如说常规的版本发布流程、新模块上线检查清单、每日代码同步流程这些多步骤、跨工具的任务都可以整理成Workflow让Claude Code照着走。我常用的方式很简单在项目根目录建一个.claude/workflows/目录里面放流程文档。比如release.md写清楚从拉取最新代码、跑测试、构建、生成Changelog到最后提交Tag的完整步骤。需要触发流程时在对话里说按 .claude/workflows/release.md 执行发布流程Claude Code会按文档逐步执行每完成一步跟我确认一次。这种方式的好处是流程可版本化、可review、可优化团队里的新成员也不容易漏步骤。如果你的Workflow跟外部脚本联动比如要在特定时间自动跑可以配合headless模式写进定时任务。我后面会讲headless模式的细节这里先记住一个概念Claude Code能作为命令行工具被脚本调用这给自动化留了无限空间。5.3 调整思考等级让Claude多想一会儿很多复杂问题不是模型能力不够而是“想得不够深”。Claude Code支持调整思考等级控制模型在做推理时的努力程度。不同等级之间的差异很像考试时“5分钟答完”和“半小时深度思考再作答”的区别。在新版本的Claude Code里可以在对话中使用/think命令调整当前会话的思考级别级别从低到高包括常规、高、超高等档位超高模式下对应的概念就是热搜里常看到的xhigh。也可以查看启动帮助看看你的版本是否支持利用环境变量或启动参数直接预设思考强度。实践建议是简单需求别开高思考等级响应慢且没必要复杂架构设计、疑难Bug排查、大规模重构才把思考等级调到高位。我做过一次对比同一个模块拆分任务常规模式给出的方案中规中矩切到xhigh之后它额外考虑到了依赖方向、测试影响面和数据迁移风险方案质量明显上了一个台阶。思考等级不是一个需要每次调整的旋钮但它确实是你工具箱里值得知道的一把“重武器”。6. 将Claude Code嵌入你的工具链6.1 Headless模式让脚本也能调用AI交互模式适合人盯着用但如果你希望每天定时让AI检查代码、自动生成日报、或者在CI流水线里跑一轮审查就需要用到Headless模式。Headless模式也叫非交互模式通过-p参数传入指令Claude Code执行完任务后直接退出不进入对话界面。比如claude -p 审查当前git diff输出潜在问题和修复建议 --output-format json加--output-format json可以让输出变成结构化JSON方便下游程序解析。再配合Shell脚本和cron定时任务就能实现很多自动化场景。我实际做过的一个用法是每晚自动运行一轮代码审查把结果推送飞书群。具体做法是写一个Shell脚本里面调用claude -p把审查结果输出到一个文件再用飞书机器人Webhook把文件内容推送出去。整个链路不需要任何人值班第二天早上到办公室就能看到前一天的代码质量报告。6.2 用Hooks把AI挂进工程工作流Hooks是Claude Code的另一个自动化接口它允许你在AI执行工具调用前后触发自定义脚本。这听起来抽象但应用场景很直接。比如我想在AI执行所有Bash命令之前把待执行的命令先记录到日志或者在AI每次读取文件之后检查它有没有越权读取敏感路径。这些事情都可以通过Hooks实现。Hooks配置写在settings.json里格式大致如下{ hooks: { PreToolUse: [ { matcher: Bash, hooks: [ { type: command, command: echo \准备执行命令\ /tmp/claude-hooks.log } ] } ] } }Hooks的价值在于把Claude Code嵌入到你的安全、规范和审计体系里。它不是简单的“执行前通知”而是让你能够在AI动手前拦截、动手后校验、结束时汇总适合需要强管控的团队使用。6.3 桌面端与团队协作怎么做很多不习惯终端的人会问有没有桌面版。目前Anthropic官方没有单独发布“Claude Code桌面版”市面上的桌面外壳基本都是社区封装的可视化界面底层还是调用同一个CLI。我的建议是先用好VS Code集成那已经能满足九成需求没必要为了界面去折腾第三方外壳。团队协作方面Claude Code的会话和记忆文件可以纳入项目仓库新人拉下来直接就能用同一套项目背景和Skills配置。更进一步的团队集成就是前面提到的飞书机器人或者Webhook通知。把Claude Code嵌入到代码评审、线上巡检、发布流水线里它就能从一个“个人助手”变成“团队工具”。7. 常见问题速查与避坑实录7.1 安装失败和命令找不到最常见的错误是装完了在终端输入claude提示找不到命令。原因基本是npm全局安装目录没有加入系统PATH。先执行npm config get prefix找到全局目录后把它加到Shell的PATH里然后重新加载配置。如果你是通过nvm装的Node尽量保证claude安装在当前node版本的全局目录下切换Node版本后可能需要重新安装全局包。另一个高频问题是npm install -g时报权限错误。解决办法是不要用sudo硬刚优先检查是不是Node安装方式的问题推荐用nvm重新安装Node环境。我见过太多因为sudo安装导致后面每个包都得加sudo的惨案。7.2 连接报错与鉴权失败启动时如果出现类似“Unable to connect to Anthropic”的错误按顺序排查。先看网络通不通。确认当前机器能够访问外网HTTPS有些企业内网会拦截外部API这类问题需要找网络管理员确认放行。接着检查环境变量。确认ANTHROPIC_API_KEY或者ANTHROPIC_AUTH_TOKEN是否设置正确并且没有过期。再看第三方兼容服务时确认ANTHROPIC_BASE_URL填写的地址是否正确不要多加斜杠和路径。最后检查系统时间API请求依赖时间戳本机时间偏差过大会导致鉴权失败。如果是接DeepSeek时报错常见原因是DeepSeek账号没余额或者模型名填了不存在的值。核对一下ANTHROPIC_MODEL的取值是不是deepseek-chat或deepseek-reasoner。7.3 权限确认太频繁怎么办默认模式下AI每执行一个敏感操作就会弹确认高频操作时确实烦人。如果是在可接受的开发环境里把权限模式改成acceptEdits能明显减少打断。claude --permission-mode acceptEdits如果想永久生效可以用claude config set --global permissionMode acceptEdits但我要再强调一次不要轻易切到完全跳过确认的模式。你省下的每一次确认都可能是未来的一次事故隐患。7.4 彻底卸载与清理卸载Claude Code的命令很简单npm uninstall -g anthropic-ai/claude-code但如果你不清理配置目录登录状态、历史会话、Skills这些数据都还会留在本机。想彻底清理删掉下面的目录和文件rm -rf ~/.claude rm -f ~/.claude.json删除之前记得备份重要数据比如~/.claude/skills/里手动装的Skill以及项目里的CLAUDE.md文件这些都是你自己积累的资产卸载了工具不等于这些资料没用了。7.5 高频命令速查表命令作用claude --version查看版本claude -p 指令非交互模式执行指令/init扫描项目并生成CLAUDE.md/review审查当前git diff/model切换模型/permissions管理权限模式/clear清空会话上下文/terminal执行终端命令/think调整思考等级/help查看完整帮助我在坑里摸爬滚打了一个多月最大的感受是Claude Code这类工具真正考验人的不是会不会敲命令而是会不会把目标讲清楚、会不会控制风险、会不会在它跑偏的时候及时叫停。你先从小任务开始比如让它给现有函数补测试、写注释再慢慢放到它整个模块重构、跨文件改造逐步建立信任感。每次踩坑都记录下来写进项目里的CLAUDE.md下一次它会帮你少踩很多坑。工具更新很快网上搜到的教程很多都过时了养成看/help的习惯比收藏任何攻略都管用。