
3. Evaluatorが合格判定を出すか、試行回数が上限に達するまで、次の内容を繰り返す
①Self-Reflection が評価結果からフィードバックを生成
②フィードバックを長期記憶に追加
このタスクを通した経験は長期記憶に残るため、Actorによる次のタスクにも活かされま
す。
3.9.3
Reflexionを用いたコード生成の例
例として、Reflexion をコード生成タスクに適用した場合を紹介します。ここでは、Python
の関数シグネチャとそのドキュメントを入力とし、その関数を実装するコード生成タスクを想
定します。
まず、次の関数シグネチャとドキュメントを与えて、関数の本体を生成するタスクを考えま
す。
def add_numbers(a: int, b: int) -> int:
"""
Given two integers a and b, return their sum.
"""
ここでは、関数のドキュメントはPython の docstringの形式で与えられています。「二つの
整数
a
と
b
を受け取り、それらの和を返す」という説明が関数のドキュメントです。
はじめに、Actor は初期の軌跡を生成します。軌跡の生成はLLM にプロンプトを与え、そ
の出力を取得することで行われます。使用するプロンプトは、次のようなものです。
I N
You are an AI that only responds with python code, NOT ENGLISH. You will be given ...