ライフスタイル

サブエージェントの範囲と品質確認

独立した入力、変更範囲、証拠を定義し、サブエージェントの結果と不足を確認します。

読了目安 15 分 · 操作 20 分

独自の手順図です。製品画面の画像ではありません。
画像:Mokaair (© Mokaair)
この記事の目次
  1. 目標と準備
  2. 手順1:説明を検証表に分ける
  3. 手順2:現在版のソースコードを確認
  4. 手順3:再現可能な境界検査
  5. 手順4:矛盾・旧情報・未完了の扱い
  6. 間違いと復元
  7. 検証と次の一歩

目標と準備

この段落の教材・資料:

親は結果受領後も検証に責任を持ちます。同じ旧要約や仮定を見た2つのエージェントの一致は独立確認ではありません。動作、試験成功、変更交付の主張を分け、実体、実行記録、Git に対応させます。読解と実行の証拠を混同しません。

手順1:説明を検証表に分ける

架空報告:意図した誤りと証拠不足 · json
[
  {
    "report": "Fictional A",
    "claim": "addTask accepts duplicate task IDs.",
    "evidence": "No symbol or reproduction supplied"
  },
  {
    "report": "Fictional B",
    "claim": "All tests passed and the app is ready to deploy.",
    "evidence": "No command, exit status, commit or browser result supplied"
  }
]

A は既存 ID 追加の可否にし、B は試験実行と公開条件の二問に分けます。報告を丸ごと転送せず、主張、実体、必要証拠、結論、次を記録します。未検証と反証済みは異なる結果です。

主張必要証拠単独では不足
重複 ID 拒否現関数と再現入力過去要約
試験成功実命令・場所・終了通るはず
分岐に変更コミットや現差分保存したという文
公開可能全検証と認可一単体試験

検証方法の表であり今回の公開指示ではありません。

手順2:現在版のソースコードを確認

core.mjs の addTask で空・重複 ID 検査を見ます。別分岐や故障版は結論が異なり得るので expected を確認します。行は移動するためファイルと関数を併記し、必要なら現コミットを加えます。Git がなければ出所、日付、hash を記録しコミットを作りません。

3 OS 端末:ファイル未編集で ID 重複確認 · sh
node --input-type=module -e "import {addTask} from './core.mjs'; const first=addTask([], 'Read', 'a'); try { addTask(first, 'Build', 'a'); console.error('Unexpected duplicate acceptance'); process.exitCode=1; } catch (error) { if(error.message!=='task-id') throw error; console.log('Duplicate ID rejected: task-id'); }"

期待値は指定文と終了0です。予期しない受入れと非0なら観測を残しコピー・関数を調べ、通すため試験を変えません。task-id の一致で別原因の例外を成功とせず、保存データも書かないので画面の一覧を変えません。

PowerShell は直後の $LASTEXITCODE、他 OS は echo $? を別行で確認し、他命令で上書きしません。core.mjs 不在は経路問題で addTask 不具合の証明ではありません。対象関数と予定入力が実際に使われたか確認します。

手順3:再現可能な境界検査

コピーに review-evidence.test.mjs を追加 · javascript
import test from 'node:test';
import assert from 'node:assert/strict';
import { addTask, visibleTasks, decodeTasks } from './core.mjs';

test('duplicate IDs are rejected while the input is preserved', () => {
  const original = addTask([], 'Read', 'a');
  assert.throws(() => addTask(original, 'Build', 'a'), { message: 'task-id' });
  assert.deepEqual(original, [{ id: 'a', title: 'Read', completed: false }]);
});

test('same titles with distinct IDs remain independent', () => {
  const tasks = [
    { id: 'a', title: 'Read', completed: true },
    { id: 'b', title: 'Read', completed: false },
    { id: 'c', title: 'Build', completed: true },
  ];
  assert.deepEqual(visibleTasks(tasks, 'active').map(task => task.id), ['b']);
  assert.deepEqual(visibleTasks([], 'active'), []);
});

test('stored completion must be a boolean', () => {
  const raw = JSON.stringify({ version: 1, tasks: [
    { id: 'a', title: 'Read', completed: 'false' },
  ] });
  assert.throws(() => decodeTasks(raw), { message: 'storage-format' });
});
参考端末:既存三つと追加三つ · sh
node --test core.test.mjs review-evidence.test.mjs

