この作業で不揃いな行をどう扱いますか?
アプリが拒否するか、計算前に変換するか定義します。偶発的な反復規則に決めさせないでください。その方針を置く場所を調べ、呼び出し側で見えるエラーを検証するよう依頼します。
def matrix_product(left, right):
left, right = [tuple(r) for r in left], [tuple(r) for r in right]
widths = []
for matrix in (left, right):
width = len(matrix[0]) if matrix else 0
if len(matrix) > 64 or width > 64 or any(len(r) != width for r in matrix):
raise ValueError("matrix.shape")
if any(type(v) is not int for r in matrix for v in r):
raise ValueError("cell.integer")
widths.append(width)
if widths[0] != len(right):
raise ValueError("matrix.incompatible")
return [[sum(row[k] * right[k][j] for k in range(widths[0]))
for j in range(widths[1])] for row in left]実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
空入力と1要素を確認し、行列を変更せず不揃いな行、非互換の次元、真偽値セルを拒否します。
def matrix_product(left, right):
left, right = [tuple(r) for r in left], [tuple(r) for r in right]
widths = []
for matrix in (left, right):
width = len(matrix[0]) if matrix else 0
if len(matrix) > 64 or width > 64 or any(len(r) != width for r in matrix):
raise ValueError("matrix.shape")
if any(type(v) is not int for r in matrix for v in r):
raise ValueError("cell.integer")
widths.append(width)
if widths[0] != len(right):
raise ValueError("matrix.incompatible")
return [[sum(row[k] * right[k][j] for k in range(widths[0]))
for j in range(widths[1])] for row in left]MatrixCairnは、構造化された数値データを受け取るコードに取り組むWindows向けAIコーディング環境です。関連ファイルを示し、許可する形状、値の型、呼び出し側の期待結果を説明します。検証と計算を一緒に調べるよう依頼してください。個々の計算が妥当に見えても、変更案がアプリに必要な構造を保つかレビューしやすくなります。
matrix.pyを扱う作業では、行列乗算の前に非互換な次元や不揃いな行をどう拒否するか調べられます。現在の前提を説明し、必要なら範囲を絞った修正を提案するよう依頼します。プロジェクトが許す空の形状も含め、明確な入出力例を使ってください。目的はレビュー可能な証拠で実装を改善することであり、整った関数から数学的正しさを推測することではありません。
変更を調べた後でプロジェクトの検証を実行し、不正入力が利用側にどう伝わるか確認します。小さな成功例だけに頼らず、実際に対応する境界サイズを含めてください。対応するOpenAI互換またはAnthropicのエンドポイントで提供されていればフィルターなしモデルを接続でき、必要なら認証情報を指定します。MatrixCairnのツール、コンテキスト容量、モデルの制限は設定したサービスに依存します。環境は対話を支援し、計算は自分で検証します。
アプリが拒否するか、計算前に変換するか定義します。偶発的な反復規則に決めさせないでください。その方針を置く場所を調べ、呼び出し側で見えるエラーを検証するよう依頼します。
出力の次元と行・列の対応も確認します。いくつかの値が正しくても、特に空入力処理の変更後は、下流が期待する形状であるとは限りません。
対応する境界を示し、どこで強制されるか調べます。受理する境界サイズと超過するケースをテストしてください。例の上限はアプリの性能保証でも実行時検査を省く許可でもありません。
契約に含める型かを決め、変換または拒否を明示的に調べます。許容範囲を広げる変更は後の計算やシリアライズに影響するため、理由なく受理値を増やさず全経路をレビューしてください。
MatrixCairn · 更新日 2026-10-25