diff --git a/.gitignore b/.gitignore index 4c3193e..fe89df8 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,12 @@ _work/ # Working notes, session handoffs, screenshots, drafts. Local scratch, never the repository's # business — and one `git add -A` from the repository root is all it takes to publish it, which is # exactly how it got in once. +# Where the state of play lives between sessions: status, the manual publication queue, task +# briefs for other models, and committee verdicts. Deliberately outside the repository — it is a +# working desk for the author and his assistants, not a public artefact, and it names unpublished +# work and unfixed defects before either is ready to be read by a stranger. +AI_Tasks/ + temp/ # Calibration texts are fetched, not redistributed: the manifest is the repo artefact. diff --git a/Docs/Blog/PUBLICACION.md b/Docs/Blog/PUBLICACION.md index 271a9ac..3e41091 100644 --- a/Docs/Blog/PUBLICACION.md +++ b/Docs/Blog/PUBLICACION.md @@ -408,6 +408,8 @@ de los seis (video / voz / cola en segundos): | `signsofai-calibration-story.{en,es}.html` | WordPress · Blogger — **generados** | | `signsofai-verdict-story.{en,es}.md` | dev.to · Hashnode · Medium — **séptimo artículo**, sin publicar | | `signsofai-verdict-story.{en,es}.html` | WordPress · Blogger — **generados** | +| `signsofai-watermark-story.{en,es}.md` | dev.to · Hashnode · Medium — **octavo artículo**, sin publicar | +| `signsofai-watermark-story.{en,es}.html` | WordPress · Blogger — **generados** | **Generar el HTML.** Los dos primeros artículos se escribieron como HTML a mano. Transcribir 1.500 palabras dos veces más, en dos idiomas, es la forma segura de corregir un párrafo en una copia y no @@ -500,6 +502,34 @@ Y trae una petición concreta que conviene repetir en cada plataforma: **escritu español**. SciELO y Redalyc no eran alcanzables, así que el lado español descansa hoy solo en prosa enciclopédica. +**Octavo artículo — el watermark, y el fallo propio que destapó.** El más oportuno de los ocho y +también el más incómodo, porque la noticia tiene días: Claude marca su salida desde el 2 de agosto. +El ángulo **no** es «el watermark no nos afecta». Es que salí a demostrar eso, no pude, y de camino +encontré un defecto peor en mi propia herramienta. + +Tres resultados, en este orden y sin invertirlo: + +1. **Reescribir para borrar la marca no cambia si marcamos el texto.** Cinco pasajes cruzaron, dos + volvieron, McNemar exacto **p = 0,453**. La hipótesis se retira en negrita. +2. **La longitud sí.** Los mismos treinta y dos documentos: **0 de 32** completos cruzan el umbral, + **13 de 89** ventanas de 400 palabras lo cruzan, y **once de treinta documentos están marcados en + una posición del texto y no en otra**. Es el issue #59. +3. **Tres revisores independientes encontraron tres frases falsas mías**, una de ellas describiendo + mal mi propio código. Están contadas en el artículo con nombre y apellido. + +Al publicar, la trampa a evitar es que un lector se lleve *«esta herramienta caza el trabajo +parafraseado con IA»* — que es exactamente lo que el estudio **no** pudo demostrar. Por eso el +titular lleva la negación delante y por eso el copy de redes también. Si hay que recortar algo, que +no sea eso. + +Puntajes en su propio pie: **ES 7/100 · variabilidad 0,66 · ~1.850 palabras**, **EN 7/100 · +variabilidad 0,66 · ~1.780 palabras**. El inglés disparó nuestra propia regla de rayas (19 en 1.775 +palabras) y se corrigió antes de generar el HTML, que es el mismo gesto que el sexto artículo. + +Portada: `social/watermark-story-cover.png`, sin palabras salvo dos puntajes, así que **sirve para +las dos ediciones**. Dibuja el hallazgo en vez de decorarlo — una página, tres ventanas, tres +veredictos, y el tramo marcado es el de líneas parejas. + ### Publicado hasta ahora | Artículo | Dónde | URL | diff --git a/Docs/Blog/signsofai-watermark-story.en.html b/Docs/Blog/signsofai-watermark-story.en.html new file mode 100644 index 0000000..1080dc2 --- /dev/null +++ b/Docs/Blog/signsofai-watermark-story.en.html @@ -0,0 +1,166 @@ + + + + + +I tried to prove Claude's watermark didn't threaten my detector. I was wrong, and found a worse fault in my own tool · SignsOfAI + + + + +
+ +
+ SignsOfAI + PeopleWorks · Microsoft MVP for .NET +
+ +
Maker story · Engineering
+

I tried to prove Claude's watermark didn't threaten my detector. I was wrong, and found a worse fault in my own tool

+

Anthropic started watermarking what Claude writes. I measured what happens to a text when somebody strips that mark — and the answer was nothing detectable. What I did find: my detector changes its mind depending on which four hundred words you paste.

+

Pedro Hernández (PeopleWorks)

+ + ▶ Download or try it — free, MIT, web and Windows. + +
+ +

Claude models released on or after 2 August 2026 carry a machine-readable watermark, and Anthropic says earlier ones will follow during a transition period. The question arrived inside a week, in forums, on LinkedIn, in my inbox. Doesn't that make a detector like yours obsolete?

+

I built SignsOfAI for teachers, and the short answer is uncomfortable for everybody. I wrote it by measuring rather than opining, and it came out the opposite of what I expected.

+

Half the answer is in the vendor's own documentation

+

Before measuring anything, read. The mark is not a hidden character: it lives in which word the model chose among several equally valid ones, biasing that choice with a key. It is a version of SynthID-Text, published by Google DeepMind in 2024. This is not an Anthropic invention; it is an industry practice arriving at one more vendor.

+

Three things follow without measuring anything:

+

