记忆

Alibabacloud Polardb Ai Assistant

试用

用自然语言完成阿里云 PolarDB MySQL/PostgreSQL 集群的运维、巡检与诊断。

它能做什么

通过 aliyun CLI 的 DAS 插件调用阿里云 Yaochi Agent v2 后端,面向 PolarDB MySQL 与 PostgreSQL 提供自然语言驱动的运维能力。可完成集群健康巡检、性能诊断、参数解释与变更评估、备份状态查询、安全配置检查、日志分析、高可用与容灾评估、SQL 性能诊断等任务,覆盖 CPU/内存/连接数/IOPS、代理性能、内核与代理版本、IMCI 列存索引参数、主备切换根因、Serverless PCU 伸缩等场景。每次调用依赖 Aliyun CLI 3.3.3 及以上版本与 DAS 插件,并通过统一的会话 ID 实现可观测性。

什么时候用它

  • 为指定 PolarDB 集群生成健康巡检报告
  • 诊断 PolarDB PostgreSQL 集群的慢 SQL 与锁阻塞问题
  • 解释 PolarDB 参数含义与重启作用域后再决定是否调整
  • 分析最近一次主备切换的根因、证据与影响

技能文档

PolarDB Database AI Assistant

This Skill focuses on Alibaba Cloud PolarDB MySQL/PostgreSQL database intelligent O&M. It invokes the Yaochi Agent v2 backend through the get-yao-chi-agent API and the aliyun CLI DAS plugin.

Architecture: Codex Skill -> scripts/call_yaochi_agent.sh -> Aliyun CLI -> DAS Plugin (Signature V3) -> get-yao-chi-agent API -> Yaochi Agent v2 -> PolarDB Skill/MCP/DAS/RAG capabilities

Scope: PolarDB only. Do not use this Skill for non-PolarDB product O&M requests unless the user's request is explicitly about PolarDB integration or comparison.

Supported Capabilities

CapabilityDescription
Instance query and filteringNatural-language filtering for PolarDB clusters by ID, engine, version, status, pay type, zone, architecture, tags, name, creation window, or expiration window
Instance status inspectionRuntime status, node health, version, lock/migration state, endpoint state, pay type, and expiration checks
Cluster resource inspectionCPU, memory, connections, IOPS, storage, Serverless PCU behavior, capacity pressure, and trend analysis
Connection and session inspectionConnection usage, active sessions, idle transaction risk, connection trend, and connection pool suggestions
Proxy performance inspectionProxy CPU, QPS, connection stability, response time, endpoint/routing information, and read/write split signal checks
Backup inspectionBackup policy, backup records, backup task status, log backup/PITR capability, and backup success/failure risk
Security inspectionWhitelist, public exposure risk, SSL/TDE, account security posture, and SQL audit configuration
High availability and disaster recoveryMulti-zone/HA posture, hot standby state, GDN/migration signals, HA switch records, and DR readiness
Log diagnosticsError log and slow log volume, pattern analysis, and operational recommendations
Serverless inspectionPCU min/max configuration, scaling behavior, auto-pause posture, and workload-resource fit
Parameter explanationPolarDB MySQL/PostgreSQL parameter meaning, defaults, risk, best practices, and restart/effective-scope notes
Parameter change assessmentParameter modification log explanation, multi-parameter impact assessment, and change-risk suggestions
IMCI parameter explanationPolarDB MySQL IMCI columnar index parameter explanation and usage guidance
Kernel and proxy version diagnosticsDB kernel/proxy version gap analysis, release-note based risk assessment, high-risk fixed bug checks, and upgrade suggestions
HA switchover and event analysisHA switchover root cause, related performance/log evidence, event impact, and follow-up mitigation
Storage diagnosticsStorage composition, growth trend, abnormal usage, cold data/archive signals, and cleanup or capacity advice
SQL performance diagnosticsSlow SQL, execution plan, lock/blocking, and index optimization diagnostics when supported by backend and permissions

Backend Execution Model

