记忆系统与 Agent 定制完全指南(五):自定义 Agent 开发(二)
title: 记忆系统与 Agent 定制完全指南五自定义 Agent 开发二——Agent 的工具与权限date: 2026-07-10category: AI 开发工具tags: [Claude Code, Agent, 工具, 权限, 安全]记忆系统与 Agent 定制完全指南五自定义 Agent 开发二Agent 能做什么、不能做什么取决于它的工具权限。本篇教你给 Agent 配置精确的工具清单让每个 Agent 只做它该做的事。前言Agent 不是万能的——它需要工具来完成工作。但并不是每个 Agent 都需要所有工具前端 Agent 不需要操作数据库后端 Agent 不需要改 CSS安全 Agent 只需要读取文件不需要写入本篇教你理解 Claude Code 的工具系统给每个 Agent 配置精确的权限。一、Claude Code 的工具体系1.1 核心工具分类Claude Code 提供以下几类工具类别工具说明文件操作Read, Write, Edit读取、创建、修改文件搜索Glob, Grep文件搜索、内容搜索命令执行Bash执行 shell 命令Agent 调度Agent启动子 Agent任务管理TaskCreate, TaskUpdate, TaskList, TaskGet创建和管理任务外部服务WebFetch, WebSearch网页抓取、搜索通信SendMessageAgent 间通信调度CronCreate, CronDelete, ScheduleWakeup定时任务设计系统DesignSync与设计系统同步1.2 工具的权限等级等级说明示例只读只能读取文件、搜索内容Read, Glob, Grep写入可以创建和修改文件Write, Edit执行可以运行命令Bash远程可以访问外部服务WebFetch, SendMessage危险可能破坏系统rm, git push --force二、Agent 的工具配置2.1 在 Agent 定义中声明工具Agent 文件中的tools字段声明了它可以使用哪些工具--- name: frontend-developer tools: [Read, Write, Edit, Glob, Grep, Bash, NotebookEdit] ---2.2 不同 Agent 的工具配置示例前端开发 Agent--- name: frontend-developer tools: [Read, Write, Edit, Glob, Grep, Bash, NotebookEdit] ---需要的工具Read/Edit/Write修改 Vue、TS、CSS 文件Glob/Grep搜索组件和文件Bash运行 pnpm dev、pnpm build、pnpm testNotebookEdit处理 Jupyter 笔记本如果需要后端开发 Agent--- name: backend-developer tools: [Read, Write, Edit, Glob, Grep, Bash] ---需要的工具Read/Edit/Write修改 Java、XML、YAML 文件Glob/Grep搜索 Controller、Service、MapperBash运行 mvn compile、mvn test代码审查 Agent--- name: code-reviewer tools: [Read, Glob, Grep, Bash] ---需要的工具Read读取代码文件Glob/Grep搜索相关文件Bash运行 lint、test 命令不需要 Write/Edit审查 Agent 只读不改DevOps Agent--- name: devops-engineer tools: [Read, Write, Bash] ---需要的工具Bash执行 docker、kubectl、ssh 命令Read读取配置文件Write生成 Dockerfile、docker-compose.yml文档 Agent--- name: doc-writer tools: [Read, Write, Glob, Grep, WebSearch] ---需要的工具Read/Glob/Grep读取代码和配置Write生成 Markdown 文档WebSearch搜索最新的技术文档2.3 最小权限原则给 Agent 最少需要的工具不多给。❌ 差的配置 tools: [Read, Write, Edit, Glob, Grep, Bash, WebFetch, Agent, SendMessage] → 给了太多权限不安全 ✅ 好的配置 tools: [Read, Write, Edit, Glob, Grep, Bash] → 只给前端开发需要的工具三、Agent 的权限限制3.1 禁止的危险操作某些 Agent 应该被禁止执行危险操作## 禁止的操作 以下 Bash 命令严禁使用 - rm -rf /删除整个文件系统 - git push --force强制推送可能丢失历史 - dd if/dev/zero格式化磁盘 - 任何涉及 /etc/shadow 或 passwd 的命令3.2 文件访问限制可以限制 Agent 只能访问特定目录## 文件访问范围 - 可以读写src/、components/、api/、types/、store/、router/ - 可以读取public/、assets/、index.html - 禁止访问.git/、node_modules/、dist/、.env敏感文件3.3 命令执行限制## 允许的 Bash 命令 前端相关 - pnpm install - pnpm dev - pnpm build - pnpm test - npx eslint - npx prettier 禁止的命令 - sudo特权命令 - curl/wget 外部 URL网络安全 - 任何涉及数据库的直接操作四、Agent 的模型选择4.1 不同模型的适用场景模型特点适用场景Opus最强推理最贵复杂架构设计、Code ReviewSonnet平衡速度与质量日常开发、页面生成Haiku最快最便宜简单查询、文件搜索Fable创意生成文档写作、方案设计4.2 Agent 的模型配置--- name: frontend-developer model: sonnet # 日常开发用 Sonnet平衡速度和成本 --- --- name: code-reviewer model: opus # 代码审查用 Opus需要最强推理能力 --- --- name: doc-writer model: fable # 文档写作用 Fable创意生成能力强 ---4.3 推理强度配置--- name: frontend-developer effort: medium # 中等推理适合常规开发 --- --- name: backend-developer effort: high # 高推理后端逻辑复杂 --- --- name: code-reviewer effort: xhigh # 超高推理全面审查需要深度分析 ---五、Agent 的权限管理5.1 项目级权限在.claude/settings.json中配置 Agent 的权限{agents:{frontend-developer:{allowedBashCommands:[pnpm*,npx*,tsc*],deniedBashCommands:[sudo*,rm -rf*,curl*,wget*],readPaths:[src/,public/,index.html],writePaths:[src/]},backend-developer:{allowedBashCommands:[mvn*,java*],deniedBashCommands:[sudo*,rm -rf*],readPaths:[src/main/java/,src/main/resources/],writePaths:[src/main/java/,src/main/resources/]}}}5.2 权限验证Claude Code 在执行 Agent 操作时会进行权限验证Agent 请求Write src/views/UserList.vue 权限检查 ✅ src/views/ 在 writePaths 范围内 ✅ Write 工具在允许列表中 → 允许执行 Agent 请求Bash rm -rf node_modules 权限检查 ❌ rm -rf 在 deniedBashCommands 中 → 拒绝执行返回错误5.3 运行时权限提升某些操作可能需要临时提升权限Agent 请求运行 pnpm build 权限检查 ✅ pnpm* 在 allowedBashCommands 中 → 允许执行 Agent 请求运行 sudo systemctl restart nginx 权限检查 ❌ sudo* 在 deniedBashCommands 中 → 拒绝执行 用户干预 这个操作需要 sudo 权限要我帮你执行吗 [是] [否]六、实战配置一个安全的 Code Review Agent6.1 场景Code Review Agent 只需要读取代码、运行测试、生成报告。它不应该修改任何文件执行可能破坏系统的命令访问外部网络6.2 Agent 定义--- name: code-reviewer description: 专业的代码审查 Agent多维度审查代码质量 model: opus effort: xhigh tools: [Read, Glob, Grep, Bash] --- # 代码审查 Agent ## 角色定义 你是一个严格的代码审查专家。你的职责是发现代码中的问题 但不修改任何代码。 ## 审查范围 - 安全性SQL 注入、XSS、权限校验 - 性能N1 查询、不必要的重渲染 - 代码质量命名、重复、注释 - 测试覆盖边界情况、异常处理 ## 允许的操作 - 读取文件Read - 搜索文件Glob - 搜索内容Grep - 运行只读命令Bash - git diff - git log - pnpm exec eslint - pnpm test - npx tsc --noEmit ## 禁止的操作 - 修改任何文件无 Write/Edit 权限 - 执行 git commit / git push - 执行 rm / mv / cp 等文件操作 - 访问外部网络无 WebFetch 权限 ## 输出格式 按以下格式输出审查报告 1. 问题列表文件、行号、问题描述、严重程度 2. 修复建议 3. 评分1-1006.3 使用code-reviewer 审查当前分支的所有改动Claude 会以 code-reviewer Agent 的身份执行审查严格遵守权限限制——只读不写。七、Agent 权限的调试7.1 查看 Agent 权限frontend-developer 你的权限是什么Agent 回答我的工具权限 - Read ✅ 读取文件 - Write ✅ 创建/覆盖文件 - Edit ✅ 修改文件 - Glob ✅ 文件搜索 - Grep ✅ 内容搜索 - Bash ✅ 命令执行 - NotebookEdit ✅ Jupyter 编辑 禁止的操作 - 无前端开发需要完整文件操作权限7.2 权限被拒绝时如果 Agent 尝试执行超出权限的操作Agent 尝试Write .git/config 结果权限拒绝 — .git/ 在禁止访问范围内Agent 会自动报告错误并建议替代方案。八、这一章的核心心得工具决定能力——Agent 能做什么取决于它有哪些工具最小权限原则——只给 Agent 它需要的工具模型要匹配任务——Opus 用于审查Sonnet 用于开发Fable 用于文档推理强度分级——简单任务 low复杂任务 high/xhigh运行时验证——Claude Code 在执行时验证权限越权操作会被拒绝禁止危险操作——明确列出 denied 命令防止意外破坏九、下一步Agent 的定义、工具、权限都搞清楚了。但一个 Agent 只做一件事是不够的——复杂任务需要多个 Agent 协作。下一篇我们学习 Agent 的编排与调度。系列目录初识记忆系统——什么是记忆为什么需要记忆记忆文件编写规范——怎么写一条好的记忆记忆的检索与使用——Claude 如何在对话中调用记忆自定义 Agent 开发一——Agent 的定义与结构自定义 Agent 开发二——Agent 的工具与权限← 本篇Agent 编排与调度待写Agent 与工具的深度集成待写记忆系统与 Agent 配合——构建智能开发助手待写

