プロジェクト
空入力、不揃いの行、分断された名前を試し、領域が長方形全体を埋める場合だけ排他的境界を返してください。
import re
def grid_areas(rows):
if type(rows) is not list or any(type(r) is not str for r in rows):
raise ValueError("grid.rows")
if not rows:
return {}
cells = [r.split() for r in rows]
width = len(cells[0])
if not width or any(len(r) != width for r in cells):
raise ValueError("grid.width")
groups = {}
for y, row in enumerate(cells):
for x, name in enumerate(row):
if name == ".":
continue
if not re.fullmatch(r"[A-Za-z_][A-Za-z0-9_-]*", name):
raise ValueError("grid.name")
groups.setdefault(name, []).append((y, x))
result = {}
for name, points in groups.items():
top, bottom = min(y for y,x in points), max(y for y,x in points)+1
left, right = min(x for y,x in points), max(x for y,x in points)+1
if len(points) != (bottom-top)*(right-left):
raise ValueError("grid.rectangle")
result[name] = (top, bottom, left, right)
return result空入力、不揃いの行、分断された名前を試し、領域が長方形全体を埋める場合だけ排他的境界を返してください。
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
import re
def grid_areas(rows):
if type(rows) is not list or any(type(r) is not str for r in rows):
raise ValueError("grid.rows")
if not rows:
return {}
cells = [r.split() for r in rows]
width = len(cells[0])
if not width or any(len(r) != width for r in cells):
raise ValueError("grid.width")
groups = {}
for y, row in enumerate(cells):
for x, name in enumerate(row):
if name == ".":
continue
if not re.fullmatch(r"[A-Za-z_][A-Za-z0-9_-]*", name):
raise ValueError("grid.name")
groups.setdefault(name, []).append((y, x))
result = {}
for name, points in groups.items():
top, bottom = min(y for y,x in points), max(y for y,x in points)+1
left, right = min(x for y,x in points), max(x for y,x in points)+1
if len(points) != (bottom-top)*(right-left):
raise ValueError("grid.rectangle")
result[name] = (top, bottom, left, right)
return resultAreviaは、レイアウト入力と目に見える動作をつなぐコードを開発するためのWindows向けAIコーディング環境です。関連するプロジェクトファイルを開き、レイアウトの編集者にどのような表現を許可するか説明してください。検証側と呼び出し側のどちらかを変更する前に、モデルに両方を調べるよう依頼します。
対応するOpenAI互換またはAnthropicのエンドポイントを通じて支援モデルを選び、必要な認証情報を指定します。そのエンドポイントで提供されていれば、無検閲AIモデルも選択できます。制限、ツール対応、コンテキスト容量はその構成によって決まり、レイアウト作業自体に付随する保証ではありません。
長方形のCSSグリッド領域の検証は、依頼の一例です。有効なグリッド、分断された名前付き領域、幅が不揃いな行を提示します。現在の実装がそれぞれを受け入れるか拒否するか確認し、有効なレイアウトを維持しつつ不正なものを利用者に説明する変更案をレビューしてください。
検証結果と画面の応答を一緒にレビューします。正しい拒否にも役立つメッセージが必要で、受け入れられたレイアウトは意図した描画処理に進む必要があります。仕様どおりに動くと判断する前に、プロジェクトのテストを実行し、変更されたソースを確認して、自分の画面で代表的なレイアウトを試してください。
まず、送信された構造が意図した検証を通過するか確認します。通過するなら、受理された出力を描画処理まで追跡します。問題の段階を特定する前にCSSを変更せず、同じテストデータで両方の経路を調べるようモデルに依頼してください。
明示的な製品要件である場合に限ります。修復により意図したレイアウトが変わる可能性があります。入力を拒否する、説明する、変換するのいずれかを定め、その動作に照らしてコードをレビューしてください。
有効な長方形、隙間のある名前付き領域、幅の異なる行を含め、それぞれの期待結果を示してください。報告した動作に沿ってレビューできるよう、自分の問題を再現する最小のテストデータも追加します。
依頼前にファイルと受け入れ条件を指定してください。ローカルモデルの推論には別のサーバーが必要で、それによって全ツールがローカルになるわけではないため、提案されたツール操作も確認します。実際に使用する環境で画面を検証してください。
Arevia · 更新日 2026-10-25