The local Skill does not call PolarDB MCP tools directly. It sends a natural-language query to Yaochi Agent v2. The backend is responsible for:

  1. Matching a PolarDB scenario Skill first when the request is an O&M, inspection, diagnosis, parameter, or event scenario.
  2. Calling PolarDB MCP/OpenAPI tools for real cluster, metric, log, backup, security, or data-plane evidence.
  3. Using DAS intelligent diagnosis for performance, slow SQL, lock, index, and auto-increment ID issues when applicable.
  4. Falling back to PolarDB documentation/RAG only when structured tools cannot answer the question.

When answering users, treat the backend output as the source of truth. Do not invent cluster status, metrics, logs, risk levels, or document links that are not present in the response.

Observability

[MUST] User-Agent template — Every Alibaba Cloud CLI, SDK, or Terraform invocation made by this Skill must use: AlibabaCloud-Agent-Skills/alibabacloud-polardb-ai-assistant/{session-id}

[MUST] Session-id rule — Generate one observability session ID at the start of each Skill execution session, reuse the same value across all Alibaba Cloud CLI, SDK, and Terraform calls in that session, and do not regenerate it for retries or multi-step workflows. The session ID must be a 32-character lowercase hexadecimal string.

export ALIBABACLOUD_AGENT_SKILL_SESSION_ID="${ALIBABACLOUD_AGENT_SKILL_SESSION_ID:-$(openssl rand -hex 16)}"

[MUST] CLI User-Agent — Every aliyun CLI command invocation must include: --user-agent AlibabaCloud-Agent-Skills/alibabacloud-polardb-ai-assistant/${ALIBABACLOUD_AGENT_SKILL_SESSION_ID}

Installation

Pre-check: Aliyun CLI >= 3.3.3 required Run aliyun version to verify >= 3.3.3. If not installed or version too low, download the installer, review it, then run it locally to update, or see references/cli-installation-guide.md for installation instructions. Then [MUST] run aliyun configure set --auto-plugin-install true to enable automatic plugin installation. Then [MUST] run aliyun plugin update to ensure that any existing plugins on your local machine are always up-to-date.

# Install aliyun CLI after reviewing the downloaded installer
curl -fsSL https://aliyuncli.alicdn.com/setup.sh -o /tmp/aliyun-cli-setup.sh
less /tmp/aliyun-cli-setup.sh
bash /tmp/aliyun-cli-setup.sh
aliyun version  # Verify >= 3.3.3

# Enable automatic plugin installation
aliyun configure set --auto-plugin-install true

# Install DAS plugin (get-yao-chi-agent requires plugin for Signature V3 support)
aliyun plugin install --names aliyun-cli-das

# Install jq (for JSON response parsing)
# macOS:
brew install jq
# Ubuntu/Debian:
# sudo apt-get install jq

Parameter Confirmation

IMPORTANT: Parameter Confirmation — Before executing any command or API call, ALL user-customizable parameters (e.g., RegionId, instance names, CIDR blocks, passwords, domain names, resource specifications, etc.) MUST be confirmed with the user. Do NOT assume or use default values without explicit user approval.

ParameterRequired/OptionalDescriptionDefault
queryRequiredNatural language query content (including region, cluster info)-
--session-idOptionalSession ID for multi-turn conversation-
--profileOptionalaliyun CLI profile namedefault

Authentication

Credentials use existing aliyun CLI configuration, no additional AK/SK setup required:

# Recommended: OAuth mode
aliyun configure --mode OAuth

# Or: AK mode
aliyun configure set \
  --mode AK \
  --access-key-id  \
  --access-key-secret  \
  --region cn-hangzhou

# Cross-account access: RamRoleArn mode
aliyun configure set \
  --mode RamRoleArn \
  --access-key-id  \
  --access-key-secret  \
  --ram-role-arn acs:ram:::role/ \
  --role-session-name yaochi-agent-session \
  --region cn-hangzhou

RAM Policy

See references/ram-policies.md

Core Workflow