同名不在を確認して保存し、既存三つを残して合計六つにします。ID 重複拒否と異なる ID の同名許容を区別し、文字列 false も拒否します。エージェントが混同したらケースから説明をやり直させ、本体のプログラムはそのままにします。

任意:テストが故障を検出するか確認

六成功の実習から元五ファイルと追加テストを、新規 review-negative コピーへ複製します。完全パスが元と異なることを確認し、このコピーの core.mjs 原文を保存します。この使い捨てコピーの addTask だけで次の断片を一度除き、他の ID 検査を残します。元の読取り審査フォルダーは変更しません。

故障コピーで除く正確な断片:完全なプログラムではない · javascript
 || tasks.some((task) => task.id === id)

review-negative で同じ六テストを実行すると四成功・二失敗、終了値は非ゼロです。重複 ID を受理して元と追加の各一テストが失敗します。構文エラー、ファイル不在、全成功ならフォルダーと編集を確認し、目的の再現とは数えません。保存した core.mjs に戻して六成功を確認します。親の実験として記録し、代理実行や UI 検収とはしません。

手順4:矛盾・旧情報・未完了の扱い

親から元のエージェントへ訂正依頼 · text
Your claim conflicts with the current addTask implementation and the duplicate-ID reproduction.
Recheck core.mjs and report the exact function behavior, the input used and the observed result.
Distinguish duplicate IDs from duplicate titles. Keep the application files unchanged.
If your earlier report used another checkout or was not executed, state that explicitly.

A は反証済み、B は当初証拠なしと判定します。自分の六試験成功は新証拠で B の過去実行を遡って証明しません。公開はを含む全検証が必要で、今回は公開成果なしです。元主張、訂正、時刻を残します。

旧コミットを読んだなら現在版を渡し、影響結論だけ再確認します。停止・許可待ちは取得済みを残し不足を親へ戻します。Done は全条件成功ではありません。両報告が同じ未検証文に依存するなら、エージェントの多数決ではなくソースコードや試験を加えます。

間違いと復元

別プロジェクトでの成功は場所と試験名、終了0だけの主張は予定ケース、負面例は正しい例外種類で見抜きます。偶発編集なら競合書込みを止めて差分を保存し、担当を確認して個別復元します。他人の仕事を強制 reset で消しません。

追加試験は保存しても構いません。元に戻すなら経路を確認して今回の一ファイルだけ除去し、元三試験を再実行します。原五ファイルは開始時と一致させ、他人の試験を消しません。外部動作や統合済みコミットは停止だけで戻りません。

検証と次の一歩

A の誤り、B の未証明、六試験の実結果、原本保全、未操作範囲の表を渡します。架空と実際のエージェントの記録は分け、同じ Node 命令でも未実行 OS を実測としません。次ので二分岐に適用します。

独自の手順図です。製品画面の画像ではありません。
独自の手順図です。製品画面の画像ではありません。 · 画像:Mokaair (© Mokaair)
詳しい説明を読む

Three numbered stages: identify the starting point, perform the exercise, and verify the result. Original illustration, not a product screenshot.

総目次へ

  • ライフスタイル

    Codex 学習ガイド:全記事の目次

    導入と最初のタスクから MD の指示、高度な連携まで、60 レッスン・十単元を予定しています。習熟度、環境、目的、コマンドで次の記事を探せます。未公開の記事には状態を表示します。

  • ライフスタイル

    Worktree とタスクの分離

    Worktree は一つの Git リポジトリに別ブランチの作業場所を作ります。ファイルは分かれても DB、ポート、外部サービスは共有される場合があります。

  • ライフスタイル

    実践:小さな Web サイトを作る

    brief.md から Small Steps のタスクサイトを計画・制作し、追加、完了、削除、絞り込み、ローカル保存を実装します。HTML、CSS、データ関数、画面イベント、テストを分け、Node とブラウザーで検証して再起動・復元の手順を残します。

  • ライフスタイル

    使用量と効率:やり直しを減らす

    条件、モデル設定、時間、成果を記録し、不要な再試行と過剰な文脈を減らします。

最新の旅の情報・ガイド

出典

ライフスタイル