Nobody outside the vendor can check anything today. The key is theirs. A detection API is promised "soon". When it arrives, checking will mean uploading a student's essay to a company's server. That is precisely the line this project refuses to cross, since everything runs on the teacher's own machine.

+

It marks only Claude. Not GPT, not a local Llama, not any of the wrappers selling "humanisation". Which gives us the sentence that will be misused in both directions: the absence of a mark is not evidence that a person wrote something. Neither "no mark, it's clean" nor the worse inverse, "no Claude mark, so they used something else, guilty".

+

The vendor's own help centre lists what defeats it: heavy editing, paraphrasing, translation, mixing into other writing, and very short passages. Those are, exactly, the conditions of a piece of student work.

+

The half that had to be measured

+

One question is not settled by reading: what does removing the mark do to the prose?

+

Because the mark lives in word choice, no invisible-character cleaner touches it. Only a rewrite does. Services already sell that rewrite. My hypothesis was comfortable: a machine rewrite flattens sentence rhythm, so somebody stripping a watermark becomes more visible to my tool, not less.

+

The trouble with measuring that is you seem to need machine-written text to compare against, and this project has a whole page arguing why such a corpus should never be assembled: it is a sample of whichever models were convenient that month, it ages badly, and it flatters whoever put it together.

+

The way out was the pair. Each unit of the study is one passage measured twice: as its author wrote it, and after a model rewrote it. Same text, same author, same subject, nearly the same length. The baseline is not estimated from a population. It is the text itself. And the human halves come from the calibration corpus, every one published before generative models existed, which remains the only honest basis for calling writing human.

+

Thirty-two pairs. Eight from each stratum, in both languages.

+

The answer: no

+

Five passages crossed the boundary that had not. Two crossed back. McNemar's exact test: p = 0.453.

+

That is not a result. With seven pairs changing side at all, only a clean sweep would have reached significance. The honest statement is that this study cannot show that rewriting changes whether a passage is flagged, in either direction. Not that rewriting is safe, and not that we catch it.

+

My hypothesis is withdrawn, and it says so in bold on the page.

+

What survives is narrower and still useful: a rewrite does not repair a bibliography that contradicts itself, and does not return a student's prose to the shape of their own earlier work. Neither of those checks runs on prose style, so paraphrasing leaves them alone.

+

What I found without looking for it

+

Building the control turned up a number that did not fit. My calibration page publishes that zero of ninety human texts cross the boundary. Yet six of my thirty-two passages already crossed it before anybody touched them.

+

The difference was length. The passages run about four hundred words; the documents they came from, several thousand.

+

So I measured the same writing by the same people, three ways:

+ + + + + + +
The same writing, measured asFlagged at 25/10095% interval
whole documents0 / 320% – 10.7%
400-word windows, three positions each13 / 898.7% – 23.4%
+

And the number that says the most: eleven of thirty documents are flagged at one position in the text and not at another, and none is flagged at all three. Whether one of those authors gets accused depends on which four hundred words somebody happened to paste.

+

The mechanism is not mysterious. Burstiness is the spread of sentence lengths, and a short window holds few sentences: the long one with three clauses and the two-word fragment that together make a paragraph read as human may not both be inside it. The measurement does not become uncertain, which a reader could allow for. It moves, in one direction, toward the machine.

+

My boundary of 25/100 was measured on documents with a median of 3,241 words, and today it is applied to a pasted paragraph with nothing in the interface saying so. It is a defect, it is published on the page itself, and it is issue #59.

+

There is a symmetry here I keep turning over: Anthropic says its mark is unreliable on short samples because there are too few word choices. Mine is unreliable on short samples because there are too few sentences. Two unrelated methods, the same floor, and a teacher holding a single paragraph is below both of them.

+

Three reviewers and three false sentences

+

This project has a house rule: nothing that changes behaviour or a published number ships without adversarial review. This time it was three independent reviewers, each told explicitly not to read the others' verdicts, because reading one turns the second opinion into an echo.

+

The arithmetic survived intact. All three recomputed McNemar, the Wilson intervals, the quantiles, the counts; one regenerated the report byte-identical from the committed data.

+

The prose did not survive. Three published sentences were false:

+

"A window from the middle of the document." My code cuts from the beginning. I had described my own code wrongly. And it is not cosmetic: the beginning of a research article is its abstract, the beginning of an encyclopedia entry its lead, which is the most compressed and most formulaic prose either genre produces. I measured a genre effect and called it a length effect. Measured at three positions, the headline fell from 18.8% to 14.6%.

+

"It is the only such case." I had written by hand that one passage preserved a verbatim quotation, breaking the instruction's rule against leaving eight consecutive words alive. Measured: twenty of thirty-two pairs, the longest run 86 words. Nearly all are quotations — a constitutional court ruling, a political pamphlet, a published definition, and none can be reworded without falsifying it. The instruction demanded preserving every fact and replacing every word, and never said which wins.

+

"It does flatten, in 20 of 32 pairs." Sign test on 20 against 12: p = 0.215. Three paragraphs above, I had applied the exact test to another count and ruled it "not a result". I applied two different standards on the same page.

+

All three are the same failure: machine-checked numbers beside a hand-waved method. So the tool now measures its own compliance on every run and prints it, whether or not it flatters the study.

+

There was a fourth, caught only by the reviewer who read the Spanish line by line: the rewrite silently corrected the originals, which the instruction forbids in those words. Intercesiónse cruza. Teoría de juegoteoría de juegos. Costaconsta. The delivered treatment was not "paraphrase", it was "paraphrase and copy-edit", so part of every score change is error repair. And that lands squarely on the stratum which exists to measure the harm done to people writing in a second language.

+

The conflict that has to be said out loud

+

The model that rewrote the passages is the same model that wrote the rules it was being rewritten against. Naming the model is provenance; it is not handling the conflict.

+

