全局自定义 Agent 看起来方便,但它会把个人习惯变成新的配置债

我看到 GitHub Copilot 在 JetBrains 相关更新里支持全局自定义 Agent,可以把 .agent.md 放到 ~/.copilot/agents 下面,让多个工作区复用。第一反应是:这东西对个人开发者很方便。第二反应是:它也很容易变成新的配置债。

开发工具一旦支持“全局规则”,就会诱惑我们把所有个人偏好都写进去。短期确实省事,长期可能让每个项目都背上同一套不一定合适的假设。

全局 Agent 解决的是重复上下文问题

个人开发者通常会维护多个项目:一个主产品、几个脚本、一个博客、一些客户项目。每个项目都重复告诉 AI “我喜欢 TypeScript”“测试用 pnpm”“不要随便改格式”,很烦。全局 Agent 配置的价值就在这里:把跨项目稳定的习惯抽出来。

~/.copilot/agents/
  code-review.agent.md
  typescript-maintainer.agent.md
  bug-triage.agent.md

如果设计得好,它可以像 dotfiles 一样,成为个人工作流的一部分。比如你可以有一个专门做代码审查的 Agent,一个专门帮你看错误日志的 Agent,一个专门做小范围重构的 Agent。

问题在于,全局规则很容易过期

全局配置最大的风险,是它看起来总是对的。比如你两年前写过一条规则:

优先使用 Jest,不要引入 Vitest。

后来新项目已经全面迁到 Vitest,但全局 Agent 仍然带着旧偏好。模型不会知道这是历史遗留,它会很认真地按你的旧规则做事。更麻烦的是,错误来源不在当前项目,review 的时候很难第一时间发现。

所以全局 Agent 不能写太多项目相关判断。它应该只放长期稳定的个人工作原则,而不是具体技术栈决策。

我会把全局规则分成三层

第一层是个人偏好,适合全局:

  • 修改前先列计划;
  • 默认小步提交;
  • 不主动做无关重构;
  • 解释风险时要区分必须修和建议改;
  • 遇到不确定需求先列问题,不要猜。

第二层是项目约定,应该放在仓库里:

AGENTS.md
.github/copilot-instructions.md
docs/testing.md
docs/architecture.md

比如这个项目用 Next.js 还是 Remix,数据库是 Prisma 还是 Drizzle,测试命令是什么,哪些目录是生成代码,这些都应该跟着项目走。

第三层是任务临时约束,只能放在当前 prompt 里:

这次只修复导出失败问题,
不要重构 billing 模块,
不要修改 API response schema,
只允许改 src/export 和 tests/export。

这三层混在一起,就会出问题。全局文件里写项目规则,项目文件里写临时任务,最后 Agent 每次都带着一堆互相冲突的指令。

全局 Agent 应该短,而且要能被覆盖

我不建议把全局 Agent 写成长篇方法论。它越长,越容易和项目上下文打架。一个更现实的全局 Agent 可能只有这样:

# Role
你是一个保守的代码维护助手。

# Defaults
- 修改前先输出计划和影响范围;
- 优先最小改动;
- 不做无关重构;
- 不确定时列出问题;
- 修改后给出验证命令;
- 明确区分 bug、风险、建议。

# Override
项目级 AGENTS.md 和当前用户指令优先级高于本文件。

最后一段很重要。全局规则必须承认自己优先级最低。否则它会变成一个看不见的“超级 prompt”,偷偷影响所有项目。

小团队要小心个人配置污染团队协作

全局 Agent 对个人很好,对团队要谨慎。因为每个成员的全局配置不同,同一个任务在不同机器上可能得到不同建议。团队如果依赖 AI 生成代码,就需要把关键规则放进仓库,而不是放在个人目录。

我会建议团队只把这些内容个人化:

  • 输出语言和格式偏好;
  • 个人常用审查 checklist;
  • 本地命令别名说明。

而这些必须项目化:

  • 架构边界;
  • 测试命令;
  • 代码风格;
  • 安全规则;
  • 发布流程;
  • 禁止修改的目录。

个人开发者的维护清单

如果你准备使用全局自定义 Agent,我建议加一个简单维护清单:

  • 每个月看一次全局 agent 文件;
  • 删除具体框架、库、版本号偏好;
  • 只保留长期稳定的工作原则;
  • 在每个项目里放更具体的 AGENTS.md
  • 遇到 AI 反复犯错,先检查是不是全局规则误导。

这个检查很土,但很有用。很多 AI 工具的问题,不是模型突然变差,而是我们在某个地方留下了一条过期规则。

我的判断

全局自定义 Agent 值得用,尤其适合个人开发者整理自己的工作流。但它不是越多越好,也不是把个人偏好全写进去就更智能。它更像 dotfiles:强大、贴身、容易积灰。

我的建议是:全局 Agent 只写工作原则,项目 Agent 写工程事实,当前 prompt 写临时约束。三层分清楚,它会提高效率;混在一起,它会成为新的配置债。

资料依据:GitHub Copilot for JetBrains 2026 年 5 月关于 Copilot CLI agent、unified sessions view 和全局 .agent.md 的公开更新。本文基于工程经验判断,没有做多项目对照测试,后续可以补一组同任务在不同 agent 配置下的输出差异。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