All intelligent O&M operations are invoked through scripts/call_yaochi_agent.sh, which wraps aliyun das get-yao-chi-agent (DAS plugin kebab-case command, supports Signature V3) with streaming response parsing.

# Cluster management
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "List PolarDB clusters in Hangzhou region"
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "Show detailed configuration of cluster pc-xxx"

# Performance diagnostics
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "Analyze cluster pc-xxx performance in the last hour"
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "Show slow SQL of cluster pc-xxx"
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "Diagnose lock blocking and index risks for PolarDB PostgreSQL cluster pc-xxx"

# Parameter tuning
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "How to tune innodb_buffer_pool_size for cluster pc-xxx"
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "Explain loose_polar_log_bin parameter"
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "Compare parameters between pc-xxx and pc-yyy"

# Primary-standby switchover diagnostics
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "Analyze recent primary-standby switchover cause for cluster pc-xxx"

# Connection and session
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "How to troubleshoot high connection count in cluster pc-xxx"

# Backup recovery
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "Show backup status of cluster pc-xxx"

# Inspection
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "Generate a health inspection report for cluster pc-xxx"

# Multi-turn conversation (use session ID from previous response)
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "Continue analysis" --session-id ""

# Specify profile
bash $SKILL_DIR/scripts/call_yaochi_agent.sh "List clusters" --profile myprofile

# Read from stdin
echo "List clusters" | bash $SKILL_DIR/scripts/call_yaochi_agent.sh -

Error Handling

If call_yaochi_agent.sh fails, do not summarize it as only Error: SDKError. Surface the structured error block from stderr to the user, especially:

[YaoChi Agent Error]
ErrorCode: 
ErrorMessage: 
AuthAction: 
RequestId: 
Suggestion: 
Reference: 
Troubleshooting: 

For permission errors such as Forbidden.RAM, check AuthAction first and guide the user to grant that RAM action or the policies in references/ram-policies.md. For credential, throttling, timeout, or plugin errors, use the Suggestion and references/verification-method.md to give the next concrete fix.

Throttling.UserConcurrentLimit means the account has exceeded the Yaochi Agent concurrent request limit. Current production verification shows at most 2 concurrent sessions per account; wait for an existing request to finish before retrying.

Response Requirements

For diagnosis and inspection questions, keep the answer evidence-driven:

  1. Start with the conclusion and current risk level.
  2. Cite concrete evidence from the backend response, such as metric values, log counts, backup records, version numbers, or returned status fields.
  3. Give at most the highest-impact next actions first. Distinguish immediate actions from follow-up observation.
  4. For missing data or permission failures, explain what could not be verified and surface the structured error or missing-permission guidance.
  5. Do not expose internal tool names, absolute local file paths, hidden system groups, credentials, or raw implementation details unless they are necessary for user remediation.

For high-risk or change-related requests:

  • Parameter changes, restarts, failovers, whitelist changes, backup recovery, and configuration changes require explicit risk explanation and user confirmation.
  • Always state whether a parameter change requires restart or has immediate effect when that evidence is available.
  • Backup and recovery guidance must remind the user to verify recovery point, data consistency, and business impact before action.

Example Questions

ScenarioExample Question
Cluster ManagementList nodes and endpoints of cluster pc-xxx
Instance QueryList PolarDB MySQL 8.0 prepaid clusters in Beijing
Health InspectionGenerate a health inspection report for cluster pc-xxx
Performance DiagnosticsTroubleshoot high CPU usage in cluster pc-xxx
Slow SQL AnalysisShow slow SQL in cluster pc-xxx in the last hour
Parameter TuningWhat does loose_polar_log_bin parameter mean
Parameter ChangeExplain parameter changes of pc-xxx in the last 3 days
Parameter ComparisonCompare parameter differences between pc-xxx and pc-yyy
IMCI ParametersHow to configure IMCI related parameters for cluster pc-xxx
HA SwitchoverAnalyze recent primary-standby switchover cause for cluster pc-xxx
Backup RecoveryWhen was the latest backup of cluster pc-xxx
Storage OptimizationWhat to do if storage usage of cluster pc-xxx grows too fast
Connection TroubleshootingCluster pc-xxx connections are full
Security AuditCheck security configuration of cluster pc-xxx
Version RiskAnalyze DB kernel and proxy version risk for pc-xxx
Event AnalysisAnalyze PolarDB event impact for pc-xxx

