My AI Usage
I’ve experimented and used generative AI in various forms and fashions since they exploded in popularity in 2022. I will likely continue to experiment with them as they (and the society around them) evolve. This page reflects my personal Generative AI usage policies as of September 10, 2026. I’m writing this for colleagues, consumers of my work—and also myself. I find it easier to stick to principles if they’ve been explicated somehow, rather than remaining amorphous (and, therefore, abusable).
In keeping with the policy outlined below: No parts of this text was produced by generative AI. Generative AI acted as an editor and fact-checker. Suggestions were independently verified and then independently implemented where appropriate.
As a note: some older works may not perfectly adhere to the current standards I’ve put down here owing to my experimentations with the technology. In the spirit of visibility, and to illustrate that my positions come from actual experience rather than knee-jerk reactions, I keep them around but strive to call them out.
Personal Writing
Personal writing consists of works with words intended to be a reflection of me: my positions, values, and thoughts. This includes blog posts, articles, reviews, newsletters, white papers—and also emails and social media posts.
I do not use Generative AI to write my words for me. I find Generative AI to be, as a consequence of its architecture, aggressively average as a wordsmith. I’ve striven for nearly my entire life1 to not be average with my writing. So, even just instrumentally, using Gen AI would be counter-productive. But even if Gen AI becomes an exceptional writer, I still wouldn’t have it write my words for me. Writing is one of my principle ways of thinking and expressing my thoughts. My thoughts. I wouldn’t copy-paste another author and pass-off their thoughts as my own, even if they articulated it exactly as I would have, because they’re not my thoughts. People read words attributable to me because, presumably, they care about what I think on the matter. When my thoughts are heavily influenced by another, that’s what citation and attribution are for. But Generative AI has no authority of its own any more than my toaster does; so I only quote Generative AI if it’s strictly necessary to the point being made. The point that I, as the author, am trying to make with the piece.
So if you ever get an email from me, and you see my send-off “All my best”—that comes from me, sincerely, earnestly, wishing my best for you.2
When I do use Generative AI in my writing process, it’s to serve as an early editor and/or reviewer. For this, I typically use Google Gemini. Below is the sort of prompt I’ve been circling around. What it focuses on is:
- Spelling and grammar issues.
- Factual accuracy.
- Intended audience fit.
Hello!3 I’ve written a blog post about {{Subject}}. I’d like for you to do an editorial pass over for it. The main things I’m looking for are:
- Factual inaccuracies.
- Stylistic inconsistencies.
- Clear incorrect assertions/chains of reasoning.
As well as an overall judge as to whether or not this is clear to read for those who are the intended audience: {{insert audience for specific post here}} Please be measured in your analysis. I do not need nor want an abundance of praise. The best thing for my improvement (and the piece’s) is accurate, objective critique.
I have occasionally asked it to take on perspectives that would be critical or supportive of what I’ve written—like with my essay Why Do I Cook. The critical is to make sure I’m not being uncharitable to alternative arguments or ensure that I’ve accounted for at least the most syntactically probable objections to my words. The supportive was so I can make sure I’m actually contributing something beyond what an LLM would. Some people choose to read other humans as a matter of principle but many (the cynic in me thinks “most”) do so because the quality surpasses what the AIs do. That bar will shift; I want to make sure I’m always above it.
Critically, regardless of the specific editing instructions, I never copy-paste its recommendations directly into what I’m writing. I do not accept its suggestions without reflection. Editing is a skill and is, itself, a form of writing4. When I edit, I try to treat my own writings as something someone else has written5. Commensurately, I try to see AI an eager junior editor rather than the lead. Most of the time I disregard its suggestions—many aren’t intrinsically bad, I’m just stubborn and particular with my writing6. If I do agree with a recommendation, or if it claims to have caught an error, I investigate it independently and then—in my own, original words and/or using my own keyboard—make the correction or adjustments. This will come up a few times, but the process intends to preserve friction because we need friction to learn and grow.
Instrumental Writing
This includes code documentation, Standard Operating Procedures (SOPs), and other pieces of writing that serves a subsidiary (usually professional) purpose.
I do, not infrequently, use Generative AI for these types of tasks. Unlike Personal Writing, these are contexts where anything beyond “average writing” is, frankly, a waste of time—and, in the case of basic code documentation (Python docstrings and Roxygen comments), could actually be an impediment to user understanding. In all cases where I use Generative AI, it creates a first draft (usually modeled after a few examples I’ve already done manually) which I then edit, restructure, and refine.
That said, my usage is inversely correlated with the simplicity of the task. Code documentation is easy; it takes very little thought to write or to check for accuracy. The context is usually pretty evident by the code itself7. What’s a pain in my ass is how much of it I need to write and the fact that it needs to be written in very specific formats for it to be parsed by IDEs. SOPs, questionnaires, and user manuals, though, are hard. They are (frequently) larger documents requiring consistency that spans beyond what chat context windows typically support. Honestly, the harder stuff is interesting to me so I don’t tend to ask AI for help because I enjoy the challenge. The things I tend to delegate in this vein are usually things that I know how to do very well but find exceedingly trivial or boring. I must feel good at it so I’m confident that I can judge whether AI is correct.8 To make sure that I can continue to fairly judge whether the AI is correct (or at least that it’s good enough for me to co-sign), I hold myself to a 3:1 ratio for AI offloading. That is, for every 3 times I make AI do a thing because it’s boring, I make sure I do it once precisely because it’s boring.
If I turn to generative AI at all, it’s usually to be in a supporting role: either I will ask it to do individual components that I will then edit and integrate, or I will have it use something I’ve made first as a stepping-off point. For example, I have used AI to summarize email chains into a more cohesive draft document, rather than hunt down all of the small pieces scattered across various replies. I’ve also recorded myself in a solo meeting performing some task as if I were leading a workshop, had AI transcribe it, and then have AI take the transcript and reformat into an SOP that I restructured.
No matter what though, anything that I associate with my output has been checked and vetted by me prior to being included. For code documentation (excluding vignettes, which I see more as “personal writing”), you can assume that it’s written by AI by default.9 On more substantial efforts, I note somewhere in the document how and where it was used.
At work, I’m required to use Microsoft Copilot, which means OpenAI. If given the choice, I wouldn’t use that vendor. For my consulting, I use a (professional, paid) Gemini license. In both cases, the companies swear that what is received by them is not used for further training and that your data is secure. But they seem to be a bit fluid in keeping that promise (this is a Navier-Stokes joke). So I keep my reasons and context vague and do not input any client and/or sensitive data.
Research (Verb)
This includes using Generative AI to answer new questions that I (or a stakeholder) has about the world.
I do not use Generative AI to summarize research for me. I will occasionally use AI (mostly Gemini, currently) to surface research by asking it for sources. And then I actually click on the link and read the sources for myself.10 Where I find it helpful is taking my underinformed ramblings and suppositions and having it translate into terms of art that I can then search via Google or Google Scholar. From there, I do research the old-fashioned way: reading, following citation trails, thinking about what I read, and then writing findings out (see Personal Writing above).
In effect, I am treating Generative AI as I used to treat Wikipedia: a decent place to start doing research but never a place for it to stop.11 And always with a heaping dose of skepticism.
Research (Noun)
Research (Noun) focuses on research projects, rather than the process of doing research.
I have found some utility of Generative AI in my research efforts as either a means of analyzing text or as the object of study/engineering itself. Some examples include using it to summarize very large volumes of text for quantitative measurement, designing RAG systems, etc. These applications typically do not involve chat systems but are instead routed via API calls or through locally installed open-source models. Similar to Research (Verb), outputs are not trusted any more than any other black-box ML model. Outputs undergo validation and auditing prior to (and during) whatever amounts to “production.” In these cases, their usage is prominently noted as part of the methodology.
Code
Code refers to the production of text in those special, formalized languages that make computers go brrr. My main experience is with Python & R, with sprinklings of SQL, bash, and Javascript.
This may come as a surprise to others, but I typically do not use LLMs to write code for me. Especially not code that I intend to use in “production”. I have used them in the past to make small helper functions for me, but I find myself pulling back from this practice.
Their input tends to be limited to the following things:
- Code documentation (see above)
- Error debugging (especially in Python. What I would give for more human-readable stack traces…).
- Rapid prototyping to make architectural decisions faster.
- Making tests for code. (I typically have it make the dummy data for me while I make the actual tests).
- Simpler refactors for large amounts of code. (I once refactored a good chunk of code from tidypolars to base polars once I had learned enough of the latter to no longer use the former as a transition).
I am toying with using a local LLM to do things like autocomplete in Positron (my coding platform of choice). So far I find it useful. I think faster than I write. While that’s good for my writing (it forces me to slow and marshal my thoughts), it’s an impediment to my coding. Code complete is imperfect and that’s why I like it. It’s faster than my fingers but its suggestions are usually only almost correct. There’s friction. It’s like when I’m texting a longer word and autocomplete pluralizes the word, makes it a gerund, or adds an adverbial suffix (-ly, -ally, -wise, etc.). Even with the deleting and tweaking, it winds up being faster than what my dumb fingers would’ve pushed out on their own.
The reason I do not delegate my coding to AI, despite that being a popular position among many other data scientists and researchers, is that I find Generative AI code to be—similar to text—aggressively average. And while many take an instrumental approach to code (average is fine so long as it works), I want my code to be maintainable and reliable. Average code, candidly, is not. And I just find that AIs right now lack the ability to reliably make codebases cohesive, maintainable, and secure once the project surpasses a trivial level of complexity. I have heard that some of the frontier models have this capability, but I don’t want to spend the (often large amounts of) money on these products unless it becomes a genuine professional necessity. FOMO is not a genuine professional necessity.
But, ultimately, similar to my writing, I see most (if not all) of my code as reflecting me in some way. Coding, for me, is thinking. It’s something I want to get better at. So, similar to writing, I’ll use generative AI as a reviewer of my code. Whether I take or leave the suggestions depends on what I’m trying to accomplish, but it has provided useful suggestions.
I’ll continue to monitor if the aforementioned AI-autocomplete tools continue to feel like they’re amplifying my thoughts and agency rather than replacing it. That, to me, is the whole point of this technology: to augment, rather than replace, the human.
Learning
Self-directed learning about topics of interest. Similar to Research (Verb), I do not see AIs as a pedagogical end-all-be-all. Mostly because they strive to simply give you answers and I don’t think we do much real learning when you’re spoon-fed the answers directly. So when I do use LLMs in the service of my continuing, non-formal education, I deliberately inject friction into the process.
- I start off by asking for resources on the problem, emphasizing that I don’t want it to solve the problem for me. I often ask for books, blogs, papers, documentation, etc. I then use those suggestions and check human sources (Reddit, more blogs, Google Scholar, book reviews, etc) to check for authority, relevance, and fit. I’ll then actually do the reading!
- I ask clarifying questions when there is something I do not understand. Unlike human teachers, I don’t worry about asking too many stupid questions. If there’s a piece of code syntax I do not understand, I ask what it means and then I ask for relevant blogs or documentation to better understand it.12
- I ask it to quiz me, or I ask it to check my understanding. For what it’s worth, I always preface such instructions by insisting that I would rather be wrong and corrected than sucked-up to. One fun thing is that I’ll intentionally write the wrong thing and see if the correction it offers matched my true thinking.
- I ask it to provide a provisional learning plan and reading list. Provisional is the emphasis here. I check manually for authority, relevance, and fit. I then lean back on my own limited teaching experience to see if it’s a feasible syllabus. I’ll update it as I go.
- I ask it to take multiple positions on the topics we’re discussing, including steelmanning opposing beliefs.
On the rare occasion that I am in a more formal learning environment (such as a workshop), I always try the problems myself first, by hand. If I find myself struggling more than is reasonable13 In those cases, as above, I ask for guidance on how to solve the problem rather than getting the solution.
Visual Art and Music
Honestly, this one is self-explanatory.
Though I initially experimented with AI as a means of generating images in personal artistic/expressive projects, I’ve found it more satisfying to just use Paint.net, Gimp, or online meme generators. Plus, I find the moral and ethical arguments against Generative AI to be most forceful about image and sound generation. These are not only much more energy intensive, they are actively, single-handedly eroding the market for visual artists and musicians in ways that far exceed the (still very real) economic impacts of text generation. I do not object to principled professionals rapidly iterating or ideating using Gen AI—so long as the final output is more human-made than not. But I’m a novice at music as well as visual and digital artistry. I may have faffed around with photo editors and such for a long time, but I’m at best a practiced novice.14.
So my question before using it is, akin to Learning above, “is my usage here helping me gain or maintain the skills I want to have or am I just taking the lazy way out?” Given its high moral costs, I feel that my own laziness is an entirely insufficient reason to use these tools.
Where do I draw the line? I tend towards not using them reflexively, but I don’t like just “reflexively” doing anything! So I’m trying to overcome my instinctual aversion (not helped by the deluge of graphical slop on Facebook) and think critically. I’m still navigating the boundaries. One good analogy I came across recently is that using computational tools in art is like adding water to sauces, broths, and stews: Using it inherently dilutes the product, but judicious use leaves you with something tasty. Depending on what you’re cooking, it may be exactly what you were trying to make! I like to extend the principle so that it covers diffusion models but, also, “smart fill”, filters, lighting/hue adjustments or other ways of manipulating images that are secretly also just matrix multiplication under the hood. Some of those methods are dribbles of water, others are cups, some (*cough, cough*, Gen AI) can be gallons of water if you’re not careful. (Literally! See Ethical Considerations below). So, just like with cooking, it becomes a matter of taste.
Another analogy in lieu of concrete policy15: I see Generative AI in this domain as a hobby-level 3D printer. It’s really good at making custom components that are cheap—in both senses of the word. I’m not going to have it produce something that I can readily get at my local hardware store; those bits-and-bobs will typically be more reliable. But I might have it print the weird, custom doohicky to carry a DIY project across the finish line. Maybe I’ll print out a meeple if I’m designing a game (or replacing a game piece that was lost to the gremlins hiding in the walls). Full/predominantly 3d printed projects with plastic of this quality are only good when a skillful designer is deliberately printing and arranging multiple pieces into a useful configuration. Since I’m nowhere near there yet (and have no desire to be unless and until the serious ethical considerations are ameliorated), I’ll stick to the doohickeys and meeples. But I would be remiss in ignoring the utility in creating these small, constituent components.
All of that said: If I’m going to use it, I’ll announce somewhere where it’s used and how.
Ethical considerations
Oh boy.
As I’ve mentioned before, I am far from blind to the ethical issues surrounding the AI environment right now. Data centers are causing environmental and economic woes, many companies at the helm seem all too eager to replace humanity outright, LLMs are being used by bad actors to conduct fraud, abuse, and manipulation on massive scales, agents are parasitizing the web, and the models are repackaging vast sums of human knowledge—often given freely—and selling it back to us. And that’s just a start! Why even use this technology at all?
Because, and I may evolve in this position, I feel like Gen AI is similar to the early web. I believe that there’s a bubble here of hype that will deflate. In its place will remain a new, obdurate technology with widespread applicability. It will likely not completely disappear. There’s also no reason for us to demonize the technology itself.
Technology makes winners and losers through social and political processes, not inherently through their own accord. The LLMs aren’t laying people off: humans are doing that. The LLMs aren’t polluting the environment: humans are. The LLMs aren’t telling humans that Flock cameras have gold in them16 or telling vulnerable people to kill themselves because they (the non-sentient chatbots) get a kick out of it. They do so because of the systems the platforms serving the AIs put into place and the regulatory environment that permits/encourages these platforms to act it this way. Most people who have problems with LLMs don’t have a problem with LLMs. They have a problem with the extractive, oligarchic metastisis of capitalism defining the current economic order of the United States.17
By analogy: people don’t have problems with social media qua social media. They have problems with Alphabet, Meta, X, and our government’s ineffectual regulation over them. Social media, as a concept, can do so much good in the world. LLMs, I feel, ought to be considered in the same light.
So, above all, guiding all other precepts and practices, I want my usage of LLMs to be arcing towards Good.
All of that said: I am earnestly investigating ways for me to offset my technology usage and promote renewable energy. This is something I have been seeking regardless of whether the Kilowatt was expended on Gemini or my PS5. It is part and parcel of the testimony of Stewardship that I see as central to my practice as a Quaker. If anyone is aware of any reputable practices for offsetting, I’m genuinely interested in hearing them!
Footnotes
No, seriously, ask my family. I’ve been writing stories and “books” since I was about 5 or 6.↩︎
It’s not even an email signature. It’s written individually in every email.↩︎
Yes, I always open with a sunny salutation. Not for the Robot’s sake, but for my own. I’m not worried about being killed by any Basilisksor anything; I just don’t like being a source of rudeness regardless of whether the recipient of said rudeness is capable of being hurt by it. I can’t even be mean to video game NPCs for God’s sake!↩︎
Thanks to Gemini for reminding me to make this point plainly stated↩︎
I am hardly always successful at this.↩︎
A tendency that generalizes to human editors.↩︎
At least if you write code well— see Writing Code below.↩︎
But how do you know if you’re not just fooling yourself about being good at stuff? Simple: I have depression, self esteem issues, and impostor syndrome. If you catch me bragging, you can be pretty damn sure I can back it up.↩︎
It honestly doesn’t matter to me whether my hand-written documentation is mistaken for AI output, my @params tags ain’t exactly poetry.↩︎
This may seem like a low bar but, apparently, only about 10% of searches actually have this happen according to recent work from Pew.↩︎
I use Wikipedia for this too, when I can, and prioritize it over the Gen AI answers. I also donate to the Wikimedia Foundation and you should too!↩︎
In fact, given how abysmal some tech documentation is, it can be even more useful! I was working on a VAR model the other day and it suggested an undocumented attribute in the statsmodels class I was wrestling with as a means of better understanding a different, underdocumented output. The point being though, is I actually RTFM’d.↩︎
My ADHD means that can be multiple hours.↩︎
Except graphs—I can definitely make some pretty charts! Thank God for
ggplot!↩︎You can tell I’m less practiced in it here than I am with the stuff earlier in this list. I can only cognitively grapple with usage when mediated by analogy because I lack the direct experience to consider it on its own terms. Something something theory-ladeness of reality, something something.↩︎
Smarter people than me say that this is true.↩︎
Before the “ugh, woke” folks come in: I’m actually very much in favor of markets! But it takes work to keep markets fair. Otherwise incumbents and entrenched interests make true competition impossible—at the expense of everyone else. And considering how, like, 20 companies own dang-near every brand you’ve ever heard of, forgive me if I think that we could use a bit more actual market competition.↩︎