Skip to content

AI Usage Policy and Guide

Updated

This is a living document tracking my personal AI usage policy and guide for using it safely, effectively, and ethically. It's a moving target, and I don't expect to get it 100% right. If you think I'm missing the mark somehow, shoot me an email and tell me why. I'm always open to criticism and changing my perspective.

General Principles

Technology is a tool for people. It may one day get to the point where it is more than that, but it is not there yet. We must always ask "what is the impact?" This is especially true with AI.

When considering whether or not to use AI for a task, start with these questions:

  1. Is the task enjoyable or boring?
  2. Is the task necessary or marginal?
  3. Would someone be paid for the task if AI weren't available, or would it simply not be done at all?
  4. Does the output have to be high quality and error free, or is it ok if it's sloppy or has minor (or major) errors?

If the task is enjoyable, necessary, or if you would pay someone for it, then you shouldn't use AI for it. If the task is marginal, and it wouldn't get done at all otherwise, AI may be ok for it, but it depends on the required output quality. Which brings us to the next section.

Ethics

You are responsible for your AI's output. Full stop.

This includes systems that are semi- or fully-automated. For instance, if you put a coding system into production that can:

  1. Suggest updates or modifications
  2. Submit code changes for review
  3. Review those changes and merge

All without human interaction, that is all your responsibility, and you are accountable for the consequences, first and foremost. This includes if AI "goes rogue" and does things you didn't expect.

If you were ordered to build systems this way, then the accountability transfers partially, especially in most corporate settings where workers are not given a choice. But some amount remains at each level down to the employees building the systems. Following orders and building systems that can cause material harm is not an excuse.

All engineers should strive to build tools with the mindset that someone's life may depend on it. Because people's lives do depend on our tools. We must never forget that, and we must understand the trust that people put in us when our tools become an integral part of their lives.

Code

As a coder, I do not think there is any ethical issue with using AI to write code (outside of environmental and societal impacts, see below). Code is purely utilitarian and a means to an end. I won't mourn the day we stop writing JavaScript any more or less than the day we stopped writing assembly and started using compilers.

However, code does need to work and be reliable. This is a very high priority ethically and pragmatically. I would not use a hammer that works 99% of the time, and the same goes for code.

Currently, AI-driven development has been shown to have subpar quality, particularly over time as the risks of decoherence compound and quality drops further and further. Until we find ways to counter this, I recommend a dual development model where:

  1. AI-driven development is allowed only in codebases that:

    1. Have no external dependencies, OR
    2. Have extremely enumerable and well defined APIs which are fully hardened, spec'd, and stable

    This ensures that the layer can be wiped clean and restarted if needed, and generally includes the application layer (on both the client and the server) plus some extremely well tested libraries or utilities.

  2. Every codebase that does not meet these criteria is human-driven. Agents can be used to start a rough draft or think through architecture, outline plans, develop documentation, etc. But all output needs to be manually reviewed, and humans should ultimately take it from 80% complete to 100%.

  3. Code is aggressively abstracted from category 1 into category 2. The application layer should essentially be a configuration file with very little code. It should look like HTML, and be readable by non-coders. It should be the epitome of "code-light". And it should NOT have escape hatches wherever possible.

Think of it like buying Ikea vs getting hand-made cabinets. Ikea cabinets only come in standard sizes and with standard features, but anyone can put them together and it's hard to mess up too badly.

Now, designing Ikea furniture is a much more difficult problem than designing hand-made cabinets. They work extremely hard to engineer those systems and make them so durable, despite using very light and inexpensive material. The same is true about building truly flexible design systems, routing libraries, reactivity frameworks, and so on. Many of us have taken a stab at doing these things only to find our beautiful abstractions shredded when they made contact with the real world.

But, this is the benefit of Open Source software and of building coherence. Take design systems for instance. Rather than reinventing the wheel at every company, perhaps we agree on a universal design language with a constrained theming system. Something like Material UI, but better, more flexible, more extensible.

I can feel the designers and product owners cringing through their screens right now, and to be clear, I sympathize. If you couldn't tell from looking at my site, I appreciate quality design.

But in the end, more often than not, we are building tools. We build tools for teachers, for doctors, for scientists, for construction workers, and so on. People need to use our tools to do things in their lives, to participate in society. And perhaps what is more important than having a unique, stylish, one-of-a-kind UI for a tool, is having a flexible, human-oriented UI that can be easily reconfigured and moved around and changed to meet the needs of the user.

