プログラミング
Nietzschian Debugger
Nietzschian Debugger (github.com)
要約
Nietzschian Debuggerは、AIが答えを提供するのとは対照的に、開発者に質問を投げかけることでデバッグを支援するツールです。このツールは、開発者が自身のコードをより深く理解し、問題解決能力を鍛えることを目的としており、ユーザーのスキルレベルに応じて「Socrates」「Nietzsche」「Zarathustra」の3段階の強度レベルを提供します。
全文翻訳
Nietzschian Debugger
[画像: Nietzschian Debugger: the debugger that only asks questions]
"What doesn't kill your code makes it stronger."
アンチAI。他のあらゆるツールはあなたに答えを与えます。Nietzschian Debuggerはあなたに質問を突きつけます。
バグを貼り付けてください。それは修正しません。代わりに、それは:
- 何が起こっているかについてのあなたの仮定に異議を唱えます
- あなたが避けている証拠に直面することを強制します
- あなたの弱い推論をバラバラにし、真実だけを残します
- 「アハ!」の瞬間へとあなたを導きます — それはAIの瞬間ではなく、あなたの瞬間です
なぜ?
AIは開発者を弱くしています。ChatGPTからコピー&ペーストし、出荷し、繰り返す。誰も自分のコードを理解しなくなっています。Nietzschian Debuggerは、近道ではなく、苦闘を通じて、より強い開発者を鍛えます。
"デバッグする理由を持つ者は、ほとんどあらゆる方法に耐えることができる。"
インストール
# 公開リリース (npm, v0.1.0)
npx nietzschian-debugger
# 現在のソース (Python 3.10+)
pip install git+https://github.com/DilawarShafiq/nietzschian-debugger.git
nietzschian debug "your bug"
要件:
- npmリリースにはNode.js >= 20、現在のソースにはPython >= 3.10
- Anthropic APIキー(BYOK — 独自のキーを持参してください)
セットアップ
Anthropic APIキーを設定します:
# Linux / macOS
export ANTHROPIC_API_KEY="sk-ant-..."
# Windows (PowerShell)
$env:ANTHROPIC_API_KEY = "sk-ant-..."
# Windows (CMD)
set ANTHROPIC_API_KEY=sk-ant-...
クイックスタート
# デバッグセッションを開始します(デフォルト:ニーチェ強度)
nietzschian debug "My API returns 500 but only on Tuesdays"
# ジェントルモード — 罰ではなくガイダンスが必要な場合
nietzschian debug --intensity socrates "My login endpoint fails randomly"
# 最大強度 — 苦痛を求めるシニア向け
nietzschian debug --intensity zarathustra "Memory leak in production"
# 特定のコードを指し示します
nietzschian debug "Auth fails in ./src/middleware/auth.ts"
3つの強度レベル
| レベル | スタイル | 最適な用途 |
|---|---|---|
socrates | 温かく、導き、足場を固めるような質問 | ジュニア、基礎学習 |
nietzsche | 直接的、対立的、手取り足取りしない | 日々のデバッグ(デフォルト) |
zarathustra | 残酷、敵対的、弱い推論に対して敵対的 | 本当の苦痛を求めるシニア |
セッションの様子
Nietzschian Debugger v0.1.0 — intensity: nietzsche
You: My login endpoint returns 403 for some users
Nietzschian: You say "some users." That's vague. What separates
the ones who fail from the ones who don't?
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.
You: Let me check... oh, they all have expired JWT tokens
Nietzschian: Now we're getting somewhere. Why would some users
have expired tokens while others don't? What changed
recently in your auth system?
You: ... oh. We changed the token TTL last week and didn't
invalidate existing sessions.
Nietzschian: There it is. You didn't need me to tell you — you
needed to be forced to look.
Session Complete — 4 questions to root cause (Solved)
Your Debugging Profile:
┣ Assumption-checking ██████████ strong
┣ Evidence-gathering ██████░░░░ moderate
┗ Root cause speed ████████░░ strong
"Man is something that shall be overcome."
— Friedrich Nietzsche
セッションコマンド
| コマンド | 効果 |
|---|---|
solved または found it | セッションを終了 — 原因を特定しました |
I give up | ライフラインの質問を1つ受け取り、終了します |
exit または quit | セッションを即座に放棄します |
Ctrl+C / Ctrl+D | 強制終了します |
特徴
- 決して答えを与えない — すべての応答は質問です。このツールは決して修正方法を教えてくれません。
- 実際のコードを読む — ファイルパスを参照すると、一般的な例ではなく、あなたの実際のコードを読み取ります。
- 文脈に沿った哲学 — 避けているときはニーチェ、圧倒されているときはセネカ、戦略が必要なときは孫子。
- 成長スコア — セッション全体を通して、視覚的な棒グラフでデバッグスキルを追跡します。
- セッション履歴 — すべてのセッションはローカルの
.nietzschian/sessions/に保存され、傾向を追跡できます。 - スライディングコンテキスト — 長いセッションでもクラッシュしません。古いターンは透明に要約されます。
哲学
| 従来のAI | Nietzschian Debugger |
|---|---|
| "ここに修正があります" | "何を試しましたか?" |
| 依存させる | 危険にする |
| 何も学ばない | すべてを学ぶ |
| 速いが浅い | 苦痛だが永続的 |
| AIは賢くなる | あなたは賢くなる |
誰向けか?
- ただコピー&ペーストするだけでなく、本当に学びたいジュニア開発者
- 自分を良くした苦闘を懐かしく思うシニア開発者
- プロンプトするだけでなく、考えてほしいエンジニアリングマネージャー
- 実際のデバッグ直感を構築するブートキャンプ生
- 最高の開発者は自立した開発者だと信じるすべての人
開発
# クローンしてインストール
git clone https://github.com/DilawarShafiq/nietzschian-debugger.git
cd nietzschian-debugger
pip install -e ".[dev]"
# テストを実行(121テスト)
pytest
# CLIをローカルで実行
nietzschian debug "test problem"
テクニカルスタック
- Python >= 3.10
- Anthropic SDK経由のClaude API
- CLIにはClick、ターミナルUIにはRich
- テストにはpytest
ライセンス
MIT