Introduction Link to this heading

As a software engineer, LLMs now dominate my field. I’m not an AI booster, and so although I have been required to use LLMs in my previous role, I have not been seeking them out. And yet, one-by-one, products like co-pilot became part of my workflow, at first explaining error messages, then acting as auto-complete, then suggesting other improvements to the code.

As a climate activist, I’m aware of the harm being caused by the rapid spread of data-centers just as we need most to de-carbonise. As someone engaged in the struggle for social justice, I’m aware of the increasingly obvious connections between big-tech oligarchs and the rise of a politics of oppression and hate.

I’ve avoided developing a firm position on any of this, hoping that an approach would become clear. Despite the rapid pace of change, it has become apparent that an firm ethical stance is needed.

My general thoughts on AI Link to this heading

In general, I believe that the combination of AI and Capitalism is making our world worse. I sympathise with the Luddites, were not against technology, they were against the use of technology by the rich to destroy their options for just livelihoods. Given that, it is clear that even if LLMs were a unambiguously positive technology for the world they are also a massive accelerator of injustice when in the hands of the tech billionaires and national militaries.

Aside from unjust use, LLMs have risks that we do not totally understand yet. They can contribute to de-skilling us, they may bias our psychology towards narcisism, they remove friction from life in areas that may harm creative thought and art. If I could put this genie back in the bottle, at least under the current circumstances, I would. I am not yet convined that a “No AI” movement has any chance of success, but I have much appreciation for such an approach.

LLMs are also contributing to the massive expansion of data centers, which are increasing climate emissions in an area that is already way too high, in addition to using massive amounts of water.

In my field, software engineering, LLMs are frequently criticised for lowering code quality and providing little return. In my experience, they do not necessarily lead to that. Unattended “vibe coding” may do so, but the use of LLMs to assist experience programmers has so far in my experince led to better designed code, more bugs caught before runtime, better development tooling and a massive increase in efficiency. The capitalists like this technology for a reason - they aren’t just imagining that it works, it does in fact often work at increasing developer efficiency.

Given these potentially contradictory thoughts, I currently feel the need to choose a path that is neither AI boosting, nor refusal. That requires me to make constant ethical decisions in the use of LLMs, and so I have made some decisions in advance in my personal AI policy, which I can follow without having to revisit each time.

My Personal Policy Link to this heading

This is my current personal policy around AI use. I will attempt to apply it both in my paid and unpaid work. I’m open to different approaches when working in collaborations with others, but generally ones that limit AI use more than this policy, not less.

This is v1.1.0. This field is moving fast, and I expect to need to make changes.

Principles & Practices Link to this heading

1. Don’t use AI to mediate human experience Link to this heading

  • I do not use LLMs to produce documents for humans to read
  • I do not use LLMs to summarise communication intended to be read by me
  • I never use LLMs to describe goals, strategy or problems, including writing descriptions of code submissions.

2. Don’t push AI expansion Link to this heading

  • I turn off “AI” features in products I use unless specifically opting in to a use under this policy
  • I do not use LLMs to search the web
  • I do not use LLMs in any hobbies or recreation in any way
  • I do not build user facing “AI” features into any products that I build
  • I do not use LLMs at runtime in my software

3. Don’t cross the picket line Link to this heading

  • I do not use LLMs to produce artistic output, including images, visual design, music and stories
  • I do not use LLMs to assist with qualitative research
  • I do not use LLMs to automate specific jobs currently generating livelihoods, without an equitable re-training and jobs stransition plan in place.

4. Don’t strain the commons Link to this heading

  • I do not create work for humans by allowing agents to contact them, or to file bug reports or submit code.
  • I do not allow my LLM use to dramatically increase my rate of interaction with project maintainers.
  • I never ask another developer to review LLM generated code unless I have closely reviewed it first.

5. Support AI refusal Link to this heading

  • I never require collaborators to use LLMs
  • I ensure my projects have clear instructions for setup and use.
  • The intended audience of my code, code documentation and code comments is always humans.
  • When contributing to projects refusing uses of LLMs, I abide by their policies without criticism.

6. I currently use LLM coding assistants, with guard rails Link to this heading

The following practices apply only to areas where I have significant expertise so that I can act as a human-in-the-loop.

  • I sometimes code entirely without LLM assistance to ensure I still can
  • I particularly lean in to LLM assistance to perform refactorings and code improvements I might be too lazy to do manually
  • I do not “vibe code”.
  • I use LLMs to help improve developer experience for humans by automating otherwise time consuming processes like build and installs

7. I acknowledge that use of LLMs contributes to the climate crisis & tech oligarch hegemony Link to this heading

  • If I continue to use LLM coding assistants I will:
    • Develop a credible strategy by EOY 2026 to move onto open weight models
    • Research and publish the climate impacts of my model use by EOY 2026
    • Ensure that the models I use are powered entirely by renewables by EOY 2027