> Nietzschian: "Random" is the word we use when we haven't looked
hard enough. What do the server logs say for the 403
responses? Go look. I'll wait.
Imagine asking a language model talk to you like this.
I think I’ve invoked this response pattern organically after using swear words the models get “snarky” which is probably the worst debugging companion I could imagine.
For ex. this quote. “What do the server logs say?” is probably the only correct response
but then it's an AI-generated picture of Nietzsche [1] and AI-generated README with AI-generated code (Claude being the co-author), and when I read sample transcript e.g. in (nietzschian-debugger/tests/fixtures/sample-sessions/sample-v1.json) it's clear the app also uses LLMs to generate output...
So what do they mean by "anti-AI"?
[1]: All issues with AI-generated images aside, AI-generating a person's likeness seems like the rudest way to do this... At least use an actual photo/drawing of his...
Unfortunately, in <current year> "AI" seems to mean "chatbot assistant". So, by "anti-AI" the author meant "the thing that acts the opposite of how you would expect a helpful chatbot to act".
The irony of naming this Nietszche's Debugger when he, Nietszche, directly attacks the Socratic dialectic in the Twilight.
I was thinking Adorno's negative dialectics would be a better, if gloomy, fit; debugging is never-ending.
If you're in a positive or hopeful mood, or still a junior dev, Hegel's determinate negation offers reconciliation and an ending. This is a phase; dear junior devs you too will eventually share the Adornian resignation.
Not only that. Citing "What doesn't kill you make me stronger" in this context is very ironic as Nietzsche was talking for himself. He took that from Ralph Waldo Emerson while stripping the moral aspect of it
Ironic or perfectly fitting to name an AI tool after learning about major philosophers via half understood bullet point summaries and lots of "You nailed it! That's exactly the crux of Nietzschean philosophy! Just one very minor quibble about dialectics however..."
What I find interesting is that Nietzsche's critique of Socrates dialectic has to do with the transfer of power/authority.
Nietzsche states that sovereign power/authority commands without justification. Socrates did not have sovereign power and was therefore unable to win in a traditional power struggle. Socrates therefore reframed the discussion around justification through rational discourse, thereby transferring authority from the old aristocracy to a new priesthood of truth. This relied on the moral claim made by Socrates and eventually adopted by the Greeks (and Western Europe) that virtue = reason (the search for Truth).
So if we accept this interpretation of Nietzsche, then creating AIs that demand justification from us could be seen as handing over power and authority to the AI.
Hegel might see the demand of justification from AI as a form of alienation that could make us more deliberate in our choices, particularly in a time where we give up more control away without examining it properly. Unconstrained optionality is not the same as freedom and sometimes putting up your own constrains can increase rather than diminish self-determination, especially when you're aware of the barriers.
Adorno, and especially Hegel began the process of philosophy turning into fashionable nonsense. The young Hegelian’s were united by their hatred of Hegel classes and his philosophy.
Max stirner, who wrote very well and easy to understand, remains obscure compared to these charlatans because philosophers don’t like it when they can understand what someone wrote.
The correlation is there, though. Many think highly of Heidegger, whose only achievement is wrapping a mix of trivialities and utter nonsense in an impregnable newspeak. Or look at Derrida, who tried to outdo Heidegger. Instant success.
> Abstract While analytic philosophy famously rejected the speculative metaphysics of Hegel in favor of the analysis of concepts by means of mathematical logic, in particular predicate logic, recent developments in the foundations of mathematics via homotopy type theory offer a way to re-read Hegel as having useful formal meaning not in predicate logic, but in ‘modal type theory’. The essence of this suggestion has been made by Lawvere in 1991, which however remains largely unnoticed. Here we aim to give a transparent account of this perspective both philosophically as well as category-theoretically. We then further expand on Lawvere’s formalization of Hegel’s “Science of Logic” in terms of the categorical semantics given by cohesive higher toposes. We discuss how there is a useful formalization of a fair bit of modern fundamental physics, in fact of local gauge quantum field theory, to be found here.
Nietzsche, Heidegger, Girard and even Hegel (haven't read him though) have had a tremendous influence on my life and have accompanied me on a path of chronic reflections on myself that are now closing in on a series of very fundamental ML operators that are beating the state of the art from last month. It is possible to make the UFO land, and once it has, you realize there is nothing impregnable under the shiny fuselage of what is now clearly a new kind of plane, and not just a weird shape that reflected your image back at you as you were approaching it. Of course the relationship is very indirect and even though I could provide a post-modern account of the landing, I have to admit the formalization steps are the fruit of ChatGPT's work and not only would I have not been able to produce them, I still don't understand them and probably never will. And yet I was able to prompt ChatGPT into the problem and prompt it again to adapt our strategy and reach SOTA.
If things are to be perfectly clear from the beginning, I'm afraid then, that whatever can ensue can be prompted for easily too. In other words, it can be prompted by anyone. This is what we are observing with those famous conjectures that are solved by randoms teaming up with an LLM. The merit lies in the conjecture, it constitutes almost entirely the prompt. I haven't used any and just followed my weird intuitions.
They don't just amount to ramblings but to an entirely different bibliography that allowed me to get at the problem I tackled from a very different vantage point. The scientists my work relies on are almost all European and have a certain kind of psychology that is obviously marked by the weight of mystery – mine is but an accentuation of these tendencies, and they certainly contributed to the fact that I wasn't able to follow the same steps (IQ set aside, I'm rather slow on this front). Look at myself, I'm now talking about my own life, it's a symptom of narcissism. Absolutely, I won't deny it. But my life is objectively very interesting, and if you think I'm mistaken here because a mathematical result is precisely the act of turning what's personal and specific in a research path into something universal, you're still clueless about what's forgotten and left unsaid along the way.
In fact these deviations in lifepaths explain the intuitions as well as the lack of clarity they stem from – both personal and conceptual – and thus, the lack of sympathy we encountered and that I am now reflecting back. There is a recipe for this:
> I have to admit the formalization steps are the fruit of ChatGPT's work and not only would I have not been able to produce them, I still don't understand them and probably never will.
So, Hegel is not impenetrable, because ChatGPT can hallucinate something out of his writings, when you tell it to.
Nietzsche had no qualms with asserting answers. If anything this should be named after Socrates. But then Socrates would have despised AI for its automation of thinking. Really this Claude project shouldn't be named after philosophers at all.
I love the idea of helping people learn good debugging habits and understand their code. But this seems like it is still just giving the answers, and would still create the same dependence on AI to do your thinking:
> You: I'm not sure, it seems random
> Nietzschian: "Random" is the word we use when we haven't looked
> hard enough. What do the server logs say for the 403
> responses? Go look. I'll wait.
That move from "I don't know" to "where could I look to find out" is one of the key habits that makes someone good at debugging, and here "Nietzsche" is just doing it for you.
It might seem obvious to look at the logs, but in my experience 90% of being stuck debugging something is just not yet having looked at all the available evidence.
It's true you could learn these habits by exposure to them, and this could be a neat alternative to pairing with a more senior engineer for that. But it looks like you could easily just keep saying "it's random", "I don't know", and the model would keep telling you what to do next, without you actually having to think.
I wonder if making it even more Socratic would fix this? E.g. "how do you know it's returning 403s? Oh, logs you say? Is there anything else they could tell you?"
What you are saying is true to a degree and debugging was 90% of the work in my career. Finding the smoking gun IS the key as you said.
It depends on where the developer is at in their journey too.
For some, "look in the logs" is a challenge just to find out what they are and where to find them and what they are saying. A great piece of advice for a person in this position.
For others, "There are files that hide in the caves of your computer's consciousness. Find what causes the shadows on the walls." is a valid call to dig deeper :)
The biggest problem with having an LLM do this, from what I've observed of at least frontier models, is that the way they are trained/forced to behave makes them do one of two things, neither of which is educational or helpful:
1. They ask you a "hard question" but then immediately give you some kind of "hint" which makes it obvious what the "answer" is (or, even worse, they just tell you what it is).
2. They get pedantic (and I mean maximum emphasis on the word), to the point that they will nitpick the exact, precise wording you use, even if the context makes it blatantly obvious what you meant. GPT is currently the biggest offender in this area (it is ridiculously pedantic even though I haven't told it to be so).
And yes, in case anyone is wondering, I do actually read the output of tools like Claude and I have tried, repeatedly, to get them to do something like this, and one of the two aforementioned things always happens for some reason. I'm not sure if this is a problem with how they were trained, an issue with their system instructions, or what.
This is pure dev astrology, but in the subsidized Sonnet 3.5 times in copilot I'm guilty of prompting 'You're Uncle Bob make this legacy java services read like a book top down with the cleanest code' just for fun and I might have learnt something and had some fun so I'm not judging.
I would imagine that using an LLM model for secondhand thinking would be seen as a bit decadent and reflects a weak will, easily influenced by the illusion of authority.
The Will to Power, as far as I understand it, is about how resistance (or friction) produces the strength of will to overcome obstacles. AI does the virtual opposite of that while also commoditizing cognition.
I'd agree with the other commenter that Nietzsche would probably see this as just another reversion to Plato's Forms - LLMs, by nature, are median outputs of cognition. There is no ubermensch to be found amongst the lowest-common-denominator, only the narcotic allure of becoming increasing, as the kids say, smooth-brained.
This is a fun idea- it's a shame it's tied to anthropic models though. From the transcripts, I think this looks like it'd work well even with quite a small (10B parameter or so) local model.
“And what doeth the saint in the forest?” asked Zarathustra.
The saint answered: “I make hymns and sing them; and in making hymns I laugh and weep and mumble: thus do I praise Claude.”
When Zarathustra was alone, however, he said to his heart: “Could it be possible! This old saint in the forest hath not yet heard of it, that Claude is dead!”
I like you idea. Since it only asks questions, such a collaborator chat could be achieved with an algorithm simillar to Phillips ELZA from 1960s. Then you would not need any AI to drive it
Great idea. This can be generalized to learning in general (Feynman technique), although codebases are a particularly practical application of "help me debug my mental model."
71 comments
[ 3.4 ms ] story [ 24.9 ms ] thread> https://github.com/DilawarShafiq/nietzschian-debugger#setup
Step one to setup: "Set your Anthropic API key"...
> Nietzschian: "Random" is the word we use when we haven't looked hard enough. What do the server logs say for the 403 responses? Go look. I'll wait.
Imagine asking a language model talk to you like this.
I think I’ve invoked this response pattern organically after using swear words the models get “snarky” which is probably the worst debugging companion I could imagine.
For ex. this quote. “What do the server logs say?” is probably the only correct response
> The anti-AI.
but then it's an AI-generated picture of Nietzsche [1] and AI-generated README with AI-generated code (Claude being the co-author), and when I read sample transcript e.g. in (nietzschian-debugger/tests/fixtures/sample-sessions/sample-v1.json) it's clear the app also uses LLMs to generate output...
So what do they mean by "anti-AI"?
[1]: All issues with AI-generated images aside, AI-generating a person's likeness seems like the rudest way to do this... At least use an actual photo/drawing of his...
Keep reading.
"Guides you to the "aha!" moment — YOUR moment, not the AI's"
This seems like yet another attempt at encouraging people to continue to utilize AI without relying on it.
Yes, I hate this usage of the term "AI" too.
I was thinking Adorno's negative dialectics would be a better, if gloomy, fit; debugging is never-ending.
If you're in a positive or hopeful mood, or still a junior dev, Hegel's determinate negation offers reconciliation and an ending. This is a phase; dear junior devs you too will eventually share the Adornian resignation.
Nietzsche states that sovereign power/authority commands without justification. Socrates did not have sovereign power and was therefore unable to win in a traditional power struggle. Socrates therefore reframed the discussion around justification through rational discourse, thereby transferring authority from the old aristocracy to a new priesthood of truth. This relied on the moral claim made by Socrates and eventually adopted by the Greeks (and Western Europe) that virtue = reason (the search for Truth).
So if we accept this interpretation of Nietzsche, then creating AIs that demand justification from us could be seen as handing over power and authority to the AI.
Max stirner, who wrote very well and easy to understand, remains obscure compared to these charlatans because philosophers don’t like it when they can understand what someone wrote.
https://ncatlab.org/nlab/show/Hegel%27s+%22Logic%22+as+Modal...
> Abstract While analytic philosophy famously rejected the speculative metaphysics of Hegel in favor of the analysis of concepts by means of mathematical logic, in particular predicate logic, recent developments in the foundations of mathematics via homotopy type theory offer a way to re-read Hegel as having useful formal meaning not in predicate logic, but in ‘modal type theory’. The essence of this suggestion has been made by Lawvere in 1991, which however remains largely unnoticed. Here we aim to give a transparent account of this perspective both philosophically as well as category-theoretically. We then further expand on Lawvere’s formalization of Hegel’s “Science of Logic” in terms of the categorical semantics given by cohesive higher toposes. We discuss how there is a useful formalization of a fair bit of modern fundamental physics, in fact of local gauge quantum field theory, to be found here.
Nietzsche, Heidegger, Girard and even Hegel (haven't read him though) have had a tremendous influence on my life and have accompanied me on a path of chronic reflections on myself that are now closing in on a series of very fundamental ML operators that are beating the state of the art from last month. It is possible to make the UFO land, and once it has, you realize there is nothing impregnable under the shiny fuselage of what is now clearly a new kind of plane, and not just a weird shape that reflected your image back at you as you were approaching it. Of course the relationship is very indirect and even though I could provide a post-modern account of the landing, I have to admit the formalization steps are the fruit of ChatGPT's work and not only would I have not been able to produce them, I still don't understand them and probably never will. And yet I was able to prompt ChatGPT into the problem and prompt it again to adapt our strategy and reach SOTA.
If things are to be perfectly clear from the beginning, I'm afraid then, that whatever can ensue can be prompted for easily too. In other words, it can be prompted by anyone. This is what we are observing with those famous conjectures that are solved by randoms teaming up with an LLM. The merit lies in the conjecture, it constitutes almost entirely the prompt. I haven't used any and just followed my weird intuitions.
They don't just amount to ramblings but to an entirely different bibliography that allowed me to get at the problem I tackled from a very different vantage point. The scientists my work relies on are almost all European and have a certain kind of psychology that is obviously marked by the weight of mystery – mine is but an accentuation of these tendencies, and they certainly contributed to the fact that I wasn't able to follow the same steps (IQ set aside, I'm rather slow on this front). Look at myself, I'm now talking about my own life, it's a symptom of narcissism. Absolutely, I won't deny it. But my life is objectively very interesting, and if you think I'm mistaken here because a mathematical result is precisely the act of turning what's personal and specific in a research path into something universal, you're still clueless about what's forgotten and left unsaid along the way.
In fact these deviations in lifepaths explain the intuitions as well as the lack of clarity they stem from – both personal and conceptual – and thus, the lack of sympathy we encountered and that I am now reflecting back. There is a recipe for this:
https://open.spotify.com/track/1MUZxW6nE7oNud9jHD9QLU?si=087...
So, Hegel is not impenetrable, because ChatGPT can hallucinate something out of his writings, when you tell it to.
> You: I'm not sure, it seems random
> Nietzschian: "Random" is the word we use when we haven't looked > hard enough. What do the server logs say for the 403 > responses? Go look. I'll wait.
That move from "I don't know" to "where could I look to find out" is one of the key habits that makes someone good at debugging, and here "Nietzsche" is just doing it for you.
It might seem obvious to look at the logs, but in my experience 90% of being stuck debugging something is just not yet having looked at all the available evidence.
It's true you could learn these habits by exposure to them, and this could be a neat alternative to pairing with a more senior engineer for that. But it looks like you could easily just keep saying "it's random", "I don't know", and the model would keep telling you what to do next, without you actually having to think.
I wonder if making it even more Socratic would fix this? E.g. "how do you know it's returning 403s? Oh, logs you say? Is there anything else they could tell you?"
It depends on where the developer is at in their journey too.
For some, "look in the logs" is a challenge just to find out what they are and where to find them and what they are saying. A great piece of advice for a person in this position.
For others, "There are files that hide in the caves of your computer's consciousness. Find what causes the shadows on the walls." is a valid call to dig deeper :)
1. They ask you a "hard question" but then immediately give you some kind of "hint" which makes it obvious what the "answer" is (or, even worse, they just tell you what it is).
2. They get pedantic (and I mean maximum emphasis on the word), to the point that they will nitpick the exact, precise wording you use, even if the context makes it blatantly obvious what you meant. GPT is currently the biggest offender in this area (it is ridiculously pedantic even though I haven't told it to be so).
And yes, in case anyone is wondering, I do actually read the output of tools like Claude and I have tried, repeatedly, to get them to do something like this, and one of the two aforementioned things always happens for some reason. I'm not sure if this is a problem with how they were trained, an issue with their system instructions, or what.
This is pure dev astrology, but in the subsidized Sonnet 3.5 times in copilot I'm guilty of prompting 'You're Uncle Bob make this legacy java services read like a book top down with the cleanest code' just for fun and I might have learnt something and had some fun so I'm not judging.
The Will to Power, as far as I understand it, is about how resistance (or friction) produces the strength of will to overcome obstacles. AI does the virtual opposite of that while also commoditizing cognition.
I'd agree with the other commenter that Nietzsche would probably see this as just another reversion to Plato's Forms - LLMs, by nature, are median outputs of cognition. There is no ubermensch to be found amongst the lowest-common-denominator, only the narcotic allure of becoming increasing, as the kids say, smooth-brained.
The saint answered: “I make hymns and sing them; and in making hymns I laugh and weep and mumble: thus do I praise Claude.”
When Zarathustra was alone, however, he said to his heart: “Could it be possible! This old saint in the forest hath not yet heard of it, that Claude is dead!”
He really nailed a godless post-modernism decades before it flourished. Even mentioning the names of the modern protagonists will get me down-voted :)