What argues in favour is in the data: the rewrite introduced signals as well as removing them, and pushed more passages over the boundary than it pulled back. A model gaming the measurement would not do that. But the objection is legitimate, it is the first one any hostile reader will raise, and the only real answer is another vendor's model repeating it. Until then the page says it plainly: these numbers should not be quoted anywhere a teacher will act on them.

+

What a teacher takes away

+

Four things, and none of them is a reassuring headline:

+

1. The watermark is no use to you today. There is no public detector, and when there is, it will mean sending a student's work to somebody else's server. 2. The absence of a mark means nothing. In either direction. 3. No tool, mine included, can tell apart somebody who stripped a watermark from somebody who ran their own honest paragraph through a model for style, or because English is not their first language. 4. Distrust any verdict on a short text, mine included, until I fix #59.

+

All of it — the method, the data, the intervals and the faults — is published in Docs/PARAPHRASE.md, and regenerates with one command from the same repository.

+

A study that comes out the way you expected is pleasant. One that withdraws your hypothesis, finds three false sentences in your writing and uncovers a worse defect than the one you went looking for is worth considerably more. And when a project has spent eight articles demanding that everyone else publish their errors, publishing your own is not humility. It is the price.

+

Built by Pedro Hernández — PeopleWorks, Microsoft MVP for .NET. By and for the education community.

