✨ 要点🔬 技术摘要
这篇论文就像是在给**“人工智能编程助手”(比如 Claude Code、GitHub Copilot 等)做的一次 “体检报告”**。
想象一下,你雇佣了一群超级聪明的AI 程序员 来帮你写代码。这些 AI 很聪明,但它们刚来的时候,就像一群刚入职的实习生,不知道你们公司的规矩、不知道代码该怎么写、也不知道项目里有什么特殊要求。
为了让这些 AI 能更好地工作,开发者们需要给它们写一些**“说明书”或 “操作手册”**。这篇研究就是去 GitHub 上(全球最大的代码仓库)看了 2900 多个项目,看看大家是怎么给这些 AI 写说明书的。
以下是这篇论文的核心发现,用大白话和比喻来讲:
1. 核心发现:大家最喜欢用“一本通” (Context Files)
比喻 :这就好比给新来的实习生发一本**《员工手册》**(通常是 Markdown 格式的 .md 文件,比如 AGENTS.md 或 CLAUDE.md)。
现状 :绝大多数公司(代码仓库)只给 AI 发这一本手册。这是目前最流行、最基础的做法。
新趋势 :以前大家用不同公司的模板(有的叫 CLAUDE.md,有的叫 GEMINI.md),但现在大家发现,不如统一用一本叫 AGENTS.md 的通用手册。这就像大家发现,不管你是用安卓还是苹果手机,大家都开始用同一个通用的“操作指南”了。
结论 :AGENTS.md 正在成为行业标准,是配置 AI 的最佳起点 。
2. 高级功能:大家“浅尝辄止” (Skills & Subagents)
比喻 :
技能包 (Skills) :就像给实习生发一个**“工具箱”**,里面不仅有说明书,还有现成的脚本、工具,甚至能直接执行任务。
子代理 (Subagents) :就像给实习生配一个**“小助手”**,让它能独立去处理某个具体任务,再回来汇报。
现状 :虽然这些高级功能很强大,但大家用得很少,而且用得比较“懒” 。
大多数公司只定义了 1 到 2 个这样的“工具箱”或“小助手”。
更有趣的是,大家虽然叫它“技能包”,但里面装的90% 都是静态的文档 (就像把说明书打印出来塞进盒子里),而不是可执行的代码 (真正的自动化脚本)。
这就好比给了实习生一个“自动炒菜机”,结果大家只把它当成了“菜谱架”,从来不去按那个“自动炒菜”的按钮。
结论 :大家目前只把 AI 当作“高级查阅员”,还没完全把它变成“自动化执行者”。
3. 不同的“企业文化” (Distinct Tool Cultures)
比喻 :不同的 AI 工具就像不同的**“公司”**,它们有自己的“企业文化”和“管理风格”。
Claude Code 派 :喜欢用各种各样的配置,像个“全能型”公司,什么工具都用。
Cursor 派 :特别喜欢用“规则”(Rules),像个“纪律严明”的公司,喜欢定条条框框。
Copilot 派 :比较保守,通常只给一本基础手册。
结论 :不同的 AI 工具正在形成各自独特的使用习惯。如果你同时用好几个工具,可能会发现它们之间的“规矩”不太一样,需要小心处理。
4. 给开发者的建议 (Practical Takeaways)
新手入门 :别想太复杂,先写一个 AGENTS.md 文件。这是目前最通用、最不容易出错的方式,就像先给新员工发一本通用的入职指南。
多工具共存 :如果你同时用好几个 AI 工具,一定要维护好这个 AGENTS.md,把它作为大家都能看懂的“通用语言”。
关于高级功能 :虽然“技能包”和“子代理”很酷,但目前大家用得还比较浅。如果你想让 AI 真正自动化干活(比如自动运行脚本),可能需要多花点心思去配置,但目前大家主要还是把它当文档用。
总结
这就好比AI 编程工具 正在从“只会聊天的机器人”进化成“能干活的员工”。 目前,大家主要还在给它们发**“纸质说明书”(Context Files),并且正在统一成一种 “通用说明书”(AGENTS.md)。 虽然它们手里已经拿着 “自动化工具箱”(Skills)和 “小助手”(Subagents),但大家还没完全学会怎么让它们 “自动干活”,更多时候还是把它们当 “参考书”**在用。
这篇研究告诉我们:现在统一标准(用 AGENTS.md)最重要,而未来如何真正利用高级功能让 AI 自动干活,是接下来大家需要探索的方向。
这是一份关于《配置代理式 AI 编程工具:一项探索性研究》(Configuring Agentic AI Coding Tools: An Exploratory Study)的详细技术总结。
1. 研究背景与问题 (Problem)
随着基于大语言模型(LLM)的代理式 AI 编程工具 (Agentic AI coding tools,如 Claude Code, GitHub Copilot, Cursor 等)的兴起,这些工具不仅能被动回答问题,还能主动分解任务、调用工具并自主执行代码。为了适应特定的项目和工作流,开发者可以通过版本控制的仓库级文件(如 Markdown 和 JSON)来配置这些代理的行为。
然而,当前的配置机制日益多样化且分散,缺乏系统性的研究来回答以下核心问题:
RQ1 : 代理式 AI 编程工具提供了哪些配置机制?
RQ2 : 在开源软件(OSS)仓库中,哪些机制被实际采用?
RQ3 : 这些配置机制是如何被采用的(深度、频率、组合方式)?
2. 研究方法 (Methodology)
本研究采用实证研究 方法,结合了文档分析和大规模数据挖掘:
数据收集 :
样本来源 : 从 GitHub 获取了 37,249 个活跃维护的软件工程仓库。
筛选标准 : 排除非工程类项目、非英语 README、归档/锁定仓库,并限制语言(Python, TypeScript, Java 等)和活跃度。
最终样本 : 经过筛选和去重,最终分析了 2,923 个包含 AI 配置文件的仓库。
工具覆盖 : 研究涵盖了五种主流的代理式 AI 工具:Claude Code, GitHub Copilot, Cursor, Gemini, 和 Codex 。
分析流程 :
机制识别 : 通过审查官方文档,系统性地定义了 8 种配置机制。
启发式检测 : 编写脚本扫描仓库的默认分支,根据文件名和目录结构(如 CLAUDE.md, .cursor/ 等)检测配置机制的存在。
深度分析 : 对 Context Files (上下文文件)、Skills (技能)和 Subagents (子代理)这三种核心机制进行了详细的内容和结构分析。
验证 : 通过检查提交历史中的 AI 作者标识(如 Co-authored-by)来验证配置文件的活跃使用情况。
3. 关键贡献 (Key Contributions)
建立了配置机制分类体系 : 系统性地识别并记录了 8 种 配置机制,涵盖了从静态上下文到可执行集成和外部连接的频谱:
Context Files (上下文文件)
Skills (技能)
Subagents (子代理)
Commands (命令)
Rules (规则)
Settings (设置)
Hooks (钩子)
MCP (模型上下文协议) 服务器
大规模实证分析 : 首次对 2,923 个 GitHub 仓库中的配置采用情况进行了量化分析,揭示了不同工具生态系统的采用模式。
揭示了标准化趋势 : 发现了 AGENTS.md 正在成为一个跨工具的互操作标准。
指出了“浅层采用”现象 : 揭示了尽管高级机制(如 Skills)功能强大,但开发者主要将其作为静态文档使用,而非可执行的工作流。
4. 主要研究结果 (Results)
4.1 配置机制的分布 (RQ1 & RQ2)
Context Files 占据主导地位 : 这是最普遍的配置机制,几乎所有采用 AI 工具的仓库都使用了它。它是许多仓库中唯一 的配置手段。
工具特异性 :
Claude Code : 用户采用了最广泛的配置机制组合。
Cursor : 高度依赖 Rules (72.8% 的仓库) 和 Commands。
Gemini : 较多使用 Settings 。
Copilot : 主要局限于 Context Files。
多工具采用 : 69% 的仓库仅配置了一种工具,18.1% 的仓库仅使用了工具无关的 AGENTS.md 文件。
4.2 详细机制分析 (RQ3)
Context Files (上下文文件) :
格式 : CLAUDE.md 是最常见的格式,但 AGENTS.md 正在迅速崛起,成为跨工具的事实标准。
引用模式 : 仓库中常存在多个上下文文件。分析发现 CLAUDE.md 经常指向 AGENTS.md,表明开发者倾向于将 AGENTS.md 作为核心基准,其他文件作为补充。
Skills (技能) :
采用率低 : 仅在 158 个仓库中发现(约 5%)。
浅层使用 : 大多数仓库仅定义了 1-2 个技能。
静态为主 : 85.5% 的 Skills 没有 包含额外的资源目录(如 scripts/ 或 assets/)。它们主要被用作结构化的静态文档,而非包含可执行脚本的动态工作流。
Subagents (子代理) :
采用模式与 Skills 相似,大多数仓库仅定义 1-2 个。
未利用高级功能 : 尽管 Claude Code 的子代理支持“持久化记忆”(persistent memory),但在研究样本中未发现 任何仓库使用此功能。
4.3 生态系统差异
不同工具形成了独特的配置文化 :Claude 用户倾向于广泛配置,Cursor 用户偏好规则驱动,而 Copilot 用户配置较为保守。
仓库特征差异:使用 Cursor 的仓库通常更年轻、代码量更大;使用 Gemini 的仓库贡献者和提交量更高。
5. 研究意义与启示 (Significance)
对实践者 (Practitioners)
标准化起点 : AGENTS.md 应被视为配置代理式 AI 工具的自然起点,特别是在多工具环境中,它能提供跨工具的兼容性。
分层配置 : 当多个上下文文件共存时,建议采用分层结构(例如,工具特定文件作为适配器,引用共享的核心 AGENTS.md),以避免指令冲突。
挖掘潜力 : 目前 Skills 主要被用作文档,开发者应尝试利用其可执行脚本功能来自动化复杂工作流。
对工具供应商 (Tool Vendors)
原生支持 : 原生支持 AGENTS.md 应成为行业标准(Cursor 和 Codex 已支持)。
降低门槛 : 高级机制(如 Skills 和 Subagents)的采用率低可能是因为配置复杂。厂商需要改进文档和入门引导,以缩小“表达能力”与“实际采用”之间的差距。
对研究者 (Researchers)
纵向研究 : 需要长期跟踪配置策略如何随工具成熟而演变。
性能评估 : 需要通过受控实验验证,使用高级机制(如可执行的 Skills)是否比仅使用 Context Files 能带来显著的性能提升(如减少 Token 消耗、提高任务完成率)。
互操作性 : 研究多工具环境下的配置冲突检测与解决机制。
总结
该研究揭示了代理式 AI 编程工具配置领域的现状:Context Files 是基石,AGENTS.md 正在成为通用标准,但高级功能(如可执行技能)的采用仍处于“浅层”阶段。 这一发现为理解开发者如何与 AI 代理协作提供了实证基准,并指明了未来工具优化和研究的方向。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。