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#
名前でエージェントを削除します。
パラメーター#
返品#
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つのフィールドを構築します。
パラメーター#
返品#
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
になります。残りの値は、まだ実装されていない非同期/承認ワークフロー用に予約されています。