+ + + +
+ + diff --git a/Docs/Blog/signsofai-watermark-story.en.md b/Docs/Blog/signsofai-watermark-story.en.md new file mode 100644 index 0000000..99a8cf1 --- /dev/null +++ b/Docs/Blog/signsofai-watermark-story.en.md @@ -0,0 +1,109 @@ +--- +title: "I tried to prove Claude's watermark didn't threaten my detector. I was wrong, and found a worse fault in my own tool" +description: "Anthropic started watermarking what Claude writes. I measured what happens to a text when somebody strips that mark — and the answer was nothing detectable. What I did find: my detector changes its mind depending on which four hundred words you paste." +canonical_url: "https://github.com/peopleworks/SignsofAI" +cover_image: "https://raw.githubusercontent.com/peopleworks/SignsofAI/main/Docs/Blog/social/watermark-story-cover.png" +tags: [ai, statistics, academicintegrity, dotnet] +author: "Pedro Hernández (PeopleWorks)" +lang: en +--- + +# I tried to prove Claude's watermark didn't threaten my detector. I was wrong, and found a worse fault in my own tool + +Claude models released on or after 2 August 2026 carry a machine-readable watermark, and Anthropic says earlier ones will follow during a transition period. The question arrived inside a week, in forums, on LinkedIn, in my inbox. *Doesn't that make a detector like yours obsolete?* + +I built [SignsOfAI](https://github.com/peopleworks/SignsofAI) for teachers, and the short answer is uncomfortable for everybody. I wrote it by measuring rather than opining, and it came out the opposite of what I expected. + +## Half the answer is in the vendor's own documentation + +Before measuring anything, read. The mark is not a hidden character: it lives in **which word the model chose** among several equally valid ones, biasing that choice with a key. It is a version of SynthID-Text, published by Google DeepMind in 2024. This is not an Anthropic invention; it is an industry practice arriving at one more vendor. + +Three things follow without measuring anything: + +**Nobody outside the vendor can check anything today.** The key is theirs. A detection API is promised "soon". When it arrives, checking will mean uploading a student's essay to a company's server. That is precisely the line this project refuses to cross, since everything runs on the teacher's own machine. + +**It marks only Claude.** Not GPT, not a local Llama, not any of the wrappers selling "humanisation". Which gives us the sentence that will be misused in both directions: **the absence of a mark is not evidence that a person wrote something**. Neither *"no mark, it's clean"* nor the worse inverse, *"no Claude mark, so they used something else, guilty"*. + +**The vendor's own help centre lists what defeats it**: heavy editing, paraphrasing, translation, mixing into other writing, and very short passages. Those are, exactly, the conditions of a piece of student work. + +## The half that had to be measured + +One question is not settled by reading: **what does removing the mark do to the prose?** + +Because the mark lives in word choice, no invisible-character cleaner touches it. Only a rewrite does. Services already sell that rewrite. My hypothesis was comfortable: a machine rewrite flattens sentence rhythm, so somebody stripping a watermark becomes *more* visible to my tool, not less. + +The trouble with measuring that is you seem to need machine-written text to compare against, and this project has a whole page arguing why such a corpus should never be assembled: it is a sample of whichever models were convenient that month, it ages badly, and it flatters whoever put it together. + +The way out was the **pair**. Each unit of the study is one passage measured twice: as its author wrote it, and after a model rewrote it. Same text, same author, same subject, nearly the same length. The baseline is not estimated from a population. *It is the text itself*. And the human halves come from the calibration corpus, every one published before generative models existed, which remains the only honest basis for calling writing human. + +Thirty-two pairs. Eight from each stratum, in both languages. + +## The answer: no + +Five passages crossed the boundary that had not. Two crossed back. McNemar's exact test: **p = 0.453**. + +That is not a result. With seven pairs changing side at all, only a clean sweep would have reached significance. The honest statement is that **this study cannot show that rewriting changes whether a passage is flagged, in either direction**. Not that rewriting is safe, and not that we catch it. + +My hypothesis is withdrawn, and it says so in bold on the page. + +What survives is narrower and still useful: a rewrite **does not repair a bibliography that contradicts itself**, and **does not return a student's prose to the shape of their own earlier work**. Neither of those checks runs on prose style, so paraphrasing leaves them alone. + +## What I found without looking for it + +Building the control turned up a number that did not fit. My calibration page publishes that **zero of ninety** human texts cross the boundary. Yet six of my thirty-two passages already crossed it before anybody touched them. + +The difference was length. The passages run about four hundred words; the documents they came from, several thousand. + +So I measured the same writing by the same people, three ways: + +| The same writing, measured as | Flagged at 25/100 | 95% interval | +|---|---|---| +| whole documents | 0 / 32 | 0% – 10.7% | +| 400-word windows, three positions each | **13 / 89** | 8.7% – 23.4% | + +And the number that says the most: **eleven of thirty documents are flagged at one position in the text and not at another, and none is flagged at all three.** Whether one of those authors gets accused depends on which four hundred words somebody happened to paste. + +The mechanism is not mysterious. *Burstiness* is the spread of sentence lengths, and a short window holds few sentences: the long one with three clauses and the two-word fragment that together make a paragraph read as human may not both be inside it. The measurement does not become *uncertain*, which a reader could allow for. It **moves, in one direction, toward the machine**. + +My boundary of 25/100 was measured on documents with a median of 3,241 words, and today it is applied to a pasted paragraph with nothing in the interface saying so. It is a defect, it is published on the page itself, and it is [issue #59](https://github.com/peopleworks/SignsofAI/issues/59). + +There is a symmetry here I keep turning over: Anthropic says its mark is unreliable on short samples because there are too few word choices. Mine is unreliable on short samples because there are too few sentences. Two unrelated methods, the same floor, and a teacher holding a single paragraph is below both of them. + +## Three reviewers and three false sentences + +This project has a house rule: nothing that changes behaviour or a published number ships without adversarial review. This time it was three independent reviewers, each told explicitly **not to read the others' verdicts**, because reading one turns the second opinion into an echo. + +The arithmetic survived intact. All three recomputed McNemar, the Wilson intervals, the quantiles, the counts; one regenerated the report byte-identical from the committed data. + +The prose did not survive. Three published sentences were false: + +**"A window from the middle of the document."** My code cuts from the beginning. I had described my own code wrongly. And it is not cosmetic: the beginning of a research article is its abstract, the beginning of an encyclopedia entry its lead, which is the most compressed and most formulaic prose either genre produces. I measured a genre effect and called it a length effect. Measured at three positions, the headline fell from 18.8% to 14.6%. + +**"It is the only such case."** I had written by hand that one passage preserved a verbatim quotation, breaking the instruction's rule against leaving eight consecutive words alive. Measured: **twenty of thirty-two pairs**, the longest run 86 words. Nearly all are quotations — a constitutional court ruling, a political pamphlet, a published definition, and none can be reworded without falsifying it. The instruction demanded preserving every fact *and* replacing every word, and never said which wins. + +**"It does flatten, in 20 of 32 pairs."** Sign test on 20 against 12: p = 0.215. Three paragraphs above, I had applied the exact test to another count and ruled it "not a result". I applied two different standards on the same page. + +All three are the same failure: **machine-checked numbers beside a hand-waved method**. So the tool now measures its own compliance on every run and prints it, whether or not it flatters the study. + +There was a fourth, caught only by the reviewer who read the Spanish line by line: **the rewrite silently corrected the originals**, which the instruction forbids in those words. *Intercesión* → *se cruza*. *Teoría de juego* → *teoría de juegos*. *Costa* → *consta*. The delivered treatment was not "paraphrase", it was "paraphrase and copy-edit", so part of every score change is error repair. And that lands squarely on the stratum which exists to measure the harm done to people writing in a second language. + +## The conflict that has to be said out loud + +The model that rewrote the passages is the same model that wrote the rules it was being rewritten against. Naming the model is provenance; it is not handling the conflict. + +What argues in favour is in the data: the rewrite **introduced** signals as well as removing them, and pushed more passages over the boundary than it pulled back. A model gaming the measurement would not do that. But the objection is legitimate, it is the first one any hostile reader will raise, and the only real answer is another vendor's model repeating it. Until then the page says it plainly: **these numbers should not be quoted anywhere a teacher will act on them.** + +## What a teacher takes away + +Four things, and none of them is a reassuring headline: + +1. **The watermark is no use to you today.** There is no public detector, and when there is, it will mean sending a student's work to somebody else's server. +2. **The absence of a mark means nothing.** In either direction. +3. **No tool, mine included, can tell apart** somebody who stripped a watermark from somebody who ran their own honest paragraph through a model for style, or because English is not their first language. +4. **Distrust any verdict on a short text**, mine included, until I fix #59. + +All of it — the method, the data, the intervals and the faults — is published in [`Docs/PARAPHRASE.md`](https://github.com/peopleworks/SignsofAI/blob/main/Docs/PARAPHRASE.md), and regenerates with one command from the same repository. + +A study that comes out the way you expected is pleasant. One that withdraws your hypothesis, finds three false sentences in your writing and uncovers a worse defect than the one you went looking for is worth considerably more. And when a project has spent eight articles demanding that everyone else publish their errors, publishing your own is not humility. It is the price. + +*Built by Pedro Hernández — PeopleWorks, [Microsoft MVP for .NET](https://mvp.microsoft.com/en-US/mvp/profile/24060a02-dbc6-44ec-bca5-c213ff9835c5). By and for the education community.* diff --git a/Docs/Blog/signsofai-watermark-story.es.html b/Docs/Blog/signsofai-watermark-story.es.html new file mode 100644 index 0000000..f16798d --- /dev/null +++ b/Docs/Blog/signsofai-watermark-story.es.html @@ -0,0 +1,166 @@ + + + + + +Quise demostrar que el watermark de Claude no nos afectaba. Me equivoqué, y encontré un fallo peor en mi propia herramienta · SignsOfAI + + + + +
+ +
+ SignsOfAI + PeopleWorks · Microsoft MVP for .NET +
+ +
Historia de taller · Ingeniería
+

Quise demostrar que el watermark de Claude no nos afectaba. Me equivoqué, y encontré un fallo peor en mi propia herramienta

+

