【要約】Codex のフックだけで日本語を読みやすくするハーネスを作った [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
- ・英語識別子が裸で混入し、可読性が低下。
- ・技術用語が助詞と不自然に結合。
- ・1文が長すぎて音読時に詰まる。
- ・従来のMCP方式では、追加トークンが30〜50%増大し、リミットを早期に消費する。
// Approach
1.Stop hook: 応答終了時にPythonで検品。
2.検品ルール:
banned_terms.yamlに基づき、裸の英単語や長文(80文字超)を検出。3.自己修正: 違反時は
{"decision": "block", "reason": "..."} を返し、Codexに strict-lite モードで再推論させる。4.再教育: 未消化の違反をJSONLに記録。SessionStart hookで次セッション起動時に再教育プロンプトを注入。
// Result
- ・追加応答トークンを基本0に抑制。
- ・初手通過率は38.1%(n=354)だが、継続推論により最終品質を担保。
- ・指示依存からフック駆動へ移行し、検品の決定性を確保。
Senior Engineer Insight
>
LLMの出力を制御する際、プロンプトによる指示は「確率的」であり、決定性に欠ける。本設計は公式フックを利用し、検品ロジックをランタイム(Python)へ切り出した点が極めて実戦的だ。これにより、指示の揺らぎに左右されない「強制力」と、違反時のみコストを払う「効率性」を両立している。単なる文字列置換ではなく、LLMに自己修正させることで文脈の崩壊を防ぐ判断も、開発体験(DX)を重視した優れた設計と言える。