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

この記事では、スーパーマリオブラザーズで使用される自律テスト手法について、行動モデルアプローチを採用して掘り下げています。これは、人間の介入なしに自律的なプレイとレベルクリアを完璧にすることを目指す継続中のシリーズの続編です。主な焦点は、突然変異ベースの入力ジェネレーターを使用することにあり、入力データのビットを反転させて多様なシナリオを作成し、ゲームの応答をテストすることで、従来のテストでは見過ごされがちなエッジケースを明らかにします。
以下は手法からのコードスニペットです:
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

OpenClawを使用したビジネスと個人の財務の分離:個人開業医のアプローチ
個人で歯科医院を営むオーナーが、OpenClawを使って事業用と個人用の銀行取引を混在させずに管理する方法を紹介。強制的に照合する代わりに不一致をフラグ付けすることで解決した実践的なワークフロー。

Tailscaleを介したAndroidコンパニオンアプリの成功事例の探求
AndroidコンパニオンアプリがTailscaleを活用してセキュリティと接続性を向上させる方法について、OpenClawコミュニティでの議論を基にご紹介します。

ReactのuseEffectバグがランダムな触覚フィードバックを引き起こし、アプリのリテンション率を急落させた経緯
ある開発者は、アプリがランダムに振動するというユーザーからの報告を数ヶ月間無視していましたが、後にReactのuseEffect依存関係の問題が、ミッドレンジデバイスで常に触覚フィードバックを引き起こし、7日間の定着率を35%のベンチマークから18%に低下させていたことを発見しました。

本番環境で複数のAIエージェントを運用する実践的教訓
AIが運営するストアを運営するチームは、デザイン、コーディング、マーケティングのエージェントを含む複数のAIエージェントを本番環境で運用しています。彼らは、実践において「AIエージェントを雇う」ことが実際に何を意味するのかについての経験を記録しました。