My AI policy
Written on by j23n in aiAfter a lot of back and forth with agentic coding, I've landed on a system that works for me, and it's based on dividing my workload into things that interest me and those I offload to (the ever increasingly capable) AI agents.
I try to make this decision very consciously, which at times is hard because AI is just so good much of the time, and it's just way easier to delegate to it than to learn things myself.
The learning part of the AI transformation is very important to me and as such, all content on this blog is written by me, edited by me and reflect my own thoughts and my own journey, without AI assistance.
In my projects, I have started adding an AI disclaimer which I hope clarifies how and when I use AI agents. It looks like so:
🤖 AI disclaimer
This tool was built with Claude Code, following my AI policy.
Tools
- Claude Code (Anthropic) — primary development assistant
Usage
- Architecture & design: Human-driven
- Implementation: AI-collaborative (human-directed, AI-written, human-reviewed)
- Tests: N/A
- Documentation: AI-generated with human review
Process
AI agents propose changes as PRs, which are reviewed and merged by me. I try to make interactions transparent in the relevant issues or proposed patches. AI-authored commits are tagged with
Co-Authored-Byin the git history.
The usage section is then updated to reflect the realities of the project itself.
There is simply no denying that they are a huge multiplier in my side project work. The concrete interactions with my agents are still evolving but I have two rules:
- whatever lands on
mainis thoroughly reviewed by me - I take every opportunity to learn new things from the AI
You can see some of the interaction patterns in the mosaic repo. In short, I try to use Claude Code as a remote developer, with whom I interact mostly through issues and patches. I assign issues to Claude, it has its own radicle DID and proposes solutions to the issues as patches.
This still requires a significant amount of interaction as I tell Claude to look at issues, reply to comments and submit patches - something I hope to automate soon. The upshot of this architecture is that Claude runs only inside an LXC container, completely isolated from the rest of my machine.