バイブ・コーディングからエージェンティック・エンジニアリングへ:AI支援によるブロックチェーン開発のセキュリティ
- 2 日前
- 読了時間: 6分

アルゴランドにおけるAI支援開発は、一つの閾値を越えました。今やエージェントは、一度の会話の中でスマートコントラクトを構築し、デプロイすることさえ可能です。
私たちはその実現を支援してきました。しかし、自分が何をデプロイしているのか理解せぬままメインネットへ「バイブ・コーディング(ノリで開発)」することは、ハサミを持って走り回るようなものです。
ですから、一旦ハサミを置いて、私の話を聞いてください。
スペクトラム(連続体)
バイブ・コーディングでは、AIにプロンプトを出し、コードを読みもせず「すべて承認」を押し、動くまでエラーをAIに貼り付け直します。対してエージェンティック・エンジニアリングでは、あなたが設計者、レビュアー、意思決定者としての立場を維持しながら、AIエージェントを指揮します。
この違いは重要です。バイブ・コーディングはリリースこそ早いですが、リスクを蓄積させます。エージェンティック・エンジニアリングはリリースも早く、メンテナンス性も維持されます。実際の資金を扱うあらゆるものにおいて、100倍の負債を抱えずに10倍の速度を得る唯一の方法は、後者です。
リスクは現実
Web2の世界は、脆弱なバイブ・コードによるアプリの「カンブリア爆発」にさらされています。管理画面のルートが露出していたり、データベースの認証情報が漏洩したりと、教訓となる失敗談は山積みです。
Web2の侵害も深刻ですが、通常は被害を軽減する道があります。ID盗難の保護、不正アカウントの異議申し立て、法的手段による資金の回収などです。
しかし、スマートコントラクトにその贅沢はありません。重大な脆弱性は、即座に、そして不可逆的に資金を流出させます。パッチも、ロールバックも、返金もありません。
では、どうすればいいのでしょうか?AIツールの導入を制限し、ブロックチェーン開発を阻んできた高い学習障壁を維持しようとすることもできます。しかし、ハサミを取り上げるのは幼児には有効ですが、開発者や起業家には通用しません。
代わりに、私たちは「ハサミの使い方」を教えることにしました。
ハイステークス(高リスク)開発の原則
メインネットのdAppを開発する場合、自分自身をスペクトラムの「エージェンティック・エンジニアリング」側にしっかりと位置づける必要があります。Algorand開発において特に重要な原則を以下に挙げます:
実行前に計画する: コードを書く前に、エージェントの「プラン・モード」を使用してコントラクトのアーキテクチャを設計します。エージェントにコードベースを調査させ、仕様(状態スキーマ、メソッド署名、アクセス制御、不変条件)を作成させます。あなたはコードが一行も書かれる前にこの設計をレビューし、承認します。これで実装にガードレールが敷かれます。AIがコードを埋め、あなたがアーキテクチャを所有するのです。
出荷するものを理解する: 生成されたコードがなぜ正しいのかを説明できないなら、メインネットにデプロイしてはいけません(テストネットなら構いません)。例えば、AIは自信満々にユーザーの残高を LocalState に保存するでしょう。しかしAIが教えないのは、ユーザーはいつでもローカル状態をクリアでき、プログラムが拒否しても ClearState は成功してしまうという事実です。重要な会計データが消えてしまいます。正しい「スキル」を持つエージェントなら、失ってはならないデータには BoxMap を使うべきだと知っています。
構造化されたプロンプトとスキルを使用する: 「エージェント・スキル」は、AIを確立されたパターンへと導く厳選された指示セットです。単に「コントラクトを作って」と願うのではなく、最新のベストプラクティスがエンコードされた「エージェント・スキル」を使用してください。これにより、古いAPIや時代遅れのパターン、LLM特有のハルシネーションを排除できます。
鍵を手の届かないところに置く: LLMが秘密を守ることは数学的に不可能だという議論があります。ですから、鍵をAIに渡さないでください。 エージェントはあなたの秘密鍵を見てはいけません。VibeKit はOSレベルのキーリングを使用し、署名プロセスを完全に分離しています。AIはトランザクションを「要求」し、安全なウォレット・プロバイダーがそれを「署名」します。
攻撃者のようにテストする: algokit task analyze を使って明らかな脆弱性を特定し、シミュレーションコールや統合テストを多用して潜在的なバグを捕まえてください。AIは「自分が書いたコード」のためのテストを書きますが、あなたは「攻撃者が書くであろうコード」のためのテストを書くのです。
攻守逆転:セキュリティテストにAIを活用する
単にAIが脆弱性を持ち込むことを心配するのではなく、AIを使って脆弱性を見つけ出すことにも取り組むべきです。正しくアプローチすれば、AIはセキュリティテストにおける「フォース・マルチプライヤー(能力を飛躍的に高めるもの)」となります。
VibeKitには simulate_transactions というツールが含まれており、これを使えば、あなたのエージェントに攻撃用のトランザクションを作成させ、それをネットワークにブロードキャスト(送出)することなくテストすることができます。これらはサンドボックス内で実行され、状態の変化やエラーを伴う成功・失敗の結果をレポートします。最近、あるコミュニティメンバーが、自身のエージェントに「権限のない管理者アクセス」「二重決済」「手数料の回避」などをシミュレートさせることで、この機能を実演しました。アルゴランドのプロトコルは、例えばリエントランシー(再入可能攻撃)など、ブロックチェーン攻撃の特定のクラス(種類)全体を既に無効化していますが、AVM(Algorand Virtual Machine)特有のベクトル(攻撃経路)は依然として存在します。シミュレーションは無料です。あなたのエージェントを自由に暴れさせて(テストさせて)ください。
この分野は急速に進化しています。セキュリティ監査や静的解析のためのエージェント・スキルも現在開発中です。Almanaxのようなツールは、さらなる脆弱性管理ツールをもたらします。構築すべきものはまだ多く残されており、AIの存在がその作業の緊急性をより一層高めています。
結論
「責任を持ってバイブ・コードする」ということは、エージェンティック・エンジニアリングを行うということです。AI支援開発はリリースを早めますが、規律と専門知識を伴う必要があります。
Algorandのセキュリティモデルを既に理解している開発者が、AIツールから最大の恩恵を受けます。しかし、もしあなたがまだ専門知識を構築中なら、AIはその学習を加速させてくれます。生成されたすべてのコントラクトを「学習の機会」として扱ってください。なぜそのコードが正しいのか、なぜ LocalState ではなく BoxMap を選んだのかをAIに問い正してください。
メインネットに公開したとき、責任を負うのはあなた自身であることを忘れないでください。
アルゴランドでのバイブ・コーディングについてさらに詳しく知る
今すぐ Vibekit を試してみる。




コメント