TL;DR
- AWS がオープンソース公開している AI-DLC Workflows v2(
awslabs/aidlc-workflows、Kiro IDE ハーネス, aidlc 2.1.4)の散文を日本語化した。 - v2 は「AIに手順を教えるガイド型(v1)」ではなく、決定論エンジンが次の1手を1つだけ指示するステートマシン型。だから「全部翻訳」すると エンジンが壊れる。
- 鍵は「機械トークンの凍結」。スラッグ・enum・コマンド・監査イベント名などは英語のまま固定し、散文だけ訳す。
- 翻訳後も健全性検査
--doctorは 31 passed / 0 failed。156 の Markdown を日本語化。 - ライセンスは MIT No Attribution (MIT-0)。派生・公開・改変が自由(帰属すら不要)なので、こうした日本語化フォークが堂々と公開できる。
リポジトリ: https://github.com/leadlea/AI-DLC-V2
なぜ「そのまま翻訳」できないのか
AI-DLC v2 の中核は aidlc-orchestrate.ts という決定論エンジン。ワークフローはこう回る:
next(エンジンが1ディレクティブを返す) → 実行 → report → 繰り返し
このエンジンは、状態ファイル・コンパイル済みグラフ・センサーの各所で特定の文字列を機械的に照合する。たとえば:
- ステージスラッグ
application-design(ファイル名・グラフ・CLI引数と一致必須) - enum値
ALWAYS/CONDITIONAL、inline/subagent、brownfield/greenfield - 監査イベント名
GATE_APPROVED、SENSOR_FIRED… - チェックボックス字形
[ ] [-] [?] [R] [x] [S] - 回答タグ
[Answer]:、units:YAMLブロック、sensor id …
これらを和訳すると、パーサや正規表現が一致しなくなりワークフローが静かに壊れる。つまり翻訳は「散文(人間向け)」と「機械トークン(凍結)」を分離する作業になる。
方針: 凍結リスト+対訳表+回帰ループ
1. 何を凍結するか(DO NOT TRANSLATE)
| 層 | 例 | 方針 |
|---|---|---|
| 人間向け散文 | ステージ説明・手順・ルール・ペルソナ | 翻訳 |
| 機械トークン | slug / scope名 / keyword / frontmatterキー / enum / agent名 / artifact名 / 監査イベント / チェックボックス字形 / [Answer]: / units: / sensor id / 生成テーブル / コマンド / パス / コードブロック |
英語のまま凍結 |
| 半機械 | H2見出し(テンプレ照合対象になり得る) | 訳すなら検査側も同時更新 |
2. ハマった罠: ソースとコンパイル済みグラフの二重管理
ステージ定義の frontmatter condition:(自由記述の実行条件)はコンパイル済み stage-graph.json にも焼き込まれている。ソースだけ訳すとドリフトが出るが、--doctor 単体では検知できない。
# condition を訳したら必ず:
bun .kiro/tools/aidlc-graph.ts compile # 反映
bun .kiro/tools/aidlc-graph.ts compile --check # ドリフト検知(出力なし=OK)
同様に SKILL.md の scope grid 表は自動生成領域で、scope-table --check がバイト一致を検査する(手編集厳禁)。
3. 回帰ループ(各バッチの最後に必ず)
bun .kiro/tools/aidlc-graph.ts compile --check # グラフのドリフト
bun .kiro/tools/aidlc-utility.ts scope-table --check # scope表のドリフト
bun .kiro/tools/aidlc-utility.ts doctor # 32ステージ・122成果物・スコープ整合
doctor が Schema validation 32/32・Graph references 122・Keyword overlap・Rule drift を機械検証してくれるので、「壊れていないか」を毎回客観的に確認できた。ここが v1(人手レビュー頼み)との決定的な差。
実際にやってよかった点 / 気をつける点
良い点
- 機械検証が強力。翻訳中の不整合はすべて
doctor/compile --check/scope-table --checkで拾えた。 - ルーティングが決定論・1手ずつでブレない。日本語入力を渡してもエンジンは正しく1ディレクティブを返す。
気をつける点
- ソース↔生成グラフの二重管理(
condition:再コンパイル必須、doctorでは非検知)。 - 環境依存が重い。
bunが PATH に必要で、非対話シェルは~/.zshenv/~/.bashrcを読む(~/.zshrcは読まない)。最初の doctor はこれで一度コケた。
成果
- Markdown 156ファイル日本語化(skills / stages / protocols / scopes / knowledge / agents / AGENTS.md)
-
--doctor: 31 passed / 0 failed(翻訳後も回帰なし) - 用語集+凍結リストを同梱し、チームが日本語のまま磨き込める状態に
ライセンスと出所
AI-DLC 方法論・元コードは Amazon.com, Inc.(考案: Raja SP @ AWS)で、MIT-0 で公開されている。MIT-0 は利用・改変・再配布・公開が自由(帰属不要)なので、日本語化フォークの公開も問題ない。本記事・リポジトリは AWS 非公式の派生物である。
- Upstream: https://github.com/awslabs/aidlc-workflows (
v2ブランチ,dist/kiro-ide) - 方法論解説: https://aws.amazon.com/blogs/devops/ai-driven-development-life-cycle/
おわりに
「エンジン型ハーネスを日本語化する」は、単なる翻訳ではなくどの文字列が機械契約かを見極める作業だった。凍結リストと回帰ループさえ用意すれば、決定論性を保ったままローカライズできる。日本語で AI-DLC を回したいチームの叩き台になれば。