境界付き要件の作成と実行可能な受入基準
Agent支援エンジニアリングチェック
前提条件
第73〜78日のエージェントループ、ツールプロトコル、状態と実行制限。Ticket 22 の境界付きエージェントプロジェクト(projects/agent_learning)。
学習目標
工学目標を、エージェントが実行できレビュアーが独立して検証できる、明示的な受入基準・スコープ境界・非目標を持つ境界付き要件へ変換する。
手順
1. 使い捨てフィクスチャ内の境界付き変更を選びます:projects/agent_learning(Ticket 22)の write_report がノートごとの単語数も出力するように拡張する、または projects/text_tools 内の同等の小規模差分。
2. 要件を「意図+制約+受入基準」として記述します。すべての基準は機械検証可能でなければなりません:『GIVEN summarize-notes フィクスチャ、WHEN evaluate を実行、THEN /tmp/agent-run.json にノートごとの word_counts が含まれる』。
3. スコープ境界を宣言します:エージェントが読み書きできる正確なファイル、禁止操作(push 禁止・依存変更禁止・ネットワーク禁止)、および明示的な非目標(対象モジュール外のリファクタリング禁止)。
4. レビュー可能な大きさに保ちます:変更行数60行未満・単一のアトミックコミットを目標にします。
演習と予測記録
requirement.md を作成し、意図段落1つ、Given/When/Then 形式の受入基準3つ、許可ファイル一覧、禁止操作一覧、非目標2つを含めてください。自己確認:すべての基準がコマンドまたはアサーションとして実行可能であること。
基準が python -m projects.agent_learning.cli evaluate ... の出力や unittest アサーションに変換できないなら検証不可能です。検証可能になるまで書き直してください。
# requirement.md
意図: write_report を拡張しノートごとの単語数を出力。
受入基準:
1. GIVEN summarize-notes フィクスチャ、WHEN evaluate 実行、THEN agent-run.json に全ノート分の word_counts を含むレポート。
2. GIVEN 2ノート構成、THEN トレースは max_steps=6・retries<=2 内。
3. GIVEN fault=invalid_arguments、THEN クラッシュでなく構造化された失敗 observation を出力。
スコープ: projects/agent_learning/*.py と tests/projects/test_agent_learning.py のみ。
禁止: git push、ネットワーク、フィクスチャ削除。
非目標: 新モデルアダプタ、CLI 再設計。
第三者が質問なしに実行できる受入基準を持つ境界付き要件を作成できる。
公式ソースリソースと権利証跡
SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering
該当セクション・タイムスタンプ: Section 2 The Agent-Computer Interface and Section 3 SWE-agent: Designing an ACI for Software Engineering
検証バージョンと日付: NeurIPS 2024 / arXiv:2405.15793v2 (Verified: 2026-10-30)
Primary literature on agent-computer interfaces showing that bounded tool commands, trajectory inspection, and environment constraints determine whether an agent can carry an engineering task to verifiable completion.
Agent loops, tool protocols, and basic software engineering workflow vocabulary.
The permission/budget control profile, tool contract schema, and trace audit procedure are fully implemented in the local bounded agent fixture (projects/agent_learning).
比較対象候補リソースと選定評価 (2)
Broader generalist agent platform; SWE-agent isolates the agent-computer interface design principles most relevant to bounded task delivery.
Focuses on autonomous program repair via code search; SWE-agent better matches the curriculum's bounded-tool and human-verification emphasis.
SWE-bench: Can Language Models Resolve Real-World GitHub Issues?
該当セクション・タイムスタンプ: Section 2.1 Benchmark Construction and Section 2.2 Task Formulation (FAIL_TO_PASS tests)
検証バージョンと日付: ICLR 2024 / arXiv:2310.06770v3 (Verified: 2026-10-30)
Defines the standard pattern this block teaches: a bounded issue statement paired with executable fail-to-pass tests as verifiable acceptance criteria for agent-produced changes.
Unit testing, issue descriptions, and repository evaluation vocabulary.
The acceptance-criteria pattern is exercised locally through the Ticket 22 fixture scorer and the Ticket 24 regression exercise without external datasets.
比較対象候補リソースと選定評価 (2)
Function-level synthesis benchmark; SWE-bench models the repository-scoped issue-to-diff workflow that this delivery block rehearses.
Extends issue resolution to multiple programming languages; the original Python-centric SWE-bench provides a cleaner pedagogical anchor.