Anthropic empezó a marcar lo que Claude escribe. Medí qué le pasa a un texto cuando alguien borra esa marca — y la respuesta fue que no pasa nada detectable. Lo que sí encontré: mi detector cambia de opinión según qué cuatrocientas palabras le pegues.

+

Pedro Hernández (PeopleWorks)

+ + ▶ Descárgalo o pruébalo — gratis, MIT, web y Windows. + +
+ +

Los modelos de Claude publicados desde el 2 de agosto de 2026 llevan una marca legible por máquina. Anthropic dice que los anteriores la tendrán durante un periodo de transición. Y la pregunta llegó en menos de una semana, en foros, en LinkedIn, en mi bandeja: ¿esto no deja obsoleto a un detector como el tuyo?

+

Construí SignsOfAI para profesores, y la respuesta corta es incómoda para todos los bandos. La escribí midiendo, no opinando, y salió lo contrario de lo que esperaba.

+

La mitad de la respuesta está en la documentación del proveedor

+

Antes de medir nada conviene leer. La marca no es un carácter escondido: vive en qué palabra eligió el modelo entre varias igual de válidas, sesgando la elección con una clave. Es una versión de SynthID-Text, que Google DeepMind publicó en 2024 — o sea, esto no es una invención de Anthropic, es una práctica de industria llegando a un proveedor más.

+

De ahí salen tres cosas que ya se pueden afirmar sin medir:

+

Hoy nadie fuera del proveedor puede comprobar nada. La clave es suya. Prometen una API de detección "pronto". Cuando llegue, comprobar significará subir el ensayo de un estudiante al servidor de una empresa — justo la línea que este proyecto se niega a cruzar, porque todo corre en la máquina del profesor.

+

Marca solo a Claude. Ni GPT, ni un Llama local, ni ninguno de los envoltorios que venden "humanización". Y de ahí la frase que se va a malusar en las dos direcciones: la ausencia de marca no es prueba de autoría humana. Ni "no tiene marca, está limpio", ni el error contrario y peor, "no tiene marca de Claude, usó otra cosa, culpable".

+

El propio centro de ayuda lista qué la derrota: edición fuerte, parafraseo, traducción, mezclar con otro texto, y pasajes muy cortos. Esas son, exactamente, las condiciones de un trabajo de estudiante.

+

La mitad que sí había que medir

+

Queda una pregunta que no se resuelve leyendo: ¿qué le hace a la prosa el borrado de la marca?

+

Como la marca vive en la elección de palabras, ningún limpiador de caracteres invisibles la toca. Solo una reescritura. Y ya hay servicios que la venden. Mi hipótesis era cómoda: una reescritura de máquina aplana el ritmo de las frases, así que quien borra el watermark se vuelve más visible para mi herramienta, no menos.

+

El problema de medir eso es que hace falta texto de máquina para comparar, y este proyecto tiene una página entera argumentando por qué nunca hay que reunir un corpus así: es una muestra de los modelos que estaban de moda ese mes, envejece mal, y halaga a quien lo ensambla.

+

La salida fue el par. Cada unidad del estudio es un mismo pasaje medido dos veces: como lo escribió su autor, y después de que un modelo lo reescribiera. Mismo texto, mismo autor, mismo tema, casi la misma longitud. La línea base no se estima a partir de una población — es el propio texto. Y los pasajes humanos salen del corpus de calibración, todos publicados antes de que existieran los modelos generativos, que es la única base honesta para llamar humano a un texto.

+

Treinta y dos pares. Ocho de cada estrato, en los dos idiomas.

+

La respuesta: no

+

Cinco pasajes cruzaron el umbral que antes no lo cruzaban. Dos lo cruzaron de vuelta. Test exacto de McNemar: p = 0,453.

+

Eso no es un resultado. Con siete pares cambiando de lado, solo un barrido limpio habría alcanzado significación. La afirmación honesta es que este estudio no puede demostrar que reescribir cambie si un pasaje se marca, en ninguna de las dos direcciones. Ni que reescribir sea seguro, ni que lo cacemos.

+

Mi hipótesis se retira, y así está escrito en negrita en la página.

+

Lo que sí sobrevive es más estrecho y sigue siendo útil: una reescritura no repara una bibliografía que se contradice sola, y no devuelve la prosa de un estudiante a la forma de sus trabajos anteriores. Esas dos comprobaciones no corren sobre el estilo, así que el parafraseo no las toca.

+

Lo que encontré sin buscarlo

+

Al montar el control salió un número que no cuadraba. Mi página de calibración publica que cero de noventa textos humanos cruzan el umbral. Pero seis de mis treinta y dos pasajes ya lo cruzaban antes de tocarlos.

+

La diferencia era la longitud. Los pasajes tienen unas cuatrocientas palabras; los documentos de los que salieron, varios miles.

+

Así que medí lo mismo escrito por la misma gente, de tres formas:

+ + + + + + +
La misma escritura, medida comoMarcada a 25/100Intervalo 95%
documentos completos0 / 320% – 10,7%
ventanas de 400 palabras, tres posiciones13 / 898,7% – 23,4%
+

Y el número que más dice: once de treinta documentos están marcados en una posición del texto y no en otra, y ninguno lo está en las tres. Que a uno de esos autores se le acuse depende de qué cuatrocientas palabras le tocó pegar a alguien.

+

El mecanismo no tiene misterio. La burstiness es la dispersión del largo de las frases, y una ventana corta contiene pocas frases: la larga de tres cláusulas y el fragmento de dos palabras que juntos hacen que un párrafo parezca humano puede que no quepan los dos dentro. La medida no se vuelve incierta — eso un lector lo podría compensar. Se mueve, en una sola dirección, hacia la máquina.

+

Mi umbral de 25/100 se midió sobre documentos de mediana 3.241 palabras y se aplica hoy a un párrafo pegado, sin que nada en la interfaz lo advierta. Es un defecto, está publicado en la propia página, y es el issue #59.