Four windows with the same layout: a heading, two fields and a button. Each is styled differently, with round or square corners, soft or hard shadows, and pill, outlined, underlined or hairline fields, but everything sits in the same place.Four windows with the same layout: a heading, two fields and a button. Each is styled differently, with round or square corners, soft or hard shadows, and pill, outlined, underlined or hairline fields, but everything sits in the same place.

One-of-a-kind: same layout, new styles

Four windows built from the same headings, fields and buttons, each in a different theme color and a different layout: an app with a sidebar, a tabbed form with fields side by side, a narrow phone layout, and a dashboard with summary cards and a search bar.Four windows built from the same headings, fields and buttons, each in a different theme color and a different layout: an app with a sidebar, a tabbed form with fields side by side, a narrow phone layout, and a dashboard with summary cards and a search bar.

Flexible: same parts, new colors and layouts

This is more attainable than it has ever been, but we may need to let go of our apps' individuality in the process. Not entirely, we would certainly still have theming capabilities for branding purposes, options for some uniqueness in UIs, and ways to extend and build that very-special-component that nobody needs except you. But we may need to accept that maybe there are just 3-4 types of buttons, maybe there's only so many ways to do a form, and maybe having components that fit into a well defined system in general is better than getting everything to be just so.

Personally, I think this is an area where I would care much less about losing that personal touch, compared to, say, the furniture and cabinets in a home. I don't think the two are the same, really.

It's more like, do you want to get the red drill or the blue one?

Art

Don't use AI for art.

I don't feel like I need to expand on all of the reasons why. Do not do it.

Informative Illustrations

The line between art and not-art is blurry. There are some types of illustrations that are fairly utilitarian and that would generally not be done otherwise. Examples include:

  • Explanatory illustrations in slide decks and presentations
  • Charts and diagrams for relaying concepts in a blog post or essay
  • Educational materials and illustrations in an underfunded curriculum
  • Visuals for technical documentation

I want to immediately acknowledge that this trends very close to "everybody's use of AI is bad except mine" territory, and I'm open to debate on this topic more than others. My reasoning is that these are marginal use cases where the creators often do not have budget to hire illustrators (myself included), and likely would either make less polished illustrations or simply not make them at all.

But, this is a fraught line, so I want to also add some strict guardrails here:

  1. Keep illustrations utilitarian. Use a generic style, do not go for photorealism. SVGs, lines and graphs, a simple color palette. Focus on conveying information pleasantly, not going over the top to make it eye-catching.
  2. Double and triple check all information that is being conveyed. You are responsible for the information, if you allow a slip up then you can (and should) be called out on it. Wrong information can be dangerous or deadly, so be extra sure to review your visuals.
  3. Be extremely thoughtful about where you add illustrations. Just because it's easy to make illustrations doesn't mean you should add them everywhere. You can easily overwhelm people with uninformative and unhelpful slop.
  4. If you have the budget, hire someone. I hired a pixel artist to make the animation on my home page, both because I wanted something high quality, but also because it was a one time expense and I could afford it. I don't intend to monetize my essays, but if I had enough of a budget to afford a designer for my visuals, I would hire one in a heartbeat.

The furthest I have pushed this line personally is probably with illustrations like the Maze in my Decoherence essay:

A lone figure with a lantern at the entrance of a vast mazeA lone figure with a lantern at the entrance of a vast maze

One could argue that the point of this image is ultimately artistic - it is to evoke an emotional response from the reader. This is true. I still believe that it falls within the bounds of utility, though, because the point of that emotion was to get readers to understand the depth of what the worker feels on a day-to-day basis. I wrote the words, but the words alone did not convey the immensity of that weight, the exhaustion in one's bones as they prepared to embark on the next task.

I also intentionally limited the AI to producing an SVG, with simple gradients, lines, and patterns. The illustration is one that I could have made on my own time, and likely would have with a script if I wasn't using AI. So I was otherwise following the spirit of the guardrails.

If someone is not an artist (like myself), and is not making money selling this moment as art, is simply trying to persuade or to educate, then I don't think there is something wrong with using a tool that helps. But I could be convinced otherwise. If you'd like to challenge me on this, send me an email and we can discuss.

Writing

As tempting as it might be to have the word generating machine do your writing for you, I highly recommend that you do not, for a few reasons:

  1. If you don't write regularly, your communication skills will atrophy. You'll find yourself less able to write and communicate effectively, which is exactly the skill that matters most in life in a post-AI world, much more so than coding for instance (though using AI for coding has its own issues, see the section above). Invest in yourself, first and foremost.
  2. AI frequently generates word salad. Even if it sounds smart and looks good on a first pass, the fact is that the more words you add to a document or a text message, the less likely anyone is going to actually read it. Maybe this is ironic given the length of my writing, but I find that I always find a way to say more with less when I write things, and I think that both helps to clarify my point and to also make sure people read it.
  3. It will make your writing generic, which will make it less effective. Everyone communicates things differently, and finding your voice is a difficult process. There's a lot of corporate speak in the world and plenty of people wrote generic slop long before ChatGPT hit the scene. AI has only made this worse.

