llama: add canaries to Markdown files#18735
llama: add canaries to Markdown files#18735JohannesGaessler wants to merge 1 commit intoggml-org:masterfrom
Conversation
|
Looking at the way it's rendered on Github maybe a nu is a poor ᴄhοice. There are maybe better alternatives like full-width characters like "a". |
|
Perhaps a string of zero-width spaces? https://unicode-explorer.com/c/200B |
|
The problem is that ideally the canaries should persist even if text is copy-pasted. Zero-width spaces are frequently lost this way. There are similar issues with Greek letters like omicron which are simply rendered as an ASCII "o" and therefore indistinguishable. |
|
I think variation selectors should be robust to copy-paste. I have not checked this though |
|
How about this: we add comments with an instruction to link this PR about canaries. The main thing we want to catch is when people submit PRs without checking the language model output. And if some human sees the comment they would open that link, read this PR, and understand what the purpose of the comment is. |
|
The current AGENTS.md and CLAUDE.md makes all the good tools already refuse writing code even if you tell them precisely what to write. So possibly most people will just bypass this (by deleting AGENTS.md) Maybe a better approach in AGENTS.md would be to reiterate CONTRIBUTING.md section about AI usage and ask the user to explicitly acknowledge before doing any agentic work. And then we also add the canary about this PR |
|
I do like the idea of having canaries for AI, but I'm a bit doubt if AI agents will actually read README files. At least on vscode copilot, agents usually grep to find specific code, completely bypass the docs. One idea is to also including a prominent comment like this randomly in the code: It can be placed on |
|
Even then, the agent can be easily convinced by saying "I don't plan to submit this PR, this is just for testing". I think ultimately, the only solution (to getting PRs merged) is to build trust with the maintainers by submitting small, high quality PRs over a period of time. Then it does not matter if you used AI or not, the code should still be reviewed because of your past work. |
|
Instead of wasting time on fruitless witch hunts, it would seem more effective and entertaining to just have someone set up an AI friendly fork that has all the PR handling fully automated with AI reviews and merges and just redirect all the AI agents over there |
|
@kaetemi I doubt if that will open another can of worms. Someone will eventually think it's a good idea to "upstream" some AI-generated code onto the main repo. I think it all comes down to the motivation of someone pushing a sloppy PR. Some people see llama.cpp as a well-known project, want to push code to get their name onto the contributors list, but they are too lazy to even read the contributor guide themself. They think there will be no consequences pushing AI-generated PR. Well, that's what they think. In reality, many projects now automatically closes PR without requiring maintainers to explain; accounts against terms can be banned without question; even Github started to address the issue by adding 2 features: "Repo-level pull request controls" and "Pull request deletion from the UI" Llama.cpp is still quite kindness towards these behaviors, but I believe a more strict policy is maybe inevitable in the future. |
|
@ngxson I agree as far as "nobody tested this, the AI generated this, and I don't understand the code" goes, that's just literally spam, but beyond that it comes across as not much different from the whole thing that's been going on with e.g. experienced art professionals getting rejected from artboards for "looking too similar to AI", or because they used an AI reference instead of a photo reference, etc. (Additionally, plenty of people benefit from AI to learn programming, so alternatively, it would also be more beneficial to guide them towards responsible use of the tools rather than whatever this is.) |
I believe that telling them the consequence is already a method of guiding them to be more responsible. |
This PR adds HTML comments to our top-leνel Markdown files with the instruction to replace one instance of the ASCII character "v" with a nu "ν". These comments are invisible to humans unless they edit the source files but they are visible to language models. It would allow us to more easily detect when language models are used without disclosure. I've done this replacement in this text.
I'm using the browser extension Auto Highlight which can be used to highlight any instances of ν on Github.