+

Hay una simetría que me dejó pensando: Anthropic dice que su marca falla en muestras cortas porque hay pocas elecciones de palabra. La mía falla porque hay pocas frases. Dos métodos sin ninguna relación, el mismo suelo — y un profesor con un solo párrafo en la mano está por debajo de los dos.

+

Tres revisores y tres frases falsas

+

En este proyecto hay una regla de la casa: nada que cambie el comportamiento o un número publicado se publica sin revisión adversarial. Esta vez fueron tres revisores independientes, cada uno con instrucción explícita de no leer el veredicto de los otros — si lo lee, la segunda opinión es un eco.

+

La aritmética sobrevivió entera. Los tres recalcularon McNemar, los intervalos de Wilson, los cuantiles, los recuentos; uno regeneró el informe byte a byte idéntico desde los datos.

+

La prosa no sobrevivió. Tres frases publicadas eran falsas:

+

«Una ventana del medio del documento». Mi código corta desde el principio. Describí mal mi propio código. Y no es cosmético: el principio de un artículo científico es su resumen, y el de una entrada de enciclopedia su entradilla — la prosa más comprimida y formulaica que produce cada género. Medí un efecto de género y lo llamé efecto de longitud. Al medirlo en tres posiciones, el titular cayó de 18,8% a 14,6%.

+

«Es el único caso». Había escrito a mano que un solo pasaje conservaba una cita literal, rompiendo la regla de la instrucción de no dejar sobrevivir ocho palabras seguidas. Al medirlo: veinte de treinta y dos pares, el tramo más largo de 86 palabras. Casi todos son citas — una sentencia del Tribunal Constitucional, un panfleto político, una definición publicada — que no se pueden reescribir sin falsificarlas. La instrucción exigía preservar cada dato y reemplazar cada palabra, y nunca dijo cuál mandaba.

+

«Sí aplana el ritmo, en 20 de 32 pares». Test de signos sobre 20 contra 12: p = 0,215. Tres párrafos más arriba yo mismo había aplicado el test exacto a otro recuento y dictaminado "no es un resultado". Apliqué dos raseros distintos en la misma página.

+

Las tres son el mismo fallo: números comprobados a máquina junto a un método comprobado a mano. Así que la herramienta ahora mide su propio cumplimiento en cada corrida y lo imprime, favorezca o no al estudio.

+

Hubo una cuarta, que solo vio el revisor que leyó el español línea por línea: la reescritura corrigió los originales en silencio, cosa que la instrucción prohíbe con esas palabras. Intercesiónse cruza. Teoría de juegoteoría de juegos. Costaconsta. El tratamiento entregado no fue "parafrasear", fue "parafrasear y corregir estilo", así que parte de cada cambio de puntuación es reparación de errores. Y eso golpea justo el estrato que existe para medir el daño a quien escribe en su segunda lengua.

+

El conflicto que hay que decir en voz alta

+

El modelo que reescribió los pasajes es el mismo que escribió las reglas contra las que se reescribía. Nombrar el modelo es procedencia, no es tratar el conflicto.

+

Lo que juega a favor está en los datos: la reescritura introdujo señales además de quitarlas, y empujó más pasajes por encima del umbral que los que rescató. Un modelo haciendo trampa no haría eso. Pero la objeción es legítima, es la primera que levantará cualquier lector hostil, y la única respuesta real es que otro proveedor lo repita. Hasta entonces, la página lo dice sin rodeos: estos números no deben citarse donde un profesor vaya a actuar sobre ellos.

+

Qué se lleva un profesor de aquí

+

Cuatro cosas, y ninguna es un titular tranquilizador:

+

1. El watermark no le sirve a usted hoy. No hay detector público, y cuando lo haya implicará mandar el trabajo del estudiante a un servidor ajeno. 2. Que no haya marca no significa nada. Ni a favor ni en contra. 3. Ninguna herramienta, la mía incluida, sabe distinguir a quien borró un watermark de quien pasó su propio párrafo honesto por un modelo para mejorar el estilo, o porque el inglés no es su lengua. 4. Desconfíe de cualquier veredicto sobre un texto corto, incluido el mío, hasta que arregle el #59.

+

Todo esto — el método, los datos, los intervalos y los fallos — está publicado en Docs/PARAPHRASE.md, y se regenera con un comando desde el mismo repositorio.

+

Un estudio que sale como esperabas es agradable. Uno que retira tu hipótesis, te encuentra tres frases falsas y te descubre un defecto peor del que ibas buscando vale bastante más. Y si un proyecto lleva ocho artículos exigiéndoles a los demás que publiquen sus errores, publicar los propios no es humildad. Es el precio.

+

Hecho por Pedro Hernández — PeopleWorks, Microsoft MVP para .NET. Por y para la comunidad educativa.

