Agents reference#

エージェント関連の機能、ビュー、およびタイプのリファレンス。ガイドスタイルのドキュメントについては、 Agents reference を参照してください。

カタログビュー#

helpb.agents#

エージェント構成。専用の「リストエージェント」機能はありません。このテーブルを直接照会します。

Column

Type

Description

id

uuid

内部識別子。

name

text

一意のエージェント名。

instructions

text

エージェントの指示。

model

text

エージェントをバッキングするモデル。

role

text

エージェントのツール呼び出しのPostgresロールは、構成されている場合に実行されます。

delegates

text[]

このエージェントが委任できるエージェントの名前。

tools

text[]

このエージェントが呼び出す可能性のあるツールの名前。

output_type

jsonb

`aidb.output_type()`で構築された構造化出力スキーマ。

input_token_budget

integer

呼び出しごとの入力トークンバジェット。

output_token_budget

integer

呼び出しごとの出力トークンバジェット。

max_iterations

integer

呼び出しごとの最大推論反復数。

timeout_seconds

integer

通話ごとの最大実時間。

budget_strategy

aidb.budget_strategy

予算を超過した場合の動作。以下の タイプ を参照してください。

preset

text

保存されていますが、現在動作は解決されていません。

created_at

timestamptz

作成時間。

updated_at

timestamptz

最終更新時間。

promoteb.agent_tasks#

agent_converse コール「タスク」ごとに1行、そのライフサイクルステータスを含みます。

Column

Type

Description

task_id

uuid

内部タスク識別子。

agent_id

uuid

このタスクを実行したエージェント aidb.agents.id 。

conversation_id

uuid

このタスクが属する会話。

request_message_id

uuid

`aidb.conversation_log`のトリガーメッセージのID。

response_message_id

uuid

完了すると、`aidb.conversation_log`の結果の回答のID。

caller_role

text

`agent_converse`を呼び出したPostgresロール。

status

aidb.task_status

現在のライフサイクルステータス。以下の タイプ を参照してください。

blocking

boolean

今日は常に`true` — すべてのタスクは同期的に実行されます。

error

text

タスクが失敗した場合のエラーメッセージ。

created_at

timestamptz

タスクが開始されたとき。

completed_at

timestamptz

タスクが完了したとき。既にある場合。

helpb.conversation_log#

すべての会話にわたる、すべてのユーザープロンプトとエージェントの回答 - aidb.get_conversation() が返すのと同じ行、conversation_id によってフィルタリングされていません。ツール呼び出し、モデル要求、およびその他の内部アクティビティは含まれません。完全なアクティビティ履歴については、aidb_internal.action_log を直接照会します。

Column

Type

Description

id

uuid

メッセージID

conversation_id

uuid

このメッセージが属している会話。

agent_id

uuid

エージェントが関与しました。

task_id

uuid

このメッセージが含まれていたタスク。

action_type

aidb.action_type

user_prompt`または`answer。

payload

jsonb

メッセージの生のペイロード `user_message`または`llm_response`構造体。

created_at

timestamptz

メッセージが作成されたとき。

completed_at

timestamptz

完成したとき。

helpb.conversations#

会話ごとに1行、aidb.conversation_log から集計されます。

Column

Type

Description

conversation_id

uuid

会話のID。

agent_id

uuid

エージェントが関与しました。

parent_conversation_id

uuid

常に`NULL` — 会話フォークは実装されていません。

forked_from_message_id

uuid

常に`NULL` — 会話フォークは実装されていません。

status

aidb.task_status

この会話の最新のタスクのステータス。

message_count

bigint

会話内のメッセージの数。

last_message_id

uuid

最新のメッセージのID。

created_at

timestamptz

会話が始まったとき。

updated_at

timestamptz

会話が最後に更新された日。


エージェント管理機能#

promoteb.create_agent#

新しいエージェントを登録します。

パラメーター#

Parameter

Type

Default

Description

name

TEXT

Required

エージェントの一意の名前。

instructions

TEXT

Required

エージェントの動作を定義する指示。

model

TEXT

Required

エージェントをバッキングするモデルの名前。 モデルの選択 を参照してください。

tools

TEXT[]

NULL

エージェントが呼び出すことができるツールの名前`aidb.tools`から 。

delegates

TEXT[]

NULL

このエージェントが委任できる他のエージェントの名前。

role

TEXT

NULL

エージェントのツールが呼び出すPostgresロールは実行対象となります。呼び出し者はこのロールのメンバーである必要があります。

output_type

JSONB

NULL

:ref:``aidb.output_type()` <#aidboutput_type>` で構築された構造化出力スキーマ。

input_token_budget

