AIMark is a tentative exploration for a method to use a custom markup or markdown formatting on AI-assisted texts, where the contributions made by human author(s) versus AI(s) are clearly and meaningfully differentiated.
Contributions to the project:
- You.com/chat came up with the AIMark name and basic concept based on my inputs (it wrongly claimed that this whole thing exists already, but based on my research it does not – perhaps it was seeing the future?)
- ChatGPT helped me work through the code examples for the custom markup and markdown elements, as well as walking through the thought process collaboratively.
Example Markup Usage (custom)
<defs> <def author type="AI" model="AI model X" version="3.2" source="OpenAI" /> <def author type="human" name="John Doe" /> </defs> <p author="AI"> The quick brown fox jumps over the lazy dog<del author=”human”>.</del> <ins author="human">, but sometimes the fox is not quick enough.</ins> </p>
In the above example, it its proposed to use <defs> tag to set up definitions for authors, whether AI or human, and any pertinent details about them that may apply globally within a document.
Then each element is intended to be clearly marked as to which author produced or modified which elements. <del> is used for deletions, and <ins> for insertions. In the example above, the AI tool generated the text
The quick brown fox jumps over the lazy dog. and then the human deleted the period, and added the clause,
, but sometimes the fox is not quick enough.
Each of those elements could also take inline attributes if that is preferable, such as:
<del author=”human” name="John Doe" date="2023-01-23">
Example Markdown Usage (custom)
In markdown, we’re adopting the convention that the % percent sign indicates AI and the forward slash / indicates human content.
So in its simplest form a line of AI generated text would look like:
%This text was generated by AI%
Where the text starts and ends with %. Likewise, for human text, the usage would be like:
/This is human-generated text./
If you want to add attributes to either, you could possibly (?) do it in () either at the beginning or end of the text passage. And attributes could be named pairs or just the value. So like:
AI Attribution Short: %This text is AI generated(AI model X,3.2,OpenAI)% %(AI model X,3.2,OpenAI)This text is AI generated% Longer: %This text is AI generated(model:AI model X,version:3.2,source:OpenAI)% %(model:AI model X,version:3.2,source:OpenAIAI model X,3.2,OpenAI)This text is AI generated% Human Attribution Short: /A human wrote this(John Doe)/ /(John Doe)This text is AI generated/ Longer: /A human wrote this(name:John Doe)/ /(name:John Doe)This text is AI generated/
Then there could be a form for text that is longer than a short sentence, which could be written as:
[%This is a longer block of AI-generated text] [/This is a longer block of human-written text]
In the above example, use of  would mean you do not need to close the other marks.
To indicate a nested human edit of an AI-generation, it could be something like this, where ~ means strikethrough (deletion) and ^ means insertion.
[%An AI-generated a big block of text and it was [/~good][/^bad]
Or using the short non-bracketed form of both:
%An AI-generated a big block of text and it was /~good~^bad^/%
So in the above examples, a human deleted the word good, and inserted the word bad into the AI content generation.
Global author definitions in such a custom markdown document could be something like:
%% Model: AI model X Version: 3.2 Source: OpenAI %% // Name: John Doe //