BlackBoxApproach: AIが物事を壊すのに対処しながらアプリを構築する
github.com/amiune/theblackboxapproach におけるプローブオブコンセプト研究
AIはコードを生成する点ではとても良いが、あなたのプロジェクト全体を一からやり直すこともできる。BlackBoxApproach はその問題を解決するための実験です。
解決しようとしている問題
人間とAIの決定。 すべてのボックスとデータフィールドはプロヴァエンスを追跡します: human_defined, ai_defined, または mixed。一度確認した後、AIはその確認を仮説に戻すことはできません。
擬コードとしての中間層。 ボックスはハイブリッドな擬コード (CALL, IF, 自然言語) を使用します: システムを分解するための十分な構造があり、実装詳細に没頭するほどではない。実装詳細に没頭するほどではない。
モジュールの境界。 一つのブラックボックスを一度に精緻化する。祖先は読み取り専用のコンテキストであり、選択されたサブツリーのみが変化できる。ビジュアライザはこのことを強制するようにプロントを生成するため、"支払いフローを修正"は認証レイヤーを再構築しない。
人間が読めるビュー。 ナイティブなmacOSビジュアライザはボックスツリー、プロヴァエンスのバッジ、および契約を表示します。数十個の散らばったスペックファイルよりもシンプルです。
どのように機能するか
各アプリプロジェクトにはblackboxes/フォルダが作成されます: YAMLのボックス、共有データ構造、LLMが明示的に呼び出されたときに使用するスキルファイル、そしてプロヴァエンスログ。ChatGPT (または類似のもの) は構造化されたファイルアップデートを返します; アプリはそれらを書き込み、git diffを追跡し、未コミットの変更が存在する間は新しいAI編集をブロックします。
低コードではありません。自然言語プログラミングではありません。契約、意図、および审计トレースを含む再帰的なブラックボックス分解。
状態
初期のプロトタイプ。macOSアプリ + プロジェクトテンプレート。UIよりもメソッドが重要です。目標は、人間が理解しやすいように設計されたディスクリンしたAI支援開発です。