0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Loop Engineering実践記 #1 Prompt EngineeringからLoop Engineeringへ

0
Posted at

Prompt Engineeringの次はLoop Engineeringだった

ここ数日、Claude Codeを使って教育コンテンツを自動生成するLoopを設計している中で、一つの結論にたどり着きました。

これまで生成AIでは

  • Prompt Engineering
  • Context Engineering

が重要だと言われてきました。

もちろん今でも重要です。

しかし、AIエージェントを何度も作り直して分かったのは、

本当に難しいのは「AIに何を指示するか」ではなく、「AIをどう動かし続けるか」でした。

私はこれを Loop Engineering と呼んでいます。


Promptは点、Loopはシステム

最初は私も

PDF
 ↓
教材生成

だけで十分だと思っていました。

その後、

PDF
 ↓
Lesson AI
 ↓
Review AI
 ↓
Improve AI
 ↓
Quiz AI
 ↓
Video AI

という流れに進化しました。

しかし、これでも品質は安定しません。


「Judge AIを入れれば解決する」と思っていた

次に考えたのは

Lesson AI
 ↓
Judge AI
 ↓
Improve AI
 ↓
Judge AI

という構成です。

ところが実際に設計してみると、新しい問題が見えてきました。

まだ改善できます

↓

改善しました

↓

まだ改善できます

↓

改善しました

……

いつ終わるのでしょうか?

Loopは、放っておくと止まりません。


Stop ConditionがLoopの品質を決める

ここで初めて気付いたのは、

Promptよりも重要なのは

終了条件(Stop Condition)

だということでした。

例えば

  • Retryは最大5回まで
  • 品質スコア90点以上なら終了
  • 改善率が2%未満なら終了
  • APIコストが上限を超えたら終了

などです。

Loop Engineeringとは、

「AIを改善する仕組み」

ではなく、

「改善をどこで止めるかを設計する技術」

でもあります。


Judge AIも万能ではない

さらにもう一つ壁がありました。

Judge AI自身もLLMです。

つまり

昨日90点だった回答が

今日は85点になることがあります。

LLMだけに品質保証を任せるのは危険です。

そこで現在は、

LLMによる評価だけでなく、

  • JSON Schema Validation
  • 必須項目のチェック
  • Markdown構造
  • 文字数
  • リンク切れ
  • ファイル生成確認

など、

決定論的なチェックを組み合わせる構成を考えています。

          LLM Judge
              │
              ▼
Deterministic Validation
              │
              ▼
        Final Score

WorkflowではなくStateを設計する

最初は

Lesson
 ↓
Quiz
 ↓
Video

というWorkflowを書いていました。

しかし今考えているLoopでは、

Stateが中心になります。

例えば

{
  "lesson": 3,
  "retry_count": 2,
  "quality_score": 84,
  "failed_reason": [
    "具体例不足"
  ]
}

このStateを見て、

次に

  • Improveするのか
  • Human Reviewへ送るのか
  • 強制終了するのか

を判断します。

Workflowは「線」です。

Loopは「状態遷移を持つグラフ」です。

この違いは非常に大きいと感じています。


Claude Codeは最高の開発環境だった

Claude Codeのおかげで、

このLoopを驚くほど高速に試行錯誤できました。

一方で、

本番環境を考えると、

Claude Code自体がLoop Runtimeになるわけではありません。

将来的には、

  • LangGraph
  • Pythonによる独自Runtime
  • State Machine

などへ移行していくことになるでしょう。

Claude Codeは、

Loopを発明するための最高の開発環境でした。


次に見えてきた課題はObservability

Loopを数回回すだけなら問題ありません。

しかし数百回、数千回と回すようになると、

別の問題が出てきます。

「今、どこで止まっているのか」

が分からなくなるのです。

そのため、

今後は

  • Stateの可視化
  • Retry履歴
  • Token消費
  • Judgeスコアの推移
  • エラー理由

などを監視する

Observability(可観測性)

も重要になると考えています。


Loop Engineeringはソフトウェア工学だった

最初は

Prompt Engineeringの延長線上にあると思っていました。

しかし今は違います。

Loop Engineeringは、

Promptを書く技術ではありません。

State

Retry

Evaluation

Stop Condition

Observability

Human in the Loop

これらを設計する、

ソフトウェアアーキテクチャそのものだと思っています。

AIエージェントが当たり前になるこれからは、

Promptを書く能力より、

Loopを設計する能力の方が重要になるのかもしれません。


現在私は、

PDFをアップロードすると

  • 教材
  • クイズ
  • 動画台本
  • ワークシート

まで自動生成する教育向けLoop Runtimeを試作しています。

まだ試行錯誤の段階ですが、この過程で得られた知見を今後もQiitaで共有していきたいと思います。

皆さんは、AIエージェントの「終了条件」や「State管理」をどのように設計していますか?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?