← 返回信息流
Agent SkillLINUX DO · AI·1 小时前

Vibe coding下AGENTS.MD文件占32K上下文,如何优化

原标题:vibe coding关于开发规范怎么优化啊,现在只AGENTS.MD就占了上下文32K

速览

开发者使用AI Agent进行历史项目开发,让Agent总结规范存入AGENTS.MD文件,但文件过大导致每次对话占用32K上下文。用户尝试用Skill方式但觉得不合适,因为仍需读取所有规范。该问题反映了AI辅助开发中上下文管理的一个实际挑战,需要更高效的约束机制。

AI 深度解读

背景

随着大语言模型在代码生成与辅助开发中的广泛应用,开发者逐渐摸索出名为“vibe coding”的编程风格——即通过自然语言与AI Agent交互,让AI理解项目结构、代码风格并自动生成代码。这种模式在提升开发效率的同时,也带来了新的挑战:如何让AI Agent持续遵循已有项目的开发规范,而不产生风格混乱或架构偏离?本文所讨论的案例来自LINUX DO · AI社区,一位开发者分享了自己在历史项目中采用vibe coding方式、通过AGENTS.MD文件约束Agent行为的实践经验,以及随之而来的上下文膨胀问题。

核心内容

该开发者在入职后接手一个历史项目,采用vibe coding方式,持续与AI Agent协作开发。为了让Agent遵循项目现有的结构与代码风格,他做了两件事:

  1. 让Agent主动总结开发规范:在每次迭代中,要求Agent根据自己的行为记录,将项目相关的编码规范、架构约定、命名规则等提炼出来。
  2. 将规范存入AGENTS.MD文件:从Agent总结的内容中,筛选出最关键、最实用的规范,写入一个名为AGENTS.MD的标记文件。每次与Agent对话时,该文件作为系统提示的一部分被读取,从而使Agent在后续对话中始终保持一致的开发风格。

经过近两个月的积累,AGENTS.MD文件已膨胀至约30.8 KB(二进制大小近似32 KB)。这导致一个严重问题:即使只是发送一个简单的“你好”来开启新对话,模型也必须加载整个AGENTS.MD文件,消耗掉32K的上下文窗口。这意味着后续真正有用的代码逻辑、用户需求、中间结果等都只能挤在剩余极有限的上下文空间中,极大限制了对话的深度和实用性。

该开发者也曾考虑过将规范封装成“skill”(指某种模块化、可动态加载的AI能力单元),但认为这样做并不合适,因为skill本质上仍需要将全部规范内容读取到上下文中,无法从根本上解决大小问题。

社区帖子共有6条回复,可见该问题在类似开发者群体中具有一定普遍性,但原文仅包含问题描述,未给出具体解决方案。

关键要点

  • AGENTS.MD文件是核心约束载体:开发者通过将项目规范汇总至AGENTS.MD,让AI Agent在每次对话前自动加载,实现了对Agent行为风格的一致性控制。
  • 上下文窗口成为瓶颈:AGENTS.MD文件大小约30.8 KB,占用32K上下文窗口的全部空间,导致即便是最简单的交互也需要消耗全部上下文预算,严重限制后续对话能力。
  • “skill”方案不治本:尝试将规范转为独立技能模块,但该技能在调用时仍需将全部规范内容注入上下文,并不能减少上下文占用。
  • 问题根源在于规范积累与上下文窗口的矛盾:随着项目推进,规范不断增多,而模型的上下文窗口长度固定(当前主流模型通常为32K、64K或128K),两者产生冲突。
  • 社区关注但暂无成熟方案:原文为开放性讨论,参与者均未提出有效解决方案,表明该问题在vibe coding实践中仍属待解难题。

意义与影响

该案例揭示了vibe coding模式下项目管理的新痛点。传统上,开发规范通过文档、代码审查、Lint规则等静态方式执行;而在AI辅助开发中,规范必须动态注入Agent的上下文才能生效。AGENTS.MD文件本质上是一种“上下文显式知识库”,其大小直接决定了Agent能同时处理多少有效信息。

这一问题的意义在于:

  • 对AI开发工具链提出新要求:当前主流模型(如GPT-4、Claude等)的上下文窗口虽有增长,但依然有限。开发者需要更智能的上下文管理机制,例如:向量检索(RAG)、分层提示、动态加载核心规范等,而非简单地将所有规范一次性注入。
  • 推动“提示词工程”向“上下文工程”演进:vibe coding的成功依赖高质量、高相关性的上下文。如何在有限窗口内保留最关键的行为约束,同时过滤冗余信息,将成为新的技术方向。
  • 对项目规范管理提出反思:并非所有规范都需要实时存在于Agent上下文中。部分规范可通过静态代码分析、Lint规则自动执行,无需占用Agent的“思维空间”。区分哪些规范由Agent动态遵守、哪些由工具自动执行,可能是更优的架构选择。
  • 社区实践的启示:该案例明确表明了“让Agent自己总结规范”的做法虽然方便,但缺乏规模扩展能力。未来或许需要类似“动态规范摘要”或“按需加载规范”的机制,例如根据当前开发任务只加载相关子模块的规范,而非全量规范。

总之,这一案例虽小,却切中了大模型辅助开发的核心矛盾——上下文窗口永远稀缺,而开发规范持续膨胀。如何在两者之间取得平衡,将是vibe coding从“个人实验”走向“团队工程”的关键挑战。

查看原文 →linux.do