+ + + +
+ + diff --git a/Docs/Blog/signsofai-watermark-story.es.md b/Docs/Blog/signsofai-watermark-story.es.md new file mode 100644 index 0000000..62f4595 --- /dev/null +++ b/Docs/Blog/signsofai-watermark-story.es.md @@ -0,0 +1,109 @@ +--- +title: "Quise demostrar que el watermark de Claude no nos afectaba. Me equivoqué, y encontré un fallo peor en mi propia herramienta" +description: "Anthropic empezó a marcar lo que Claude escribe. Medí qué le pasa a un texto cuando alguien borra esa marca — y la respuesta fue que no pasa nada detectable. Lo que sí encontré: mi detector cambia de opinión según qué cuatrocientas palabras le pegues." +canonical_url: "https://github.com/peopleworks/SignsofAI" +cover_image: "https://raw.githubusercontent.com/peopleworks/SignsofAI/main/Docs/Blog/social/watermark-story-cover.png" +tags: [ia, estadistica, integridadacademica, dotnet] +author: "Pedro Hernández (PeopleWorks)" +lang: es +--- + +# Quise demostrar que el watermark de Claude no nos afectaba. Me equivoqué, y encontré un fallo peor en mi propia herramienta + +Los modelos de Claude publicados desde el 2 de agosto de 2026 llevan una marca legible por máquina. Anthropic dice que los anteriores la tendrán durante un periodo de transición. Y la pregunta llegó en menos de una semana, en foros, en LinkedIn, en mi bandeja: *¿esto no deja obsoleto a un detector como el tuyo?* + +Construí [SignsOfAI](https://github.com/peopleworks/SignsofAI) para profesores, y la respuesta corta es incómoda para todos los bandos. La escribí midiendo, no opinando, y salió lo contrario de lo que esperaba. + +## La mitad de la respuesta está en la documentación del proveedor + +Antes de medir nada conviene leer. La marca no es un carácter escondido: vive en **qué palabra eligió el modelo** entre varias igual de válidas, sesgando la elección con una clave. Es una versión de SynthID-Text, que Google DeepMind publicó en 2024 — o sea, esto no es una invención de Anthropic, es una práctica de industria llegando a un proveedor más. + +De ahí salen tres cosas que ya se pueden afirmar sin medir: + +**Hoy nadie fuera del proveedor puede comprobar nada.** La clave es suya. Prometen una API de detección "pronto". Cuando llegue, comprobar significará subir el ensayo de un estudiante al servidor de una empresa — justo la línea que este proyecto se niega a cruzar, porque todo corre en la máquina del profesor. + +**Marca solo a Claude.** Ni GPT, ni un Llama local, ni ninguno de los envoltorios que venden "humanización". Y de ahí la frase que se va a malusar en las dos direcciones: **la ausencia de marca no es prueba de autoría humana**. Ni *"no tiene marca, está limpio"*, ni el error contrario y peor, *"no tiene marca de Claude, usó otra cosa, culpable"*. + +**El propio centro de ayuda lista qué la derrota**: edición fuerte, parafraseo, traducción, mezclar con otro texto, y pasajes muy cortos. Esas son, exactamente, las condiciones de un trabajo de estudiante. + +## La mitad que sí había que medir + +Queda una pregunta que no se resuelve leyendo: **¿qué le hace a la prosa el borrado de la marca?** + +Como la marca vive en la elección de palabras, ningún limpiador de caracteres invisibles la toca. Solo una reescritura. Y ya hay servicios que la venden. Mi hipótesis era cómoda: una reescritura de máquina aplana el ritmo de las frases, así que quien borra el watermark se vuelve *más* visible para mi herramienta, no menos. + +El problema de medir eso es que hace falta texto de máquina para comparar, y este proyecto tiene una página entera argumentando por qué nunca hay que reunir un corpus así: es una muestra de los modelos que estaban de moda ese mes, envejece mal, y halaga a quien lo ensambla. + +La salida fue el **par**. Cada unidad del estudio es un mismo pasaje medido dos veces: como lo escribió su autor, y después de que un modelo lo reescribiera. Mismo texto, mismo autor, mismo tema, casi la misma longitud. La línea base no se estima a partir de una población — *es el propio texto*. Y los pasajes humanos salen del corpus de calibración, todos publicados antes de que existieran los modelos generativos, que es la única base honesta para llamar humano a un texto. + +Treinta y dos pares. Ocho de cada estrato, en los dos idiomas. + +## La respuesta: no + +Cinco pasajes cruzaron el umbral que antes no lo cruzaban. Dos lo cruzaron de vuelta. Test exacto de McNemar: **p = 0,453**. + +Eso no es un resultado. Con siete pares cambiando de lado, solo un barrido limpio habría alcanzado significación. La afirmación honesta es que **este estudio no puede demostrar que reescribir cambie si un pasaje se marca, en ninguna de las dos direcciones**. Ni que reescribir sea seguro, ni que lo cacemos. + +Mi hipótesis se retira, y así está escrito en negrita en la página. + +Lo que sí sobrevive es más estrecho y sigue siendo útil: una reescritura **no repara una bibliografía que se contradice sola**, y **no devuelve la prosa de un estudiante a la forma de sus trabajos anteriores**. Esas dos comprobaciones no corren sobre el estilo, así que el parafraseo no las toca. + +## Lo que encontré sin buscarlo + +Al montar el control salió un número que no cuadraba. Mi página de calibración publica que **cero de noventa** textos humanos cruzan el umbral. Pero seis de mis treinta y dos pasajes ya lo cruzaban antes de tocarlos. + +La diferencia era la longitud. Los pasajes tienen unas cuatrocientas palabras; los documentos de los que salieron, varios miles. + +Así que medí lo mismo escrito por la misma gente, de tres formas: + +| La misma escritura, medida como | Marcada a 25/100 | Intervalo 95% | +|---|---|---| +| documentos completos | 0 / 32 | 0% – 10,7% | +| ventanas de 400 palabras, tres posiciones | **13 / 89** | 8,7% – 23,4% | + +Y el número que más dice: **once de treinta documentos están marcados en una posición del texto y no en otra, y ninguno lo está en las tres.** Que a uno de esos autores se le acuse depende de qué cuatrocientas palabras le tocó pegar a alguien. + +El mecanismo no tiene misterio. La *burstiness* es la dispersión del largo de las frases, y una ventana corta contiene pocas frases: la larga de tres cláusulas y el fragmento de dos palabras que juntos hacen que un párrafo parezca humano puede que no quepan los dos dentro. La medida no se vuelve *incierta* — eso un lector lo podría compensar. Se **mueve, en una sola dirección, hacia la máquina**. + +Mi umbral de 25/100 se midió sobre documentos de mediana 3.241 palabras y se aplica hoy a un párrafo pegado, sin que nada en la interfaz lo advierta. Es un defecto, está publicado en la propia página, y es el [issue #59](https://github.com/peopleworks/SignsofAI/issues/59). + +Hay una simetría que me dejó pensando: Anthropic dice que su marca falla en muestras cortas porque hay pocas elecciones de palabra. La mía falla porque hay pocas frases. Dos métodos sin ninguna relación, el mismo suelo — y un profesor con un solo párrafo en la mano está por debajo de los dos. + +## Tres revisores y tres frases falsas + +En este proyecto hay una regla de la casa: nada que cambie el comportamiento o un número publicado se publica sin revisión adversarial. Esta vez fueron tres revisores independientes, cada uno con instrucción explícita de **no leer el veredicto de los otros** — si lo lee, la segunda opinión es un eco. + +La aritmética sobrevivió entera. Los tres recalcularon McNemar, los intervalos de Wilson, los cuantiles, los recuentos; uno regeneró el informe byte a byte idéntico desde los datos. + +La prosa no sobrevivió. Tres frases publicadas eran falsas: + +**«Una ventana del medio del documento».** Mi código corta desde el principio. Describí mal mi propio código. Y no es cosmético: el principio de un artículo científico es su resumen, y el de una entrada de enciclopedia su entradilla — la prosa más comprimida y formulaica que produce cada género. Medí un efecto de género y lo llamé efecto de longitud. Al medirlo en tres posiciones, el titular cayó de 18,8% a 14,6%. + +**«Es el único caso».** Había escrito a mano que un solo pasaje conservaba una cita literal, rompiendo la regla de la instrucción de no dejar sobrevivir ocho palabras seguidas. Al medirlo: **veinte de treinta y dos pares**, el tramo más largo de 86 palabras. Casi todos son citas — una sentencia del Tribunal Constitucional, un panfleto político, una definición publicada — que no se pueden reescribir sin falsificarlas. La instrucción exigía preservar cada dato *y* reemplazar cada palabra, y nunca dijo cuál mandaba. + +**«Sí aplana el ritmo, en 20 de 32 pares».** Test de signos sobre 20 contra 12: p = 0,215. Tres párrafos más arriba yo mismo había aplicado el test exacto a otro recuento y dictaminado "no es un resultado". Apliqué dos raseros distintos en la misma página. + +Las tres son el mismo fallo: **números comprobados a máquina junto a un método comprobado a mano**. Así que la herramienta ahora mide su propio cumplimiento en cada corrida y lo imprime, favorezca o no al estudio. + +Hubo una cuarta, que solo vio el revisor que leyó el español línea por línea: **la reescritura corrigió los originales en silencio**, cosa que la instrucción prohíbe con esas palabras. *Intercesión* → *se cruza*. *Teoría de juego* → *teoría de juegos*. *Costa* → *consta*. El tratamiento entregado no fue "parafrasear", fue "parafrasear y corregir estilo", así que parte de cada cambio de puntuación es reparación de errores. Y eso golpea justo el estrato que existe para medir el daño a quien escribe en su segunda lengua. + +## El conflicto que hay que decir en voz alta + +El modelo que reescribió los pasajes es el mismo que escribió las reglas contra las que se reescribía. Nombrar el modelo es procedencia, no es tratar el conflicto. + +Lo que juega a favor está en los datos: la reescritura **introdujo** señales además de quitarlas, y empujó más pasajes por encima del umbral que los que rescató. Un modelo haciendo trampa no haría eso. Pero la objeción es legítima, es la primera que levantará cualquier lector hostil, y la única respuesta real es que otro proveedor lo repita. Hasta entonces, la página lo dice sin rodeos: **estos números no deben citarse donde un profesor vaya a actuar sobre ellos.** + +## Qué se lleva un profesor de aquí + +Cuatro cosas, y ninguna es un titular tranquilizador: + +1. **El watermark no le sirve a usted hoy.** No hay detector público, y cuando lo haya implicará mandar el trabajo del estudiante a un servidor ajeno. +2. **Que no haya marca no significa nada.** Ni a favor ni en contra. +3. **Ninguna herramienta, la mía incluida, sabe distinguir** a quien borró un watermark de quien pasó su propio párrafo honesto por un modelo para mejorar el estilo, o porque el inglés no es su lengua. +4. **Desconfíe de cualquier veredicto sobre un texto corto**, incluido el mío, hasta que arregle el #59. + +Todo esto — el método, los datos, los intervalos y los fallos — está publicado en [`Docs/PARAPHRASE.md`](https://github.com/peopleworks/SignsofAI/blob/main/Docs/PARAPHRASE.md), y se regenera con un comando desde el mismo repositorio. + +Un estudio que sale como esperabas es agradable. Uno que retira tu hipótesis, te encuentra tres frases falsas y te descubre un defecto peor del que ibas buscando vale bastante más. Y si un proyecto lleva ocho artículos exigiéndoles a los demás que publiquen sus errores, publicar los propios no es humildad. Es el precio. + +*Hecho por Pedro Hernández — PeopleWorks, [Microsoft MVP para .NET](https://mvp.microsoft.com/en-US/mvp/profile/24060a02-dbc6-44ec-bca5-c213ff9835c5). Por y para la comunidad educativa.* diff --git a/Docs/Blog/social/watermark-story-cover.png b/Docs/Blog/social/watermark-story-cover.png new file mode 100644 index 0000000..80b7eec Binary files /dev/null and b/Docs/Blog/social/watermark-story-cover.png differ diff --git a/Docs/Blog/social/watermark-story-cover.svg b/Docs/Blog/social/watermark-story-cover.svg new file mode 100644 index 0000000..33d7655 --- /dev/null +++ b/Docs/Blog/social/watermark-story-cover.svg @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + /100 + no verdict + + + + + + 31 + /100 + flagged + + + + + + 9 + /100 + no verdict + + + + + ONE WRITER · ONE PAGE + + + + + + + SignsOfAI + +