INTEGER

NULL (no limit)

`agent_converse`コールごとの入力トークンバジェット。

output_token_budget

INTEGER

NULL (no limit)

呼び出しごとの出力トークンバジェット。

max_iterations

INTEGER

NULL

呼び出しごとの最大推論反復数。 25のハードシーリングは、関係なく常に適用されます。

timeout

INTEGER

NULL (300 applied at runtime)

通話ごとの最大実時計秒数。

budget_strategy

TEXT

'attempt_complete'

'ignore'、'error'、'summarize'、'attempt_complete'`のいずれか。 :ref:`予算と制限<予算と制限> を参照してください。

preset

TEXT

NULL

保存されていますが、現在動作は解決されていません。

返品#

TABLE(error TEXT) —成功した場合は行なし。失敗に設定されたerror を含む単一の行検証/名前衝突失敗の場合に発生することはありません。

例#

SELECT aidb.create_agent(
    name                 => db_helper,
    instructions         => You are a helpful assistant that answers questions about this database.,
    model                => my_gpt,
    tools                => ARRAY[run_sql_query],  -- optional; tool names from aidb.tools. Default: NULL (no tools)
    delegates            => NULL,                    -- optional; names of other agents to delegate to. Default: NULL (no delegation)
    role                 => NULL,                    -- optional; Postgres role tool calls run as. Default: NULL (run as the calling role)
    output_type          => NULL,                    -- optional; structured output schema from aidb.output_type(). Default: NULL (plain-text answer)
    input_token_budget   => NULL,                    -- optional; input token cap per agent_converse call. Default: NULL (no limit)
    output_token_budget  => NULL,                    -- optional; output token cap per agent_converse call. Default: NULL (no limit)
    max_iterations       => NULL,                    -- optional; reasoning-round cap per call. Default: NULL (a hard ceiling of 25 always applies)
    timeout              => NULL,                    -- optional; wall-clock seconds cap per call. Default: NULL (300 seconds applied at runtime)
    budget_strategy      => attempt_complete,      -- optional; behavior when a budget is exceeded. Default: attempt_complete
    preset               => NULL                     -- optional; reserved for future use, has no effect today. Default: NULL
);

promoteb.update_agent#

既存のエージェントを更新します。 name を除くすべてのパラメーターはオプショナルであり、デフォルトは「変更しない」を意味するNULL になります。 budget_strategy を含みます。ここでのデフォルトは'attempt_complete' ではなくNULL です。

パラメーター#

create_agent と同じパラメーター、 name を除き、すべてオプショナルデフォルトNULL 。

返品#

TABLE(error TEXT) —成功した場合は行なし。失敗した場合に設定されたerror を含む単一の行エージェントが見つからない、無効なフィールド値。

例#

SELECT aidb.update_agent(db_helper, model => my_new_gpt, max_iterations => 15);

promoteb.delete_agent#

名前でエージェントを削除します。

パラメーター#

Parameter

Type

Default

Description

name

TEXT

Required

削除するエージェントの名前。

force

BOOLEAN

NULL (false)

`true`の場合、エージェントの内部タスク/アクションキューレコードも削除するため、会話履歴がある場合でも削除を続行できます。会話トランスクリプト自分自身 `aidb.conversation_log`は、いずれの方法でも保存されます。

返品#

TABLE(error TEXT) —成功した場合は行なし。エージェントに会話履歴があり、force が渡されなかった場合を含む、失敗に設定されたerror を含む単一の行。

例#

SELECT aidb.delete_agent(db_helper, force => true);

会話機能#

promoteb.agent_converse#

プロンプトに対してエージェントの推論ループを実行し、その回答を返します。

パラメーター#

Parameter

Type

Default

Description

agent_name

TEXT

Required

会話するエージェントの名前。

prompt

TEXT

Required

送信するプロンプト。

conversation_id

TEXT

NULL

既存の会話を続行します。新しいものを開始する場合は省略します。IDは自動的に生成されます。

read_only

BOOLEAN

NULL

読み取り専用モード を強制的にオンまたはオフにします。省略すると、リードレプリカで自動有効化されます。

output_type

JSONB

NULL

このコールのみにエージェントの設定済み 構造化された出力 スキーマをオーバーライドします。

debug

BOOLEAN

NULL

true`の場合、すべてのアクションを`NOTICE`としても出力します。 :ref:`デバッグモード<デバッグモード> を参照してください。

返品#

TABLE(message TEXT, conversation_id TEXT, error TEXT) — 1行。エージェントロジックの障害に対してレイズすることはありません。代わりにerror が設定され、message /conversation_id はNULL です。 IDを添付するものは何も永続化されないため、 conversation_id は読み取り専用実行のNULL でもあります。

