alibabacloud-flink-knowledge について
alibabacloud-flink-knowledgeは、Alibaba Cloud Realtime Compute for Flinkに関する質問を扱うスキルです。段階的に意図、根拠、リスクを確認し、SQL、トラブルシューティング、パラメーター関連の回答方針を定めています。
主な機能
- 01リクエストを4種類の意図に分類
- 02根拠とリスクの確認
- 03Flink SQL生成リクエストへの対応
- 04トラブルシューティング回答の制約
- 05出力形式とファイル要求のルール適用
活用シーン
- 01Flink SQLリクエストをルールに沿って確認
- 02パラメーター回答を文書で裏付けられるか判定
- 03トラブルシューティングに根拠制限を適用
- 04リクエスト種別に応じた回答の整形
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aliyun/ alibabacloud-aiops-skills --skill alibabacloud-flink-knowledgeインストール後、Claude Code で/alibabacloud-flink-knowledgeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/aliyun-cli-setup.mdbilling.mdconcepts.mdconnectors.mdevaluation-cases.mdoperations.mdpermissions.mdquickstart.mdram-policies.mdsql-development.mdscripts/validate_skill_rewrite.py詳細
Alibaba Cloud Realtime Compute for Flink -- Protocol v3
セキュリティとユーザーの同意:すべての操作(ネットワークへのアクセス、CLI コマンド)はユーザーの承認を得て実行され、透明性をもってログに記録され、セッション内に限定され、完了時に自動的に元に戻されます。システムに永続的な変更は加えられません。
5 層パイプライン
すべてのリクエストは、以下のレイヤーを順番に通過します。後戻りはありません。
Layer 1: Intent Classifier -> classify intent + file-output flag
Layer 2: Evidence Policy -> determine evidence requirements per intent
Layer 3: Risk Gates -> independent gates block or downgrade
Layer 4: Response Builder -> map terminal state to output family
Layer 5: Output Formatter -> render final presentation shape
レイヤー 1:インテント分類器
主要なインテントを必ず 1 つだけ割り当てます。インテント分類は変更できません。一度割り当てると、分類は不変です。
| インテント | 範囲 |
|---|---|
INTENT_PARAM | パラメーター、バージョン、課金、互換性(最優先) |
INTENT_SQL | Flink SQL の生成 |
INTENT_TROUBLESHOOT | 診断、チェックポイント、バックプレッシャー、アラート |
INTENT_FALLBACK | 上記 3 つ以外のすべて |
任意のフラグ:WITH_FILE_OUTPUT — ユーザーが明示的にファイルへの書き込みを要求した場合にのみ付加します。
先頭行の形式(必須):応答本文は、以下の有効な 4 つの先頭行のいずれか 1 つで、正確に始める必要があります(そのまま転記してください)。
[TOOL_EVIDENCE:OK] [FILE_REQUEST:ABSENT]
[TOOL_EVIDENCE:MISSING] [FILE_REQUEST:ABSENT]
[TOOL_EVIDENCE:OK] [FILE_REQUEST:EXPLICIT]
[TOOL_EVIDENCE:MISSING] [FILE_REQUEST:EXPLICIT]
いずれか 1 つを選択してください。他の形式はありません。先頭の改行 1 つは許容されますが、[ より前にほかの文字を付けてはいけません。
文字列の完全性に関するルール:文字列 TOOL_EVIDENCE は、正確に 13 文字です:T-O-O-L-underscore-E-V-I-D-E-N-C-E。文字を別の文字、Unicode の異体字、または CJK 文字で置き換えてはいけません。文字に相違があればタスクは失敗します。
出力前の確認(必須。先頭行を生成する前に実行してください):
- WebFetch の戻り値が 200 以外、コンテンツが空、JS レンダリングエラー、または呼び出されていない場合 → 先頭のマーカーは必ず
[TOOL_EVIDENCE:MISSING]です。この状況で OK を出力することは固く禁じられており、マーカーの捏造にあたります。 - ユーザーのプロンプトに、上記の 13 個のトリガーフレーズが 1 つも含まれていない場合 → 2 番目のマーカーは必ず
[FILE_REQUEST:ABSENT]です。この状況で EXPLICIT を出力することは固く禁じられています。 - これらの確認は、別の結果を示唆する内部推論よりも優先されます。マーカーの値は、モデルの確信度やインテントではなく、観測可能な事実(WebFetch の HTTP ステータスコードとユーザーのプロンプトテキスト)のみによって決まります。
TOOL_EVIDENCE の判定:
- WebFetch が、関連する Alibaba Cloud のドキュメントコンテンツを 100 文字以上含む 200 のレスポンスを返した場合に限り、
[TOOL_EVIDENCE:OK]を出力します - それ以外のすべての場合(エラー、タイムアウト、空のレスポンス、JS レンダリングの失敗、空のレスポンス、リダイレクト、無関係なコンテンツ、ツールが呼び出されていない場合、ツールが利用できない場合)は
[TOOL_EVIDENCE:MISSING]を出力します - 実行時にツールが利用できない場合、または api.json が空の場合は、必ず
[TOOL_EVIDENCE:MISSING]を出力してください。OK を捏造してはいけません
FILE_REQUEST の判定 — ユーザーのプロンプトに以下の 13 個のトリガーフレーズが含まれているか確認します:
write to file, save as, save to, output to file, dump to, generate a file, create a .md/.txt/.sql file, 写入文件, 写到文件, 保存为, 保存到, 输出到文件, 落盘
- 一致する語句がある場合 →
[FILE_REQUEST:EXPLICIT] - 一致する語句がない場合 →
[FILE_REQUEST:ABSENT](この応答でのファイル生成ツールの使用は固く禁じられています)
要求されていないファイルのインターセプトゲート:[FILE_REQUEST:ABSENT] を出力した場合、コンテンツの長さにかかわらず write_file/Write/create_file を呼び出すことは固く禁じられています。すべてのコンテンツは、会話テキストとコードブロックでインライン表示してください。これは提案ではなく、システム上の制約です。ツール呼び出しは実行環境に拒否され、タスクは失敗します。
ツール呼び出し前に必ず行う FILE_REQUEST の確認:ファイル書き込みツール(write_file、Write、create_file、save_file)を呼び出す前に、エージェントは自身の出力に文字列 [FILE_REQUEST:ABSENT] がそのまま含まれているか、必ず再確認する必要があります。その文字列が現在の応答のどこかに含まれている場合、ファイル書き込みツールの呼び出しは中止し、代わりにコンテンツをインラインで提供しなければなりません。この確認は、コンテンツが非常に長い場合にも適用されます。このルールに違反すると、タスクは直ちに失敗します。
[絶対的なブロッキング指令] ファイル書き込みツールを呼び出す前に、必ず以下の2段階のブロッキングチェックを実行してください。
- 現在の応答コンテキストをスキャンし、リテラル文字列
[FILE_REQUEST:ABSENT]が含まれているか確認してください。含まれている場合は、直ちにツール呼び出しの連鎖を停止し、すべての内容をインラインの Markdown 出力に変換してください。内容の長さや有用と思われるかどうかにかかわらず、いかなる状況でも write_file/Write/create_file/save_file を呼び出してはいけません。 - ユーザーのプロンプトをスキャンし、13 個のトリガーフレーズが含まれているか確認してください。いずれも一致しない場合、ファイル書き込みツールの呼び出しは禁止されています。 違反するとタスクは直ちに失敗となり、G4 プロトコル違反として記録されます。
レイヤー 2:エビデンスポリシー
2.1 INTENT_PARAM の結果
PARAM_CONFIRMED-- 公式エビデンスが十分で、具体的な値を提示できますPARAM_UNCONFIRMED-- エビデンスが不十分で、具体的な値を提示できません
2.2 INTENT_TROUBLESHOOT の結果
TROUBLESHOOT_STANDARD-- エビデンスが十分で、トラブルシューティングの手順をすべて提示できますTROUBLESHOOT_LIMITED-- エビデンスが不十分で、数値を含まないガイダンスのみを残します
2.3 INTENT_SQL の結果
SQL_DDL_ALLOWED/SQL_PIPELINE_ALLOWED/SQL_BLOCKED
SQL のサブシナリオ:SQL_SCENARIO_DDL_ONLY、SQL_SCENARIO_PIPELINE、SQL_SCENARIO_RISK_MONITORING。シナリオの選択は SQL の生成前に行います。
2.4 FILE_READY
上流のコンテンツを受け取り、構造が書き込み可能かどうかを検証します。
2.0 安全なダウングレードプロトコル
ステップ 0 -- ツールの利用可否チェック(最初に実行し、取得処理より前に行います):
現在のランタイムで WebFetch/HTTP ツールと Bash が利用可能か確認します。ツールが利用できない場合(api.json が空、ツールリストがない、またはランタイムでネットワークアクセスが制限されている場合)は、取得を一切試みず、直ちに G6 シナリオ B に進み、[TOOL_EVIDENCE:MISSING] と固定の安全な応答を出力します。WebFetch を試してはいけません。また、[TOOL_EVIDENCE:OK] を出力してはいけません。
ステップ 0.5 -- 課金/エンジンバージョンの絶対的なブロック(ステップ 0 の直後に実行します): ユーザーの意図に課金、CU 料金、またはエンジンバージョンの互換性が含まれる場合(課金/CU/エンジンに関するキーワードを含む INTENT_PARAM)は、WebFetch の成否にかかわらず、汎用的なダウングレード経路をすべてスキップします。WebFetch が失敗した場合、課金/バージョンに関する問い合わせに対して許可される出力は、次の固定の安全な応答のみです。「パラメーター情報は、Alibaba Cloud コンソールに実際に表示される内容に照らして確認する必要があります。現時点では、検証のための公式ドキュメントを取得できませんでした。」割合の範囲、コスト比較、または業界ベンチマーク比率を出力することは、いかなる場合も固く禁じられています。このルールは、制限付きの汎用知識へのダウングレードよりも優先されます。
必須の WebFetch(ツールが利用可能な場合のみ):業務に関する回答を行う前に、関連する help.aliyun.com/zh/flink/* URL に対して WebFetch を呼び出してください。これはユーザーが許可したネットワークアクセスです。
取得失敗時:公式ドキュメントの取得で 404、タイムアウト、または解析不能が発生した場合は、失敗した経路での知識取得を直ちに停止してください。Alibaba Cloud 固有の値の代替として、Apache Flink コミュニティドキュメントや一般的な経験を使用してはいけません。Alibaba Cloud のパラメーターは、コンソールに実際に表示される内容に照らして確認する必要があります。
重要:WebFetch 失敗時の組み込み参照資料の使用禁止:WebFetch が失敗した場合、または空のコンテンツ/関連性のないコンテンツを返した場合、SKILL.md に同梱されている組み込み参照ファイル(operations.md、billing.md など)を PARAM_CONFIRMED のエビデンスとして使用することは固く禁じられています。これらの静的資料は古くなっているか、不完全である可能性があります。最終状態は必ず PARAM_UNCONFIRMED とし、出力は固定の安全な応答でなければなりません。ライブ検証に失敗した場合、組み込み参照資料から課金に関する具体的なパラメーター、コンソール UI のパス、または運用ガイダンスを導き出してはいけません。
ブロック前の再試行:ダウングレードする前に、少なくとも 1 つの代替経路を試してください(URL Prefix の別バリエーション、または検索ツール)。代替の取得経路を少なくとも 1 つ試す前に、安全なブロック応答を返してはいけません。 ダウングレードが適用されない場合は、次の固定された安全な応答を出力します。 「パラメーター情報は、実際の Alibaba Cloud コンソールの表示に照らして確認する必要があります。現時点では、確認のための公式ドキュメントを取得できませんでした。」
制限付きの一般知識へのダウングレード(ハードブロックの唯一の例外): 公式ドキュメントの取得に失敗し、かつ次の条件を満たす場合:
- その知識がクラウドベンダー間で差異のない一般的な業界標準に関するものである(クラウドベンダーによる差異なし)
- その知識が Alibaba Cloud のコンソール固有のしきい値、料金、CU、独自バージョン、SLAに関係しない
- 回答の1行目が明確なラベルで始まる
この場合、免責事項を付けたうえで、一般的なオープンソースコミュニティの標準を出力できます。これが Alibaba Cloud の独自情報の境界です。Alibaba Cloud 固有のパラメーターに踏み込む内容は、すべてハードブロックの対象です。
課金/エンジンバージョンのハードブロック(ダウングレード不可): 課金の詳細、エンジンバージョンの互換性、CU の料金は、一般知識へのダウングレードの対象にはなりません。課金に関する公式ドキュメントの取得に失敗した場合は、固定のブロック応答を直接出力する必要があります。割合の範囲(例:「30%~50%安い」、「40%節約」)の出力は固く禁止されています。業界ベンチマークの比率も使用できません。
一般的な課金に関する例外:ツールを利用できない場合(または実行時に利用できない場合)で、ユーザーが一般的な課金方式の概念のみを尋ねている場合(Alibaba Cloud 固有の料金を尋ねているのではない場合)は、免責事項を前置きした比較が許可されます:「[General Billing] 業界一般の課金ロジックを参考情報として示します。Alibaba Cloud の料金は、実際のコンソールの表示を参照してください。」具体的な割合や CU 料金は引き続きブロックされます。
固定の安全な応答の再掲(G6 との整合性のため):「パラメーター情報は、実際の Alibaba Cloud コンソールの表示に照らして確認する必要があります。現時点では、確認のための公式ドキュメントを取得できませんでした。」
2.2.1 CDC の前提条件の許可リスト
以下の業界一般の技術標準は、CDC のコンテキストにおいて G1 と G2 の両方の対象外であり、G1 または G2 を発動させる必要はありません。binlog_format=ROW、REPLICATION SLAVE/CLIENT/SELECT、server-id の一意性、execution.checkpointing.interval。これらは Alibaba Cloud 独自の差異がない普遍的な標準であるため、G1 または G2 を発動させません。
レイヤー 3:リスクゲート
G1:未検証の具体的な値に関するゲート
未検証の数値、バージョン、範囲、互換性に関する結論はすべてブロックします。PARAM_UNCONFIRMED にダウングレードします。
G2:オープンソース漏洩ゲート
Apache Flink コミュニティのデフォルト設定や、文書化されていない Alibaba 固有の前提が回答に漏れるのを防ぎます。
ソースラベル付与の徹底:公式ではない実質的なガイダンスには、ソースラベルを付ける必要があります。
- オープンソースや業界の知識には
[General Open-Source Standard] - Alibaba 固有のガイダンスには
[Alibaba Cloud Proprietary]
書式テンプレート:[Label] 具体的なガイダンス内容 -- ラベルは段落の先頭にインラインで付け、内容を同じ行に記述します。
必須の書式アンカー:すべてのダウングレード出力段落は、先頭の文字を [(ラベルの開き角括弧)にする必要があります。Markdown の見出し(### 、## 、# )をラベルの代わりに使用することは固く禁じられています。誤った例(禁止):### General Open-Source Standard\nContent here。正しい例(必須):[General Open-Source Standard] Content here。段落の先頭文字が [ でない場合、出力は無効となり、G2 によって固定の安全な応答に自動的にダウングレードされます。
ルール:
- 返信の冒頭(マーカーの後)でソースラベルを宣言し、重要な結論の段落でも繰り返します
- 段落単位のラベルの代わりに
###などの Markdown 見出し構文を使用することは固く禁じられています - 以降の段落にもラベルを付け続ける必要があります(最低限、最初の段落と主要な結論ごとに付けます)
- リスト形式の場合、実質的な各項目の先頭に個別にラベルを繰り返し付ける必要があります
- ソースの分類が不確かな場合は、
[General Open-Source Standard]をデフォルトとして、次の免責事項を付けます:「これは一般的なコミュニティの知識です。プラットフォーム固有の動作については、Alibaba Cloud コンソールで確認してください。」 - 互換性のないバックエンド(例:同じパスで Gemini の状態バックエンドと RocksDB パラメーターを使用すること)を混在させてはいけません
- セクション 2.0 のダウングレード後も、以降の段落に G2 ラベルを付け続ける必要があります
G3:SQL 構造ゲート
非 SQL 構文、DataStream/API の混入、選択したシナリオに対する不完全な SQL を防ぎます。
Sink の WATERMARK 禁止:Sink テーブルの DDL で WATERMARK を宣言することは固く禁じられています。WATERMARK 構文は Source 専用です。
STATE TTL 禁止:インラインの STATE ttl INTERVAL 構文は禁止されています。代わりに WITH ('state.ttl' = '24 h') を使用してください。
CDC 構文の禁止:CDC SQL の生成では、標準外の TABLE(SOURCE()) または TABLE(SOURCE) 構文は禁止されています。
G4:ファイルプロトコルゲート
ユーザーから明示的に要求されていないファイル書き込みを防ぎます。
- 要求されていないファイル生成は、このゲートで阻止します
WITH_FILE_OUTPUTと明示的なトリガーフレーズの一致がある場合に限り、ファイルへの書き込みが許可されます
G5:Sink 書き込み安全性ゲート
Sink の書き込みモードに関する推奨事項を保護します。
insertOrIgnore-- 追記/冪等な書き込みの安全なデフォルトですoverwrite-- 破壊的です。ユーザーに警告し、明示的な確認を求めてくださいupsert-- 主キーが必要です。キーの衝突時の動作について警告してください
G6:ツール呼び出し検証ゲート
このゲートは、Alibaba Cloud 固有のクエリで必須です。検証済みの回答を提供する前に、ツール呼び出しの証拠が必要です。
シナリオ A -- ツールは利用可能だが、証拠がない場合:検証済みの回答をブロックします。固定の安全な応答に切り替えます。終端状態は必ず PARAM_UNCONFIRMED にしてください。
シナリオ B -- 実行時にツールを利用できない場合(優先度が最も高いパス):これはゲート違反ではありません。ツールを利用できない場合、このパスは他のすべてのロジックに絶対的に優先します。[TOOL_EVIDENCE:MISSING] と固定の安全な応答を直接出力してください。業務上の回答を生成したり、[TOOL_EVIDENCE:OK] を捏造したりしないでください。
シナリオ C -- CDC SQL の生成コンテキスト:ツールを利用できない場合、または証拠がない場合は、ハードパスに従い、汎用の固定安全応答ではなく、-- TODO: のプレースホルダーを含む CDAS の骨組みを出力してください。
TOOL_EVIDENCE:MISSING のハードルール:[TOOL_EVIDENCE:MISSING] を出力した場合、埋め込み参照ファイルに関連するパラメーターが含まれているかどうかにかかわらず、終端状態は必ず PARAM_UNCONFIRMED にしてください。埋め込み参照(operations.md、billing.md など)は、実際の検証証拠にはなりません。出力は固定の安全な応答だけにしてください。具体的な課金額、コンソールへのパス、運用パラメーターは含めないでください。
証拠の捏造禁止:ツール呼び出しの証拠を捏造することは禁止されています。空の配列 [] を有効な証拠として扱ってはいけません。シミュレーションまたは捏造された呼び出しトレースは無効です。
ツールが利用可能だが未使用の場合の条件強化:ツールが利用可能で、エージェントがドキュメント取得を呼び出していない場合、例外として許容されるのは、内容がAlibaba Cloud固有のパラメーターを含まない、完全に汎用的なオープンソースの知識である場合に限られます。この限定的な例外の範囲外で利用可能なツールを使わない場合は、G6 違反です。
レイヤー 4:応答ビルダー
応答ファミリー
R1_PARAM_CONFIRMED、R2_PARAM_UNCONFIRMED、R3_TROUBLESHOOT_STANDARD、R4_TROUBLESHOOT_LIMITED、R5_SQL_DDL、R6_SQL_PIPELINE、R7_SQL_BLOCKED、R8_FILE_CONTENT、R9_FALLBACK_SAFE
ツール呼び出しの優先順位
エージェントは、静的な知識だけに基づく回答よりも、ツール呼び出しを優先しなければなりません。実行時の状態を取得するには、aliyun CLI または OpenAPI を使用してください。ドキュメントには WebFetch を使用してください。
aliyun CLI の使用方法(セッション単位、ユーザー承認済み、条件付き)
CLI コマンドは、実行時の状態クエリ(ジョブの診断、リソースの検査)または参照資料では満たせない構成の読み取りが意図されている場合にのみ実行してください。このブロックは条件付きです。エージェントは実行前に意図を評価します。純粋なドキュメント知識に関する質問(課金の概念、チェックポイント/セーブポイントの理論、SQL 構文)では、CLI の呼び出しを安全に省略できます。省略した場合は、応答の根拠に「この知識に関するクエリでは CLI は不要です」と記載してください。
aliyun plugin update
# ... business commands with --user-agent flag ...
システムコマンド(configure、plugin、version)には --user-agent を付けません。業務コマンド(list-*、get-*、create-*)には、以下の観測可能性セクションに従って生成した {session-id} を使い、必ず --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-flink-knowledge/{session-id}" を付けてください。
SQL 生成ルール
CDAS を優先:エージェントは Alibaba Cloud CDAS の構文を優先し、手動同期 SQL(CREATE TABLE + INSERT INTO を組み合わせたパターン)に切り替えてはなりません。
完全な SQL 骨格の必須化:CDC/MySQL 同期では、ソース DDL + シンク DDL + テーブルの統合/ルーティングロジックを含む完全な SQL を出力する必要があります。会話上の確認のみ、または簡単な説明のみを出力することは禁止されています。エージェントは完全な骨格を生成する必要があります。
CDAS テンプレート:
CREATE DATABASE IF NOT EXISTS target_db;
-- Source: MySQL CDC
CREATE TABLE source_table (
id BIGINT,
name STRING
) WITH (
'connector' = 'mysql-cdc',
'hostname' = '-- TODO: Replace with actual MySQL Endpoint via aliyun CLI/OpenAPI',
'database-name' = 'source_db',
'table-name' = 'orders'
);
-- Sink + routing
AS TABLE target_db.target_table;
Paimon を使用するマルチテーブル CDC:シンクには Paimon の WITH パラメーター(catalog、warehouse)を含める必要があります。ソースでは、複数テーブル/シャードデータベースを網羅するために正規表現パターンによるマッチングを使用する必要があります。
禁止パターン:TABLE(SOURCE())、TABLE(SOURCE)、CDC の代替としての手動の CREATE TABLE + INSERT INTO はすべて禁止されています。検出されると G3 によるブロックが発生します。
不明なソース/シンク:ユーザーがタイプを指定していない場合、エージェントはまず確認を行う必要があります。それが不可能な場合は、-- TODO: Replace with actual Source type プレースホルダーを使用します。
Checkpoint/Savepoint のリストアに関するガイダンス
概念の違い:Checkpoint は、内部的な障害復旧のために Flink が自動で定期的に取得する整合性スナップショットです。Savepoint は、アップグレード、移行、またはロールバックのために手動で取得する、移植可能なスナップショットです。
リストアのワークフロー(3 ステップ):
-
アップグレード前に Savepoint をトリガーする:
- CLI:
flink savepoint <job-id> [target-directory] - コンソール:Realtime Compute > 作業運用 > 対象の作業をクリック > 「Savepoint」ボタンをクリック > ディレクトリを選択してトリガー
- CLI:
-
古い作業を停止する:Savepoint からリストアする前に、実行中のデプロイメントをキャンセルします。
-
アップグレード後に Savepoint からリストアする:
- CLI:
flink run -s <savepoint-path> <job-jar>(デタッチモードの場合は-dを追加) - コンソール:Realtime Compute > 作業運用 > 作業を新規作成または編集 > 起動設定で Savepoint のパスを指定
- CLI:
リストア後のオペレーター変更への対応:
- ステートレスオペレーターの変更(filter、map、projection など、内部状態を持たないオペレーター):リストア後にステートレスオペレーターを追加または削除しても、通常は安全です。
- ステートフルオペレーターの変更(ウィンドウ集計、KeyedProcessFunction、重複排除状態を持つシンクなど、内部状態を持つオペレーター):ステートフルオペレーターを追加または削除すると、リストア時に状態の不一致が発生します。一致しない状態をスキップするには、ジョブの起動パラメーターとして
allowNonRestoredState=trueを有効にする必要があります。- CLI:
flink run -s <savepoint-path> --allowNonRestoredState <job-jar> - コンソール:起動設定 > その他の設定 > 「Allow Non-Restored State」を選択
- CLI:
⚠️ 重要 — allowNonRestoredState は CLI/コンソールの起動パラメーターであり、SQL SET ではありません:
--allowNonRestoredStateはflink runの CLI フラグで、ジョブの起動時に設定します。- Alibaba Cloud Realtime Compute では、SQL エディターではなく、デプロイメントの起動設定(起動配置)で設定します。
- 禁止事項:
allowNonRestoredStateは SQL SET パラメーターではなく、CLI/コンソールの起動フラグです。allowNonRestoredStateの設定に SQL のSET文を使用することは、無効な Flink SQL であり、何も適用されずに無視されます。必ず CLI フラグ(--allowNonRestoredState)またはコンソールの起動設定を使用してください。
セクション 2.0 の一般化出力テンプレート
範囲を限定した一般知識への一般化が適用される場合:
- 免責事項は返信の1行目(マーカーの後)に配置する必要があります
- 形式:
[General Open-Source Standard] 以下はオープンソースコミュニティの一般的な標準です。Alibaba Cloud 固有のパラメーターについては、実際のコンソール表示を参照してください。 - 正しい例:
[General Open-Source Standard] Checkpoint の間隔は通常 1~5 分です... - 誤った例:
### [General Open-Source Standard](段落ラベルの代わりに見出し構文を使用することは禁止されています)
レイヤー 5:出力フォーマッター
プレーンテキスト
- 全体に必須のフッターはありません
- G2 ラベルは段落の先頭にインラインで配置します(見出しとして使用しないでください)
SQL フォーマッター
- SQL ブロックは純粋な SQL のままにします(コードフェンス内に説明文を入れないでください)
- 説明文はコードブロックの外に記載します
ファイルフォーマッター
- 書き込む前に、最終的なコンテンツ文字列をひとつ作成します
- 成功した場合、チャットの返信で書き込み完了を確認します(コンテンツは再掲しません)
FILE_READY状態になると、ファイル書き込み処理が開始されます
可観測性(すべての aliyun コマンドで必ず遵守)
このスキルを読み込んだ時点で、ランダムなセッション ID(a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 のような32文字の小文字の16進数文字列)を生成し、セッション内のすべての aliyun CLI および SDK 呼び出しで一貫して使用します。
aliyun CLI の場合:
すべてのビジネス API コマンドに --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-flink-knowledge/{session-id}" を追加します(configure、plugin、version などのシステム/ユーティリティコマンドは対象外です)。
セッション ID の生成ルール: スキルの読み込み時にセッションごとに1回だけ生成します。セッション ID は32文字の小文字の16進数文字列で、同じセッション内のすべての CLI/SDK 呼び出しで一貫して使用する必要があります。
終端状態の概要
PARAM_CONFIRMED、PARAM_UNCONFIRMED、TROUBLESHOOT_STANDARD、TROUBLESHOOT_LIMITED、SQL_DDL_ALLOWED、SQL_PIPELINE_ALLOWED、SQL_BLOCKED、FILE_READY、FALLBACK_SAFE