【要約】AIエージェントが古い正本を読まないStartup Receipt [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
AIエージェントが設計書を扱う際、どのファイルが最新の正本かを判断できず、誤った実装を行う問題がある。設計書の増殖により、以下の事象が発生する。
- ・古いバックアップや、mtimeだけが新しい「中身が古いコピー」を最新と誤認する。
- ・「current.md」のような同名のファイルが複数存在し、選定が曖昧になる。
- ・セッションをまたぐ際、エージェントの記憶と現在の実態に乖離が生じる。
// Approach
開発者は、実装開始時の入力証拠を記録する「Startup Receipt」を導入し、正本の特定を厳格化する。以下のステップで整合性を確保する。
- ・
project_idとdocument_roleを用いて、正本を決定的に一件へ固定する。 - ・SHA256、mtime、読取時刻をReceiptに記録し、内容の同一性を担保する。
- ・競合や必須ファイルの欠落を検知した際は、実装を停止するFail-closed方式をとる。
- ・
os.replaceを用いて、ReceiptをAtomicに保存し、書き込み失敗を防ぐ。
// Result
Startup Receiptの導入により、AIエージェントによる実装の信頼性と再現性が向上する。具体的には以下の成果が得られる。
- ・実装中に正本が変更された場合、SHA256の再計算により即座に検知できる。
- ・「どの入力で変更を行ったか」の追跡が可能になり、監査性が高まる。
- ・負試験により、競合や欠落に対するFail-closedの動作が保証される。
Senior Engineer Insight
> AIの「記憶」という不確実な要素を、SHA256やReceiptという「外部の証拠」で制御する設計は極めて合理的だ。大規模なエージェント運用では、推論能力よりも、こうした状態管理の厳格さがシステムの安定性を左右する。実装コストは増えるが、誤った仕様に基づくコード生成による手戻りを防ぐ観点では、極めて高い投資対効果がある。