ビヘイビアモデルを用いたスーパーマリオの自律テスト

この記事では、スーパーマリオブラザーズで使用される自律テスト手法について、行動モデルアプローチを採用して掘り下げています。これは、人間の介入なしに自律的なプレイとレベルクリアを完璧にすることを目指す継続中のシリーズの続編です。主な焦点は、突然変異ベースの入力ジェネレーターを使用することにあり、入力データのビットを反転させて多様なシナリオを作成し、ゲームの応答をテストすることで、従来のテストでは見過ごされがちなエッジケースを明らかにします。
以下は手法からのコードスニペットです:
import mario
import random
def generate_input(starting_byte, flip_probability, input_length):
input = []
next_byte = starting_byte
for _ in range(input_length):
for j in range(8):
if random.random() < flip_probability:
next_byte ^= (1 << j)
input.append(next_byte)
return input
このアプローチは、現実的なゲームプレイを模倣するように設計されており、プレイヤーが「右移動」を押し続けながら「ジャンプ」をタップするのと同様に、特定のキーを複数のフレームにわたって押し続けることを可能にします。入力シーケンスで表される経路のコレクションが維持され、ゲームを通じて最適なコースを見つけるために選択的に再生されます。単純な適応度関数はx軸位置が最も高い経路を優先しますが、行き止まりの可能性があるため、さまざまなスコアを持つ多様な経路のセットを探索して包括的なテストを確保します。
この手法は、ゲーム開発に関わる開発者やテスト自動化に興味のある人々にとって特に有用であり、複雑な状態空間の効率的な探索に関する洞察を提供します。
📖 完全なソースを読む: HN AI Agents
👀 See Also

ノンコーディングAIエージェントをClaude Codeで構築する:3つの実践例
RedditユーザーがClaude Codeを使用してAIエージェントを作成する個人セットアップを共有し、3つの具体的な実装を詳細に説明しています:メール、ToDo、カレンダーから情報を取得する自動朝のブリーフィングエージェント、Substack記事をキャプチャするtmuxベースのパイプライン、会議の要約エージェントです。

LLMメモリの実践的批評:解決策としての不変のリフレクションと一時的なセッション
長期間のセッション、ライフコンパニオン、LLM Wikiメモリなどのパターンが問題を引き起こすと指摘し、不変リフレクションやタスク限定のエフェメラルセッションチェーン、プロンプトテンプレートなどの解決策を提案するRedditの議論。

オープンクロー・エージェント、自律的自己改善ループを夜間ドリームサイクルで実装
OpenClawユーザーが、AI研究をスキャンし、パフォーマンスを振り返り、安全な改善を自律的に実装する夜間の「ドリームサイクル」を実行するようにエージェントを設定しました。モデルルーティングを使用し、スキャンにはHaiku、判断にはOpusを利用することで、1回のサイクルあたり約0.40ドルのコストで実行されています。

開発者が単一セッションでClaude Codeを使用してWhatsApp Business MCPサーバーを構築
ある開発者が、Claude Codeを使用して、1回のコーディングセッションで完全なWhatsApp Business MCPサーバーを構築しました。このサーバーはClaudeとWhatsApp Business APIを接続し、ユーザーがClaudeにWhatsAppメッセージの送信を依頼し、そのコマンドを実行できるようにします。