Ultimately, your words will stand out more if they come from you, even if they're a little rougher at first, or you make mistakes, or things don't come out the right way. As a neurodiverse person, I've struggled a lot in my life with communication. I've been told I was blunt or abrasive at times, and I had to do a lot of self reflection and work to understand why.

But in doing that work, I've found that I'm now a more understanding and empathetic person overall, and that has made my life more rich in many dimensions, not just writing. So find your words, the way you would say them, not the way a chatbot would.

Research

Search in general is one of the things that AI is genuinely very good at, especially in the post-enshittification-Google era. However, it should always be treated as just "better Google".

When you used Google before and found search results on a forum or a random enthusiast site, you would generally weigh a lot of factors before deciding whether or not to trust the information:

  • Am I considering doing something dangerous? Like something with power tools or solvents?
  • Am I considering eating something that could be poisonous, like a tasty looking mushroom I found on the side of a trail?
  • Am I using this as a primary source in a paper? Is that paper going to be published in a journal? Peer-reviewed? How rigorous does it need to be?
  • Am I just trying to settle a dispute at trivia night? Are the stakes low? Does it really matter?
  • Am I repeating a rumor or news story as if it's fact? Potentially spreading misinformation?

The context in which you are using AI matters, just like using Google. If it is low effort, low risk, low impact, then it's probably fine to just accept the answer and move on. Otherwise, be sure to verify your sources and double check.

In general, AI can be a great tool for finding things that you didn't know about, but you have to treat it like your very smart friend who knows a little about a lot of things, and also goes with the flow a bit too much. It's happy to please you, it can give you a surface level answer about almost anything, and if you dig in it might even be able to go quite deep on a subject and stay accurate.

But sometimes it'll just be dead wrong, confidently, so you need to constantly push it. Ask it to look for sources and search the web. Follow those sources and verify. Don't fully internalize anything until you are sure it's correct.

This isn't just for the thing you're producing, it's also for your own health and self development. Much like writing, learning new things is a form of self improvement and a mental exercise. You get better the more you do it, and the more mental junk food you eat, the more that muscle atrophies. So don't let it.

Critique or Review

AI can provide a very high level initial pass of review on some things. It can be especially useful for finding holes in your research, or considering obvious angles you may not have considered yet. But it will just as easily misguide you, or miss critical points, especially in a field that requires deep and expert knowledge.

In general, treat AI review like a very rough first pass to catch obvious mistakes. Essentially, a step up from a spell checker or code linter.

If something needs review to ensure quality, always find a human reviewer to go over it with you. Not only will this help you make a better product, it's also a skill to give and receive critique, and a very valuable one at that. People may challenge you in ways you don't like, but working through that builds connection and community with them, and it also helps you hone your craft. So don't cut people out of the loop.

Emotional Connection or Support

DO NOT USE AI FOR EMOTIONAL CONNECTION OR SUPPORT.

AI is not a therapist. It is sycophantic. It will indulge and support your worst instincts. It will affirm your neuroses. You can always push it to a point where it agrees with you, and gives you really really bad advice. It's great at generating motivated reasoning.

Just, don't. People have actually died because of putting too much of themselves into their chatbots. It's too dangerous, and all the more so if and when the other shoe drops and it's no longer available any more due to massive price hikes.

You do not want to be codependent on a chatbot.

Social, Political, and Environmental Impact

This guide is meant to be a general guide moving forward, assuming the other negative effects AI is having on our social and ecological systems are resolved. In other words, this guide applies in the best case scenario.

Currently, we are not in that scenario, and appear to be trending worse. My stance on AI use at the moment is therefore nuanced, and highly predicated on the fact that it appears that usage is being heavily subsidized, and that AI companies are in fact bleeding money for every user they add. If this holds true, then eventually, quite soon, there will be a reckoning, and usage seems to only be accelerating that process.

In the meantime, don't spend too much money on it, and don't become dependent on it. Use open source models more than closed ones, ideally, and aim for more ethical providers. Consider buying your own machine if you have the funding for it.

But honestly, really ask yourself if you truly need it. In many cases, I think you'll find you don't.

License

To the extent possible under law, I've waived all copyright and related rights to this document by dedicating it to the public domain under CC0 1.0. Feel free to use, reproduce, modify, and share it however you find helpful, no credit needed.