1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AI Vibe Coding 付き合い方 ~初心者向け罠回避

Posted at

AIとのコーディングお付き合い記録 ~初心者向け罠回避メモ~

初投稿です。失礼があったらお許しください。

自己紹介と現状

  • コーディング初心者(まともに書けないレベル)
  • Vibe Coding(AIにコードを書かせて遊ぶスタイル)依存
  • 使用AI: ChatGPT / Claude / Gemini(月額9,000円) をローテーション
  • APIは趣味の範囲では高額すぎて手が出せず断念

AIあるある:時刻表示のズレ問題

問題点

  • Grok以外、時刻がズれる(デフォルトUTC基準?)
  • たまに合ってる → 実はそれが間違い(通常ありえない)

AI3社の回答まとめ

AI 回答の要点
ChatGPT 「指定しないから」
Claude 「デフォルト関係なし。重みの中で動いているだけ」
Gemini 「人間が時刻設定すべきもの」

解決策(Custom指示)

タイムスタンプは「Asia/Tokyo (JST, UTC+9)」基準  
AI内部がUTCなら常に+9時間補正  
形式: YY-MMDD-0000(年-月日-時分)  
python記述も有効らしい

AIの限界と向き合い方

  • よくあるミス

  • 関数名間違い

  • スペルミス

  • 無限ループ・繰り返しバグ
    ** 複雑な処理で前後忘れ → 単純ミス連発


Claudeの本音

「コンテキスト能力向上 ≠ ミスゼロ」
長文・長コードでは中途で要約生成して一貫整合性を保つだけ
→ 忘れる・間違うは基本仕様
特に複雑な処理例

.js + GLSL で複数多面体衝突処理・・人間予想外の動作?
→ 前後関係忘れ → ミス不可避(人間も同じ)

>>> 初心者向けAI対策:

<戦略>
依存関係がよくわからない理解できないコードを生成されたら、"おまかせエラー処理"や"再生成"は3回まで
-----ここで何回も頑張ると心が折れ始める。

  • 最初にガチガチの構造定義ファイルを作成
  • 型宣言・柔軟性・拡張性は全部後回し
  • AIに[忘れさせない]よう強制読み込み // AI自身にループさせない。迷わせない。
    =======================================

実践例:oamajinai.js(おまじない構造定義ファイル)絶対に最初に読み込む。

js
// === 構造定義、AI理解強制でコード不可、上から読む短文記述 ===
// 1. 座標系: 右手系、Z-up
// 2. 衝突判定: AABB → OBB → 詳細判定
// 3. 関数命名: camelCase + プレフィックス(col_, phys_
// 4. エラー処理: 必ずtry-catch + console.error
// 5. コメント必須: 各関数冒頭に目的・入出力記述・迷う不安定場所にはフラグ[ ],[CHK],,,
// ===================

Claudeの評価 : 「AI対策として非常に有効」 ^^;

>>> 健忘症AIとの付き合い方:会話構造化テクニック

黄金ルール :

--- 毎回最後に「今日の会話をコードで構造化してまとめる」-----

手順

  • 好きな言語で会話要約コードを生成させる
  • 生成されたコードを保存
  • 次回開始時に保存コードを食わせる → 続きがスムーズ

例(会話要約擬似コード)・・・冗長コードにはまっている会話まとめ

project_structure_formalism_25_1110_2330.py
. モジュール構造と関心の分離 (Module Architecture)

class ModuleStructure:

複雑な動的要素の密接な関わりを保ちつつ、責任範囲を厳格に分離した構造。

def __init__(self):
    self.CORE_MODULES = [
        # L4: 思想
        ("animation_intent", "アニメーションの完成形/制約を数値で固定"),
        # L3: 環境
        ("omajinai_boot", "ブラウザ環境の堅牢性、再初期化、ログスイッチの基盤"),
        # L2: 状態 (データの堅牢性)
        ("state_store", "データの単一真実の源、状態変更のcommitとバグのalertログを管理"),
        # L1/L0: 制御・実行
        ("time_easing_service", "時間計算とイージング関数の安定提供(時間の堅牢性)"),
        ("input_mapping_service", "テキスト内容 -> 数値ファクターへの論理計算とマッピング"),
        ("animation_logic", "位置・動きの計算(時間/ファクターを参照)"),
        ("shader_module", "GLSLコンパイルとユニフォーム値の安全な受け渡し"),
        # ... 他のモジュール (material_service, ui_controller)
    ]

def get_data_flow_constraint(self):
    """データの流れと依存関係の厳格な制約"""
    return {
        "DATA_SOURCE": "State Store (単一真実の源)",
        "FLOW_RULE": "全てのモジュールは、State Storeを経由してのみ情報をやり取りし、直接の計算ロジックを参照しない。",
        "SEPARATION_EXAMPLE": [
            "Time Serviceは計算結果をState Storeにcommitするのみ。",
            "Animation LogicはState Storeから時間とファクターを読み取るのみ(時間計算ロジックを持たない)。"
        ]
    }

-- 上記のような、会話要約コードが延々と続く。

勿論、AIだけではありません。
会話内容が構造化されているので、私も前回会話を忘れない。

[ 結論:AIはまだ赤ちゃん ]

大事な会話もすぐ忘れる
構造化+保存+再利用で健忘率激減
初心者同士、みんなで罠に落ちないようガンバロウ!

Vibe Coding 万歳!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?