例#

SELECT * FROM aidb.agent_converse(
    agent_name      => db_helper,
    prompt          => How many rows are in the orders table?,
    conversation_id => NULL,  -- optional; continue an existing conversation by id. Default: NULL (starts a new conversation)
    read_only       => NULL,  -- optional; force read-only mode on/off. Default: NULL (auto: on for a read replica, off otherwise)
    output_type     => NULL,  -- optional; override the agents structured output schema for this call. Default: NULL (use the agents own configuration)
    debug           => NULL   -- optional; also emit every action as a NOTICE. Default: NULL (false)
);

promoteb.start_agent_session#

名前付けエージェントの新しい会話IDを使用する最初のagent_converse 呼び出しに先立って、名前付けエージェントの新しい会話IDを生成します。

パラメーター#

Parameter

Type

Description

agent_name

TEXT

会話するエージェントの名前。

返品#

TABLE(conversation_id TEXT) . agent_converse とは異なり、このファンクションは、 agent_name が空または不明な場合にerror 列を返すのではなく レイズ します。

例#

SELECT * FROM aidb.start_agent_session(db_helper);

promoteb.get_conversation#

会話のメッセージ-すべてのユーザーのプロンプトと最終的な回答を時系列で取得します。ツール呼び出しおよびその他の内部アクティビティを除外します。完全なアクティビティ履歴については、 aidb_internal.action_log を参照してください。

パラメーター#

Parameter

Type

Description

conversation_id

TEXT

会話のID。

返品#

TABLE(message_id TEXT, task_id TEXT, action_type TEXT, role TEXT, sender_id TEXT, contents TEXT) — メッセージごとに1行。 role は"user" または"agent" です。 sender_id は、特定の送信者プロンプト自分自身のuser フィールド、またはエージェントのIDです。 conversation_id が空の場合、 レイズ error 列を返すのではなく。

例#

SELECT * FROM aidb.get_conversation(8f14e45f-ceea-467e-9575-a3d1a2c1a123);

promoteb.get_message#

IDに基づいて1つのメッセージのプレーンテキストコンテンツを取得します。

パラメーター#

Parameter

Type

Description

message_id

TEXT

メッセージのID。

返品#

TABLE(message TEXT, error TEXT) — 1行。 error message ではない は、そのようなメッセージが存在しない場合に設定されます。上げません。

例#

SELECT * FROM aidb.get_message(3fa85f64-5717-4562-b3fc-2c963f66afa6);

構造化出力ヘルパー#

helpb.output_field#

エージェントの構造化出力スキーマの1つのフィールドを構築します。

パラメーター#

Parameter

Type

Default

Description

name

TEXT

Required

フィールドの名前。

field_type

TEXT

Required

フィールドのタイプたとえば 'TEXT'、'FLOAT'、`'BOOLEAN'`など。

description

TEXT

NULL

モデルに表示される説明。

返品#

JSONB — これらのうちの1つ以上をaidb.output_type() に渡します。


promoteb.output_type#

1つ以上のフィールドから完全な構造化出力スキーマを構築します。

パラメーター#

Parameter

Type

Description

fields

VARIADIC JSONB[]

1つ以上の`aidb.output_field()`結果。

返品#

JSONB — create_agent /update_agent のoutput_type パラメーターまたはagent_converse に渡します。

例#

SELECT aidb.create_agent(
    name         => sentiment_tagger,
    instructions => Classify the sentiment of the given text.,
    model        => my_gpt,
    output_type  => aidb.output_type(
        aidb.output_field(sentiment, TEXT, One of: positive, negative, neutral),
        aidb.output_field(confidence, FLOAT)
    )
);

タイプ#

helpb.budget_strategy#

CREATE TYPE aidb.budget_strategy AS ENUM (
    ignore,
    error,
    summarize,
    attempt_complete
);

各値の機能については、 予算と制限 を参照してください。

promoteb.task_status#

CREATE TYPE aidb.task_status AS ENUM (
    PENDING,
    IN_PROGRESS,
    RECOVERY,
    AWAIT_APPROVAL,
    DENIED,
    ERROR,
    TIMEOUT,
    CANCELED,
    SUCCESS,
    EVALUATING,
    COMPLETE
);

aidb.agent_tasks.status およびaidb.conversations.status を介して浮上しました。今日のすべてのタスクは1つのagent_converse 呼び出し内で完了まで同期して実行されるため、タスクのターミナルステータスは通常SUCCESS またはERROR になります。残りの値は、まだ実装されていない非同期/承認ワークフロー用に予約されています。