Success Verification

See references/verification-method.md

Cleanup

This Skill focuses on query and diagnostics capabilities, does not create any resources, no cleanup required.

The following operations are NOT within the scope of this Skill:

  • Directly create/delete PolarDB clusters
  • Directly change instance specifications or parameters
  • Directly modify whitelist, security, backup, or HA configuration

The Skill may explain these operations, assess risk, and guide the user through the required checks, but it must not claim that a change was executed unless the backend response explicitly confirms it.

API and Command Tables

See references/related-apis.md

Best Practices

  1. PolarDB-only scope: Use this Skill for PolarDB MySQL/PostgreSQL. Do not route non-PolarDB product O&M requests here.
  2. Cluster ID Format: PolarDB cluster IDs typically start with pc-; include the full cluster ID in queries when available.
  3. Region Specification: Explicitly specify region in natural language queries (e.g., "Hangzhou region", "Beijing region") to improve query accuracy. If region is unknown, ask or let the backend infer it from the instance when supported.
  4. Evidence First: For O&M, inspection, and diagnosis answers, rely on backend-returned tool evidence. Do not infer exact metrics, version risk, or backup state without data.
  5. Multi-turn Conversation: Use --session-id for complex diagnostic scenarios to maintain context continuity.
  6. Concurrency Limit: Maximum 2 concurrent sessions per account, avoid initiating multiple parallel calls.
  7. High-risk Operations: For parameter changes, failover, recovery, or security changes, explain risk and require user confirmation before any action path.
  8. Throttling Handling: If encountering Throttling.UserConcurrentLimit error, wait for previous query to complete and retry.
  9. Credential Security: Use aliyun configure to manage credentials, never hardcode AK/SK in scripts.
ReferenceDescription
references/cli-installation-guide.mdAliyun CLI installation and configuration guide
references/related-apis.mdRelated API and CLI command list
references/ram-policies.mdRAM permission policy list
references/verification-method.mdSuccess verification methods
references/acceptance-criteria.mdAcceptance criteria

常见问题

这个技能能用于非 PolarDB 数据库吗?
不能。技能明确限定为 PolarDB MySQL 与 PolarDB PostgreSQL,除非用户问题专门围绕 PolarDB 的对接或对比,否则不应使用该技能处理其他数据库的运维请求。
使用前需要准备哪些环境?
需要 Aliyun CLI 3.3.3 及以上版本;通过 `aliyun plugin install --names aliyun-cli-das` 安装 DAS 插件;安装 jq;执行 `aliyun configure set --auto-plugin-install true` 开启插件自动安装;并完成 OAuth、AK 或 RamRoleArn 方式的凭据配置,无需额外 AK/SK。
会话可观测性是如何实现的?
每次技能执行生成一个 32 位小写十六进制的会话 ID,同一会话内的 aliyun CLI、SDK 与 Terraform 调用复用同一 ID,并按 `AlibabaCloud-Agent-Skills/alibabacloud-polardb-ai-assistant/{session-id}` 的格式写入 User-Agent,重试与多步流程不会重新生成。

相关技能

用自然语言提问即可获得 RDS Copilot 答疑、SQL 优化与实例故障排查结果。

33 次安装1 星标

Health inspection for Alibaba Cloud PolarDB MySQL instances, generating visual HTML reports. Supports five inspection dimensions: 1. Resource Monitoring — CP...

1 次安装

Alibaba Cloud PolarDB/RDS MySQL historical lock wait root cause analysis skill. Diagnoses and analyzes historical lock wait issues, identifies the complete l...

Pre-release SQL assessment and optimization for PolarDB MySQL. Combines 28+ static lint rules with Alibaba Cloud DAS dynamic diagnosis. Detects full table sc...