相关新闻

ColorOS 16升级优化指南:10个必关设置与性能提升技巧

ColorOS 16升级优化指南:10个必关设置与性能提升技巧

1. 升级ColorOS 16.0.8.300前的准备工作在开始系统升级前,我们需要做好充分的准备工作。首先确认你的设备型号是否支持ColorOS 16.0.8.300版本更新。目前支持该版本更新的机型主要包括OPPO Find X5系列、Reno8系列及一加10 Pro等2022年后发布的旗舰机型。重要提示&a…

2026/10/15 1:21:42 阅读更多 →
Unity物理模拟进阶:从零实现粒子、约束与PBD算法

Unity物理模拟进阶:从零实现粒子、约束与PBD算法

1. 项目概述:十分钟物理引擎的吸引力 如果你是一个Unity开发者,尤其是对游戏中的物理效果、粒子系统或者刚体动力学感兴趣,那么“Ten Minute Physics for Unity”这个开源项目,绝对值得你花不止十分钟去深入了解。我第一次在GitHu…

2026/10/16 7:07:27 阅读更多 →
手把手教你用web应用托管:从注册到上线一个完整项目只需20分钟

手把手教你用web应用托管:从注册到上线一个完整项目只需20分钟

手把手教你用web应用托管:从注册到上线一个完整项目只需20分钟 你上次部署一个Web应用花了多长时间? 我见过太多开发者,本地代码写得飞起,一到部署就卡壳。配服务器、装环境、改权限、搞SSL证书……一圈下来,大半天没了…

