Ramadan Prompting Nights — シナリオベースのプロンプティング競技

AI/ML

概要

Ramadan Prompting Nights は、GIAIC(教育コミュニティ)向けに作られたシナリオベースのプロンプティング競技です。参加者は最終的に手でコードを書くのではなく、与えられた実世界の問題に対して「Goal」「Constraints」「Edge Cases」「Output Format」といった構造化されたプロンプトを作成します。そのプロンプトを基にAIがコードを生成し、自動テストを実行して挙動を検証、合否や得点を決定します。評価は単純な正誤だけでなくテストケースへの適合度や重要度に応じた重み付けスコアで行われ、学習者はプロンプト設計の良し悪しを定量的に把握できます。リポジトリは主にTypeScriptで構成され、問題セットやテスト、スコアリングの仕組みを含みます。(300字)

GitHub

リポジトリの統計情報

  • スター数: 7
  • フォーク数: 0
  • ウォッチャー数: 7
  • コミット数: 13
  • ファイル数: 15
  • メインの言語: TypeScript

主な特徴

  • シナリオベース:30夜で30の実世界コーディングシナリオを提供し、幅広い課題に対応。
  • 構造化プロンプト:Goal / Constraints / Edge Cases / Output Format のテンプレートにより再現性の高い設計を促進。
  • 自動生成・自動採点:AIによるコード生成とテスト駆動のスコアリングで即時フィードバックを実現。
  • 教育特化:学習者がプロンプト設計能力を磨くことにフォーカスした仕組み。

技術的なポイント

本プロジェクトはTypeScriptを中心に構築され、教育的なプロンプティングワークフローを再現するための軽量なインフラを提供します。コアの流れは「学習者が構造化プロンプトを作成 → AIに投げてコード生成 → 生成コードをテストスイートで実行 → テスト結果を重み付けしてスコア算出」というパイプラインで、テスト駆動の評価を前提に設計されています。構造化プロンプトのフォーマット(Goal/Constraints/Edge Cases/Output Format)は、同一シナリオでの比較可能性と再現性を高めるための重要な仕様です。

実装面では、TypeScriptによりプロンプト管理、テスト実行、スコア計算のロジックを型安全に定義できます。テストスイートは各シナリオごとに用意され、複数ケースの合否を集計して重み付き合計スコアを算出する設計が見受けられます。AIとの接続やコード実行部分は抽象化されており、異なるモデルや実行環境(ローカル、クラウド、コンテナ化ランタイム)へ適応させやすい構成になっています。

教育利用を意識した点として、シナリオの追加・編集が容易な構造、プロンプトテンプレートの再利用性、採点基準(スコアモデル)の可変性が挙げられます。セキュリティ面では、生成コードを実行する際のサンドボックス化、タイムアウトやリソース制限の適用が重要ですが、リポジトリはそのための拡張ポイントを提供する設計思想を反映しています。将来的にはモデル評価の自動化、メトリクス収集、ランキング表示などの機能追加が想定され、教育プラットフォームとして発展させやすい土台が整っています。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .cursor: dir
  • .gitignore: file
  • .npmrc: file
  • .vscode: dir
  • LICENSE: file

…他 10 ファイル

まとめ

プロンプト設計力を磨くための実践的な教育コンペ基盤。拡張性も高く学習用途に適する。(約50字)

リポジトリ情報:

READMEの抜粋:

Ramadan Prompting Nights

Ramadan Prompting Nights is a scenario-based prompting competition for GIAIC students. Students do not write the final code directly. They write a structured prompt, AI generates code, tests run, and a weighted score is calculated.

Created by Sir Asharib Ali.

How it works

  1. Write a structured prompt (Goal, Constraints, Edge Cases, Output Format)
  2. Generate code and run tests
  3. Submit and get a weighted score

Scoring Model (Current)

Score is out o…