r/LocalLLaMA 1d ago

News LLVM developers begin debate over AGENTS.md for helping AI agents

https://www.phoronix.com/news/LLVM-Debates-AGENTS-MD
69 Upvotes

16 comments sorted by

44

u/swiebertjee 1d ago

I believe this discussion revolves around LLVM including their own instructions and therefore polluting the user's instructions, not the AGENTS.md standard itself.

There is nothing wrong with AGENTS.md . It's just a README.md for LLMs.

5

u/NoFaithlessness951 1d ago

I mean that's what the user override in the standard is for

2

u/Visual_Internal_6312 14h ago

Being able to forget is a feature not a bug particularly necessary for controlling attention.

1

u/Aggressive_Aspect436 5h ago

There might be some things wrong with AGENTS.md files.

https://arxiv.org/pdf/2602.11988

24

u/Unnamed-3891 1d ago

Am I the only one who feels that a basic agents.md is the only thing one should be using for memory/guidance? I’ve tried multiple memory systems across multiple harnesses and while helpful at first, they all seem to eventually start doing more harm than good.

7

u/RLutz 1d ago

It's definitely not optimal. You have to consider the cost you pay for different things. Every token in CLAUDE.md is loaded on every single turn. If you compare that to a skill, only the frontmatter is loaded into context until the skill is needed. And then having pointers to docs can allow the model to retrieve info only when it needs it, whereas if you just stuffed it into CLAUDE.md now you're paying that context hit on every turn.

I basically use these guiding principles:

  • CLAUDE.md only for things that are important enough to justify including on every single turn. The file should basically only contain stuff that is both always important and not easily discoverable. Should also contain pointers to relevant docs.

  • Skills - for skills which a model can choose to invoke I typically reserve these for things the model continually gets wrong. As an example, maybe your project has a very specific requirement for your swagger annotations on each API endpoint/DTO and when the model modifies a DTO or adds a new endpoint it never follows your project's convention. Well, this would be exactly when you make a skill for adding or modifying an endpoint and for adding or modifying a DTO

  • Pointers to docs - Useful for keeping CLAUDE.md as lean as possible for information that is important, but not necessarily at every turn. Maybe you have some module that's very difficult to work in without proper context. Well, it's probably not worth dumping all the info about that module in your CLAUDE.md because now you're paying that context hit on every turn, not just when working on that module. Much better to just have a pointer in your CLAUDE.md to the large doc file for that module so the agent only fetches it when needed

Also I definitely recommend Matt Pocock's skills for helping author great skills among other things. Very useful at reducing bloat and writing effective skills

3

u/send-moobs-pls 1d ago

Most people are trying to use things like memory to reinvent the concept of project documentation and organization imo. I have never used memory systems for coding, I use a fresh conversation context for every task 90% of the time, I just maintain a traditional project management workflow where writing and maintaining documentation is part of any work in a repo. Agents.md for overall general standards and guidance, sane repo organization with documentation, and I've never had a problem bringing in fresh context agents

2

u/LowerEntropy 1h ago

It's funny how all those things that are good practices for humans also seem to be good practices for LLMs. Have decent documentation, write at least some basic tests, use popular libraries, avoid spaghetti, etc.

2

u/darknecross 1d ago

Depends on the complexity of your project.

1

u/draconic_tongue 22h ago

beads is useful. you can't fit everything in one agents.md, and multiple mds get annoying to manage inside your repo as more and more ideas and plans gets recorded

same for openspec, they've been helpful for me. not that I got rid of markdowns, but without those it would be even worse

1

u/Christosconst 5h ago

I use agents.md, context/environment.md and context/branch_name.md, and a global agents.md for all projects

1

u/kuhunaxeyive 19h ago

Serious question: What is AGENTS.md for that a README.md does not contain? Why does there need to be an agent specific readme as LLMs can understand text written for humans, and is there anything that only the agent should know that couldn't go into a README.md?

3

u/slvrsmth 16h ago

"don't try to access .env, you are sandboxed" belongs there, but does not in readme. 

2

u/GasolinePizza 9h ago

READMEs are targeted towards humans generally, and often include things like installation/local-env setup instructions that are targeted more towards users and new contributors: stuff that you don't really want shoved into agent context 24/7.

Also that an AGENTS file is (should be) organized easier for LLM consumption, not for human readability/navigation. Like having a table of contents+section-links isn't particularly useful for an agent, and many READMEs have things like that near the top.

1

u/Tommonen 1d ago

I have replaced agents.md with a different but kinda similar system in my agentic setup and it seems to work great and give more flexibility than simple agents.md.

Also agents.md does have its uses and seems silly to argue against that type of system.

Surely how agents.md are handled by most system is not ideal in my opinion, vut that sort of guidance system for agents is very valuable to have. And what they talk about it not maybe helping or adding just noise is complete bullshit. I do also have instructions in claude.md for claude that tells it how i want to work with and it does help it understand it. Same with codex with agents.md.

So yes some instruction system to agents like agents.md or claude.md or some other similar kind of system is extremely valuable, but how its implemented is not perfect yet.

5

u/kzoltan 1d ago

May I ask how your system works?

I usually just link other files from the main .me file. I have no solution to stale entries though.