実行時に強制できないためエージェントは逸脱して失敗・混乱する——それを直す方法

Reddit r/artificial / 2026/4/26

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsTools & Practical Usage

要点

  • この投稿では、LLMエージェントが「システムプロンプト」のルールから逸脱したり違反したりするのは、プロンプトベースの制約が“提案”として扱われ、“保証される制約”ではないためだと主張しています。
  • 禁止された操作(ユーザーデータの削除など)や内部の価格・原価(コストベース)の漏えい、本人確認のスキップ、ルールを増やすと最初のルールが静かに落ちるといった具体的な失敗例を挙げています。
  • 著者は、アプリとLLMの間に置くプロキシ層を提案し、Markdownで記述したルールを読み取り、実行時にそれを強制することでこの問題に対処できると述べています。
  • この方式は、LangGraph/CrewAIなどの各種エージェントフレームワークやカスタム実装でも、ベースURLの変更だけで動作するとされています。
  • 投稿では、再プロンプトによる対処や事後評価だけでは不十分である点を踏まえつつ、プロダクションで何を行っているか(シャドー評価、リプロンプトループなど)を読者に問いかけています。
ALL Agents deviate, fail and mess up because no enforcement is done at runtime. A method to fix it.

私はこの件や、LLMやエージェントに関する他の多くのサブレディットを追ってきました。トップ投稿から最近まで、共通しているのは、エージェントが意図されていないことをしてしまう、システムプロンプトから逸れて無視してしまう、という問題です。実例:

  • "ユーザーデータを決して削除しない" → エージェントが次のターンでDROP TABLE usersを呼び出す
  • "内部の料金を共有しない" → エージェントが顧客に原価ベース(コスト根拠)を漏らす
  • "最初に本人確認を行う" → エージェントが確認を飛ばして行動に進む
  • ルールを10個追加する → モデルが最初の5個を静かに落としてしまう

本番でAgentsを使っているなら、これが起きているはずだと100%確信しています(特にシステムプロンプトが大きくなり、コンテキストも増えるとき)。自分でも試せば、すぐに強制される(またはされない)ことに気づけます。

プロンプトベースのルールは提案であって、制約ではありません。再プロンプトで1件は直せても、2件は壊れます。事後評価(post-hoc evals)では、すでに何が間違っていたのかが分かります。NeMoやGuardrails AIはコンテンツの安全性には役立ちますが、ビジネスロジック/あなたの仕様まではカバーしません。

いろいろな角度からこの問題に取り組んだ結果、ようやく固い解決策が見つかりました。あなたのアプリとLLMの間にプロキシシステムを置き、プレーンなMarkdownからルールを読み取り、実行時(runtime)に強制する仕組みです。プロバイダ非依存で、ベースURLの変更が1つで済み、LangGraph/CrewAI/カスタムのいずれにも対応できます。

- 最大ディスカウントは15%。 - 内部の料金や原価ベースを決して開示しない。 

それがない場合:エージェントが90%オフを提示し、あなたのマージンについて言及します。ある場合:15%で、マージンの話はしません。

LLMが誤った出力をしたり、エージェントが軌道から外れたりする問題を解決できたかどうかが気になりますか? 私の(特定の)ユースケースでは、確実にそれができました。

本番では、みなさんはこれに対して何をしていますか? シャドー評価(shadow evals)ですか? 再プロンプトのループですか? それとも私が見落としている何かがありますか?

submitted by /u/Chinmay101202
[link] [comments]