证明某段文字由人类撰写
Proving a Human Wrote Something

原始链接: https://gjtorikian.online/posts/proving-a-human-wrote-something/

在阔别博客写作许久后,作者回归并探讨了人工智能在现代创作中的角色。虽然作者乐于将 AI 作为编码和自动化技术任务的有力工具,但在写作方面却保持着明确的界限。作者认为,写作是一个发现自我与表达个性的重要过程——是一场与自我思想的“博弈”——而 AI 公式化的输出无法复制这一过程。 受“在自动化内容时代如何证明人类原创”这一问题的驱动,作者推出了名为“Semoi”的 Obsidian 插件。该插件通过追踪按键和文档撰写时长来验证人类的劳动投入,并对这些数据进行加密签名,从而提供真实创作的证明。尽管作者承认该系统并非万无一失,但将其视为重视人类创作过程的必要一步。最终,作者希望通过此项目鼓励他人探索更多方式,以在数字世界中保留手工劳动的价值,并强调写作这一行为始终是独属于人类的努力。

这篇 Hacker News 讨论探讨了在生成式人工智能时代,证明人类作者身份的可行性与必要性。评论者对键盘记录或加密签名等技术解决方案持怀疑态度,并指出这些方法很容易被能够模拟人类错误、鼠标移动和打字节奏的精密机器人脚本所规避。 讨论强调了几个关键视角: * **变通方法的必然性:** 大多数参与者认为技术性“证明”提供的安全性微乎其微,因为人工智能可以被编程来模拟人类行为,而且用户只需将人工智能生成的内容粘贴到追踪软件中即可。 * **“信任网络”与技术的对比:** 一些人认为,声誉、个人品牌和持续的人工验证比容易出错且误报率高的检测工具更可靠。 * **实际顾虑:** 作家们表达了对当前环境的挫败感,并指出对被指控使用“人工智能垃圾内容”的恐惧,正迫使他们改变或降低自己自然的写作风格。 最终,共识表明,虽然证明人类作者身份的工具很有趣,但它们在应对恶意行为者时基本无效,因此许多人更倾向于透明度和既定的声誉,而非自动化验证。
相关文章

原文

When drafting a new blog post after some years, it’s mandatory to begin it with some form of mea culpa. I actually made a New Year’s resolution to start writing more blog posts; after the dissolution of my company last year, my head was stuffed with all sorts of technical knowledge I needed to share (and which, I felt, the world needed to hear). I even put together a spreadsheet of possible ideas, which, as I’m writing this down now, I should probably revisit. Some combination of “I got lazy” or “I got busy” or “I didn’t think anyone would care” prevented me from writing, though. (That’s not to say I haven’t been writing anywhere else: I just got “How to Keep Well in Wartime” published, and I’m still running Inch Press!)

I still also make endless side projects and maintain innumerable open source repos. To that end, I recently read something by Mitchell Hashimoto which began with this increasingly common disclaimer:

this was completely hand-written with no AI assistance

I’m not an AI-hater. I use it all day, every day, at my day job (and even wrote about on the company blog—more proof I still write!). I create shippable production code with it and experiments that never leave my terminal. I use it in my open source work to write commits, provide feedback, and generally automate tasks that are too convoluted to come up with in a bash or Ruby script. I don’t think any engineer can, or should, ignore AI. It’s a technology, and like all technologies, it’s here to stay (until something better comes along). It’s beneficial to the craft to understand how to work with it rather than spend time fighting against it.

Part of the reason I enjoy programming is because I like solving technical puzzles. And, part of the reason I like AI is because I can say “do X using Y because of Z,” while walking away to go brew a third cup of coffee or pet my cat or do anything other than sit at my desk, tip-tapping the solution out. When I was a teenager, I, like Lain, never wanted to leave the Internet. Now that I’m closer to the end of my life than its beginning, I want to experience as much as I can of the real world, as often as I can.

With age comes wisdom and worry. Whenever I use AI, I’m actually very concerned about the smoothing of my brain. The inherent irony of my usage outlined above is that the only reason I know about X using Y because of Z is because I accumulated twenty-something years of infernal knowledge for how to communicate with this damn beast made of rocks. I’m fine with letting go of the physical embodiment of programming, but the mental process is still something I look forward to sparring with.

I can say something similar about writing. When I engage with an AI to produce code, there is, to some extent, a deterministic goal I am hoping to achieve: the button should do this, the site should look like that. But when I engage with an AI to produce written words, the outcome is often calibrated to produce a response I didn’t decide on. That is to say: the AI knows all the tricks of “good content”—how to create a staccato sentence or how to produce dichotomastic statements to get the reader to feel a certain way. How the AI gets at that goal is often not how I would get at the goal; and because getting at a goal is one of the very points of writing, I often choose to write my own thoughts using my own hands.

At last, we’re coming to the point, which is a question I (and others) have been wondering, which Hashimoto’s note alludes to: how do you prove a human wrote something? Forget about the why or the value in it, just: how?

My answer to that is a project I called Semoi. The idea is somewhat simple: what distinguishes humans typing from an LLM producing is time and effort. A human is slower, and a human’s digital fingerprints are quite literally that: the keystrokes it took to produce the text. Semoi is a plugin (currently only available for Obsidian) which tracks the length of time it took for a document to be written up. It also tracks the number of keystrokes it took to produce that document. When you’re done writing the piece, you send all that information to the Semoi server, which cryptographically signs and mints the information, proving that it hasn’t been tampered with.

Screenshot of the Semoi plugin minting a proof

You can then get a little image to paste in your blog somewhere proving that yes, indeed, you wrote the piece.

Screenshot of the Semoi certificate

And of course you can share the link around if you so desire.

My theory goes like this: say a thousand word blog post is published. If an LLM wrote that piece of text, the time it took for it to do so would be on the order of seconds, not minutes. That’s one heuristic Semoi captures. Another is the series of keyup/keydown events that a human types. An LLM generated piece would simply be one copy-paste event—from the terminal to the editor—so one would expect that thousand-word piece to have thousands of individual characters (and events for each of those).

Is it foolproof? No. Is it extremely scientific? Also no. Is it a good idea? Well, I think so. You can see a presentation I gave of this system at my favorite event, WordHack.

One could work around Semoi by, for example, typing out a bunch of gibberish, leaving their editor open, and then pasting in an LLM generated texting and minting the proof. To which I would respond: why? That’s really pathetic.

No information about your text is ever sent to the server, and there’s no way to identify the author based on the minted certificate. All the server receives is a JSON blob of timestamps and keystroke events.

If Semoi never takes off, that’s completely fine! My GitHub repositories are gardens full of both flourishing and withered flowers. But it’s my sincere hope that in writing this post, it nudges someone else to think of an even better idea than this one. That’s another point of writing, after all.

联系我们 contact @ memedata.com