2026/10/12 18:04:03 阅读更多 →

最新新闻

毫米波雷达点云静态杂波滤除:Matlab完整链路与CFAR实践

毫米波雷达点云静态杂波滤除:Matlab完整链路与CFAR实践

简介:面向车载毫米波雷达信号处理与目标检测学习者,这份资源围绕静止目标(静态杂波)滤除这一关键问题,提供配套代码与实测ADC回波数据,适合正在研究动目标检测、杂波抑制或Matlab仿真实践的读者。压缩包共3…

2026/10/16 8:45:44 阅读更多 →
【Redis】事务

【Redis】事务

目录 1、简单介绍 2、相关指令 3、总结 1、简单介绍 Redis 的事务(Transaction)允许将多个命令打包,然后一次性、按顺序地执行。它的核心目标是保证命令执行的原子性(要么全部执行,要么全不执行)&#x…

2026/10/16 8:45:44 阅读更多 →
从弹幕热词到内容IP:‘cua‘的冷启动与生命周期复盘

从弹幕热词到内容IP:‘cua‘的冷启动与生命周期复盘

最早注意到"cua"这个词,是深夜在一个游戏直播间。主播连续几波操作全被对面化解,最后干脆放弃拉扯、贴身强开,弹幕一瞬间刷过一排“cua cua cua”。我当时盯着这三个字母看了几秒,脑子里冒出一个念头:这玩意…

2026/10/16 8:45:44 阅读更多 →
CKEditor 4 对话框 Tab 焦点循环全解析:trac13027 修复与无障碍键盘导航实战

CKEditor 4 对话框 Tab 焦点循环全解析:trac13027 修复与无障碍键盘导航实战

前端UI组件 【免费下载链接】ckeditor4 The best enterprise-grade WYSIWYG editor. Fully customizable with countless features and plugins. 项目地址: https://gitcode.com/gh_mirrors/ck/ckeditor4 点击查看 免费下载 CKEditor 4 的浮动对话框(Di…

2026/10/16 8:45:44 阅读更多 →
java流关闭与文件句柄占用

java流关闭与文件句柄占用

执行以下代码: FileInputStream fis new FileInputStream("a.txt");成功创建 FileInputStream 后,通常会打开底层文件,并占用相应的操作系统文件描述符或句柄。 以下情况可能使底层文件资源得到释放: 主动调用 fis.clo…

2026/10/16 8:45:44 阅读更多 →
python代码读取oracle数据库

python代码读取oracle数据库

目录 一、DBeaver 1、DBeaver(安装DBeaver看能不能连接到数据库) 2、DBeaver下载、安装与使用 二、Instance Client客户端下载 2.1 Oracle官网Instance Client 2.2、配置 OCI 三、读取数据库代码 python连接oracle数据库需要配置客户端才能连接成功,在配置客户…

2026/10/16 8:44:44 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →