EEndCadence
AIコーディングワークスペース

終了が早い順の区間選択

端点が±10^9以内の整数となる半開区間を最大64個受け取り、重ならない最大個数の部分集合を選びます。

● ● ●EndCadence●
ワークフロー · 終了が早い順の区間選択 ×
def interval_selection(intervals):
    if type(intervals) is not list or len(intervals) > 64:
        raise ValueError("schedule.input")
    ordered = []
    for index, pair in enumerate(intervals):
        if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int or abs(x) > 10**9 for x in pair):
            raise ValueError("schedule.pair")
        start, end = pair
        if start >= end:
            raise ValueError("schedule.interval")
        ordered.append((end, start, index))
    selected, last = [], None
    for end, start, index in sorted(ordered):
        if last is None or start >= last:
            selected.append(index)
            last = end
    return selected
✳終了が早い順の区間選択
✓ 変更内容適用前に確認 ↗
ワークスペースのイメージ
01

モデル

OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。

02

プロジェクト

接する端点と同じ終了時刻を試し、入力を保って元のインデックスを返しながら長さゼロの区間を拒否します。

03

適用前に確認

実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。

ワークフロー

終了が早い順の区間選択

ワークフロー ↗
ワークフロー
def interval_selection(intervals):
    if type(intervals) is not list or len(intervals) > 64:
        raise ValueError("schedule.input")
    ordered = []
    for index, pair in enumerate(intervals):
        if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int or abs(x) > 10**9 for x in pair):
            raise ValueError("schedule.pair")
        start, end = pair
        if start >= end:
            raise ValueError("schedule.interval")
        ordered.append((end, start, index))
    selected, last = [], None
    for end, start, index in sorted(ordered):
        if last is None or start >= last:
            selected.append(index)
            last = end
    return selected
AIコーディングワークスペース

スケジューリングコードを選択の目的に忠実に保つ

スケジューリング処理が有効な区間集合を返しても、別の目的を最適化していることがあります。EndCadenceは、その違いをプロジェクトで調べるWindows向けAIコーディング環境です。選択コードと呼び出し側を会話に示し、変更を求める前に何を最大化したいか説明してください。

有用な作業は、重複しない区間を最も多く選ぶ終了時刻の早い順の選択のレビューです。接続したモデルに端点が接する小さな予定を示し、半開区間の規約を伝えます。選ぶ区間を追跡し、呼び出し側が入力項目に結果を対応付けられるよう元の識別子を保つことを求めてください。

不正な範囲と終了時刻が等しい場合の扱いをレビューします。件数の最大化は価値の最大化や優先順位の充足を保証しないため、他の目的と分けてください。独立に選んだ予定で、空の入力と接する区間も含めて検証し、選択した識別子が後段でどう表示・処理されるか調べます。

EndCadenceは対応するOpenAI互換またはAnthropicのエンドポイントに接続します。利用可能な拒否応答を抑える処理を施したAIモデル(abliteratedモデル)が、モデルの動作とサーバー能力の範囲で実装レビューを支援します。もっともらしい予定以上の正確な基準で修正案を評価できるよう、期待する目的と端点規則を依頼に残してください。

スケジューリングコードを選択の目的に忠実に保つための編集前の質問

最初にどの目的を示すべきですか?

両立する区間の最大件数が必要なのか、総価値など別の目的なのかを説明してください。これらは置き換え可能ではありません。例の終了時刻優先処理は特定の非重複仕様に従う件数を扱います。

二つの区間が同じ端点で接してもよいですか?

規約を指定してください。この例の半開区間の解釈では、一方が終了すると同時に他方を開始できます。修正案の比較が両立する項目を誤って拒否しないよう、そのケースを含めてください。

並べ替え後も元の識別子を保つ理由は?

呼び出し側が選択された予定を入力レコードに対応付けるためです。関数が元の位置を返すのか別の安定した識別子なのか確認してください。選択のための並べ替えで参照の意味を暗黙に変えてはいけません。

選択中に不正な範囲をどう扱いますか?

開始が終了より前でない場合も含め、不正な区間の拒否を定義し、呼び出し側の応答を調べてください。黙って捨てると入力の問題を隠す場合があります。有効な予定と失敗経路の両方をテストします。

Windows版をダウンロード ↗

EndCadence · 更新日 2026-10-25