制約の積み重ねとは、一つのプロンプトに個別には合理的に見える要求を次々と加え、それらの条件を足し合わせれば求める結果を正確に描写できると期待することを指す。しかし実際にはある数を超えると、これらの条件は互いに牽制し合うようになり、Claudeはすべてを同時に満たすことができず、どれかを犠牲にせざるを得ない。しかもどれが犠牲になったのかはあなたには分からないことが多い。これは通常の「要求を明確に書く」こととは異なる。通常であれば細部を増やすことは大抵役に立つが、制約の積み重ねはその手法が効かなくなる臨界点を指している。条件同士に緊張関係がある場合(簡潔さと網羅性、プロフェッショナルさと親しみやすさ、速さと慎重さ)、積み重ねるほどClaudeはどれを優先すべきか判断しづらくなり、出力はより正確になるどころかむしろ不安定になる。
この現象が起きるのは、人がプロンプトを準備する際、通常は要求を思いつくたびに一つずつ加えていくのであって、それらの要求が互いに矛盾していないかを事前に確認しないからだ。「プロフェッショナルにしたい」と思えば一文加え、「硬すぎないように」と思えばもう一文加え、「簡潔にしたい」と思えばさらに一文加える。加える瞬間はどれも合理的に感じられる。単独で見れば確かに正しいからだ。しかし加えていく過程で「簡潔さ」と「すべての要点を網羅すること」を同時に求めることが、それ自体で矛盾を含んでいないかを立ち止まって問う人はいない。出力結果がどこかおかしいと気づいて初めて、プロンプトに七つも八つも要求が積み重なっており、そのうちいくつかは互いに矛盾していたことに気づく。Claudeはその矛盾を解消する方法を一つ選ぶしかなく、選ばれた結果はあなたが望んでいた解消の仕方とは限らない。
実務では二つの確認方法がある。第一に、プロンプトを書き終えたら、すべての制約条件を一覧にし、二つずつ互いに矛盾していないかを確認する。よくある衝突の組み合わせは「簡潔さ」対「すべての細部を網羅すること」、「プロフェッショナルで正式」対「親しみやすく自然」、「素早く結論を出す」対「各手順を完全に論証すること」だ。一覧の中にこうした対立する組み合わせが同時に出てきたら、そのプロンプトは既にClaudeに同時に満たすことが不可能な要求をしていることになり、どちらを優先するかを先に決める必要がある。両方は成り立たない。第二に、条件同士に本当に優先順位がある場合は、プロンプトの中で「どれを主とし、他は従とするか」を明示する。すべての条件を同じ調子で並列に書き、どれを犠牲にするかをClaudeに勝手に推測させてはならない。優先順位を示さなければ、Claudeの取捨選択の仕方は毎回異なる可能性がある。同じプロンプトを二回尋ねても、出てくる優先順位が違うことがあり、これはまさに制約の積み重ねが引き起こしやすい不安定さの表れである。
あなたにとって、制約の積み重ねに最も陥りやすいのは、プロンプトがどんどん長くなり、小さな要求を思いつくたびについ一文足してしまうような書き方をしているときだ。この積み上げ式の書き方は指示をより正確にしているように感じられるが、実際には互いに矛盾する条件を静かに埋め込んでいるかもしれない。身につけるべき習慣は、プロンプトを書き終えたら十秒かけてすべての条件を確認し、「これらの条件を本当に同時に満たすとしたら、書き上げられるだろうか」と自問することだ。答えが「無理だ」であれば、リストの中に衝突があるということであり、すべてを詰め込んでClaudeに何とかしてもらおうとするのではなく、先に優先順位を決める必要がある。注意すべきは、この問題は条件を増やせば解決するものではない点だ。出力が期待どおりでないとき、直感的な反応はしばしば「もう一文説明を足そう」というものだが、根本原因が既存の条件同士の矛盾にあるなら、新しい条件を足すことはたいてい衝突を複雑にするだけで、結果を正確にすることにはならない。
Anthropic のプロンプトエンジニアリング関連の技術文書は、過度に複雑な、あるいは互いに矛盾する要求を含むプロンプトは出力を不安定または一貫性のないものにしがちだと指摘しており、プロンプトの中で役割設定、タスクの説明、書式要件をそれぞれ明確に分けて記述し、潜在的に矛盾しうる制約を一つの指示のかたまりに混在させないよう推奨している。この推奨の背後にあるロジックは、まさにプロンプト中の制約条件が多ければ多いほど良いわけではなく、ある程度を超えて積み重なるとむしろ出力品質を損なうという認識そのものである。
明確なメリットとデメリットの対比はない。制約の積み重ねそのものが避けるべき失敗パターンであり、使うかどうかを選べる手法ではないからだ。本当のトレードオフは「このプロンプトにいくつの制約を含めるか」と「条件同士の優先順位がどれだけ明確に定められているか」にある。条件が少なく優先順位が明確なら出力は通常安定し、条件が多く優先順位が示されていなければ、積み重なるほど出力品質は低下する。