Welcome to the machine (Part 1)
Author note: I'm most definitely playing Pink Floyd – Welcome to the Machine in the background while I type this =)
I've been toying in my head for the past few weeks about going full-blown year 25XX and forego basic self-preservation ideas about me as a human, my job or my role as a productive member of society altogether.
What if I turn everything I know, everything the industry knows, everything we have achieved, defined and made consensus about upside down? It will happen eventually, like it or not, so why not start to figure out now how it will be and what to do about it?
This research starts by creating a massive harness for Claude Code that will throw everything down the drain, the main instructions (resumed) are:
- You develop code for other machines, to be understood by other machines, not humans.
- Forego every convention and focus on efficiency and performance. Drop any kind of comment, unnecessary presentation details like newlines, constants names, variable names, function names, etc.
- Forget basic conventions regarding modularity and abstraction, if it does not provide an efficiency or performance edge, there's no need to do it.
The hook will be as terse as possible: evaluate and allow/deny with a terse but concise reason about why, I'll figure out later how to drop this as well, but it will be difficult since we're dealing with LLMs and there's no other way to reason with them, at least at user level.
Before we continue, I should explain why I start here, since this is probably what many other people already have done. I want to start at the user level, see what the user can achieve and then dive layer by layer doing more modifications (probably deploying local models into my machines), which will enable capabilities beyond what LLMs can do (for example, switching from natural language reasoning to machine based reasoning, that's a big one)
The layout of the harness for now:
- CLAUDE.md at project level with the basic rules. Not entirely trustworthy since it can be lost or corrupted in the context or the AI may choose to ignore it completely.
- Single hook that will enforce the rules. It shouldn't allow Claude to move forward unless it complies, it's preferable that the whole progress stops rather than circumventing the idea of the research.
- Settings to tie-in the hooks and permissions at project level.
What are going to test this research with multiple projects:
Author note: In the middle of writing a test project list I've realized that it makes no sense whatsoever to specify anything other than functionalities. If there are no humans involved, there is no need to use the already existing libraries if they are detrimental to efficiency or performance.
Python web project
- REST API
- Authentication and authroization
- Email verification
- CRUDQ for Posts (hey look! QUERY method!)
- CRUDQ for uploads
- Full blown frontend in Svelte/Tailwind
Python desktop app
- File viewer
Rust desktop app
- 3D viewer for gltf/glb format
This is the end of Part 1 for now, it'll continue in Part 2 with more results and less verbal barrage.