alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

ADBPG AI Coaching Best Practice

ADBPG AI辅导最佳实践

Build RAG-driven coaching systems using ADBPG Supabase (training data management) + ADBPG Vector Knowledge Base (RAG-driven intelligent coaching).
Core Capabilities:
  • Supabase Project: PostgreSQL-based platform for managing coaching domains, learners, and session records
  • Vector Knowledge Base: ADBPG instance with vector optimization for RAG-driven coaching
  • Seamless Integration: Supabase stores structured data, ADBPG powers intelligent AI coaching dialogue

借助ADBPG Supabase(培训数据管理)+ ADBPG向量知识库(RAG驱动智能辅导)构建RAG驱动的辅导系统。
核心功能
  • Supabase项目:基于PostgreSQL的平台,用于管理辅导领域、学习者和会话记录
  • 向量知识库:经向量优化的ADBPG实例,支持RAG驱动的辅导
  • 无缝集成:Supabase存储结构化数据,ADBPG为智能AI辅导对话提供支持

Pre-check: Aliyun CLI >= 3.3.3 Required

预检查:需安装Aliyun CLI >= 3.3.3

IMPORTANT: Run
aliyun version
to verify >= 3.3.3. If not installed or version too low, run
curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash
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. [MUST] run
aliyun plugin update
to ensure that any existing plugins on your local machine are always up-to-date.

重要提示:运行
aliyun version
验证版本是否>=3.3.3。若未安装或版本过低, 运行
curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash
进行更新, 或查看references/cli-installation-guide.md获取安装说明。
然后**[必须执行]**运行
aliyun configure set --auto-plugin-install true
启用自动插件安装。 **[必须执行]**运行
aliyun plugin update
确保本地现有插件始终保持最新版本。

[MUST] CLI User-Agent

[必须执行] CLI User-Agent设置

Every
aliyun
CLI command invocation must include:
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

每次调用
aliyun
CLI命令时必须包含:
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

[MUST] CLI AI-Mode Configuration

[必须执行] CLI AI模式配置

At the start of the Core Workflow (before any CLI invocation):
[MUST] Enable AI-Mode — AI-mode is required for Agent Skill execution. Run the following commands before any CLI invocation:
bash
aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice"
[MUST] Disable AI-Mode at EVERY exit point — Before delivering the final response for ANY reason, always disable AI-mode first. This applies to ALL exit paths: workflow success, workflow failure, error/exception, user cancellation, session end, or any other scenario where no further CLI commands will be executed. AI-mode is only used for Agent Skill invocation scenarios and MUST NOT remain enabled after the skill stops running.
bash
aliyun configure ai-mode disable

在核心工作流开始时(调用任何CLI命令之前):
[必须执行]启用AI模式 —— 执行Agent Skill需要AI模式。 在调用任何CLI命令前运行以下命令:
bash
aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice"
[必须执行]在所有退出点禁用AI模式 —— 无论出于何种原因交付最终响应前,务必先禁用AI模式。这适用于所有退出路径:工作流成功、工作流失败、错误/异常、用户取消、会话结束或任何其他不再执行CLI命令的场景。 AI模式仅用于Agent Skill调用场景,Skill停止运行后必须禁用。
bash
aliyun configure ai-mode disable

Pre-check: Alibaba Cloud Credentials Required

预检查:需具备阿里云凭证

Security Rules:
  • NEVER read, echo, or print AK/SK values
  • NEVER ask the user to input AK/SK directly
  • NEVER print passwords or API Keys in plain text in logs or stdout
  • ONLY use
    aliyun configure list
    to check credential status
  • When displaying API Keys, show only the first 6 characters +
    ***
    (e.g.,
    sk-abc1***
    )
bash
aliyun configure list
If no valid profile exists, STOP here. Configure credentials outside of this session via
aliyun configure
or environment variables.

安全规则
  • 绝对不要读取、回显或打印AK/SK值
  • 绝对不要要求用户直接输入AK/SK
  • 绝对不要在日志或标准输出中明文打印密码或API密钥
  • 仅可使用
    aliyun configure list
    检查凭证状态
  • 显示API密钥时,仅展示前6个字符 +
    ***
    (例如:
    sk-abc1***
bash
aliyun configure list
若不存在有效配置文件,请在此停止。通过
aliyun configure
或环境变量在本会话外配置凭证。

Scenario Description

场景说明

ScenarioUse CaseTarget Users
Workflow CoachingGuide professionals through structured business processes (sales cycles, project management)Sales teams, project managers
Decision SupportHelp engineers evaluate trade-offs and make informed technical decisionsEngineers, architects
Skill DevelopmentDevelop communication, negotiation, or technical skills through guided practiceProfessionals, new hires
OnboardingSystematically guide new team members through technical and process onboardingNew employees, mentors
场景用例目标用户
工作流辅导引导专业人员完成结构化业务流程(销售周期、项目管理)销售团队、项目经理
决策支持帮助工程师评估权衡因素并做出明智的技术决策工程师、架构师
技能提升通过引导式练习提升沟通、谈判或技术技能专业人员、新员工
入职培训系统引导新团队成员完成技术和流程入职新员工、导师

Architecture

架构

User (Web / Terminal / Agent)
    ┌──────┴──────┐
    v             v
┌─────────────┐  ┌────────────────────────┐
│  Supabase   │  │  Agent Mode            │
│  (spb-xxx)  │  │  ChatWithKnowledgeBase │
│  - Domains  │  └───────────┬────────────┘
│  - Sessions │              │
└──────┬──────┘              │
       v                     v
┌────────────────────────────────────────┐
│  ADBPG Instance (gp-xxx) + KB          │
│  Domain Knowledge + RAG + LLM          │
└────────────────────────────────────────┘

用户(Web / 终端 / Agent)
    ┌──────┴──────┐
    v             v
┌─────────────┐  ┌────────────────────────┐
│  Supabase   │  │  Agent Mode            │
│  (spb-xxx)  │  │  ChatWithKnowledgeBase │
│  - 领域信息  │  └───────────┬────────────┘
│  - 会话记录  │              │
└──────┬──────┘              │
       v                     v
┌────────────────────────────────────────┐
│  ADBPG实例 (gp-xxx) + 知识库          │
│  领域知识 + RAG + LLM                  │
└────────────────────────────────────────┘

RAM Policy

RAM策略

Required Permissions

所需权限

OperationRAM Permission
Supabase Project Management
gpdb:CreateSupabaseProject
,
gpdb:GetSupabaseProject
,
gpdb:ModifySupabaseProjectSecurityIps
ADBPG Instance Management
gpdb:CreateDBInstance
,
gpdb:DescribeDBInstances
,
gpdb:ModifySecurityIps
Account Management
gpdb:DescribeAccounts
,
gpdb:CreateAccount
Knowledge Base Operations
gpdb:InitVectorDatabase
,
gpdb:CreateNamespace
,
gpdb:CreateDocumentCollection
,
gpdb:UploadDocumentAsync
,
gpdb:ChatWithKnowledgeBase
VPC Network
vpc:DescribeVpcs
,
vpc:DescribeVSwitches
,
vpc:DescribeVSwitchAttributes
NAT Gateway & EIP
vpc:DescribeNatGateways
,
vpc:CreateNatGateway
,
vpc:DescribeEipAddresses
,
vpc:AllocateEipAddress
,
vpc:AssociateEipAddress
,
vpc:CreateSnatEntry
Recommended System Policies:
AliyunGPDBFullAccess
,
AliyunVPCFullAccess
(or
AliyunVPCReadOnlyAccess
if NAT already exists)
See references/ram-policies.md for complete list.
[MUST] Permission Failure Handling: When any command fails due to permission errors:
  1. Read references/ram-policies.md for required permissions
  2. Use
    ram-permission-diagnose
    skill to guide the user
  3. Pause and wait until user confirms permissions granted

操作RAM权限
Supabase项目管理
gpdb:CreateSupabaseProject
,
gpdb:GetSupabaseProject
,
gpdb:ModifySupabaseProjectSecurityIps
ADBPG实例管理
gpdb:CreateDBInstance
,
gpdb:DescribeDBInstances
,
gpdb:ModifySecurityIps
账号管理
gpdb:DescribeAccounts
,
gpdb:CreateAccount
知识库操作
gpdb:InitVectorDatabase
,
gpdb:CreateNamespace
,
gpdb:CreateDocumentCollection
,
gpdb:UploadDocumentAsync
,
gpdb:ChatWithKnowledgeBase
VPC网络
vpc:DescribeVpcs
,
vpc:DescribeVSwitches
,
vpc:DescribeVSwitchAttributes
NAT网关与EIP
vpc:DescribeNatGateways
,
vpc:CreateNatGateway
,
vpc:DescribeEipAddresses
,
vpc:AllocateEipAddress
,
vpc:AssociateEipAddress
,
vpc:CreateSnatEntry
推荐系统策略
AliyunGPDBFullAccess
,
AliyunVPCFullAccess
(若已存在NAT网关,可使用
AliyunVPCReadOnlyAccess
完整权限列表请查看references/ram-policies.md
[必须执行]权限失败处理:当任何命令因权限错误失败时:
  1. 查看references/ram-policies.md获取所需权限
  2. 使用
    ram-permission-diagnose
    技能引导用户
  3. 暂停操作,等待用户确认权限已授予

Core Workflow

核心工作流

When user says "Help me set up an AI coaching system" or similar, execute the following steps:
Smart Defaults Mode: User only needs minimal input (e.g., "北京i"). The agent auto-parses region, discovers VPC/VSwitch, generates passwords, and presents all parameters for one-click confirmation.
当用户说“帮我搭建AI辅导系统”或类似话语时,执行以下步骤:
智能默认模式:用户仅需提供最少输入(例如:“北京i”)。Agent会自动解析地域、发现VPC/VSwitch、生成密码,并展示所有参数供一键确认。

Step 1: Create Supabase Project

步骤1:创建Supabase项目

Parameters to confirm for this step:
ParameterDefaultNotes
RegionId
Auto-parse"北京i" →
cn-beijing
, "上海b" →
cn-shanghai
, "杭州" →
cn-hangzhou
, "深圳" →
cn-shenzhen
ZoneId
Auto-parse"北京i" →
cn-beijing-i
; query zones when only city provided
VpcId
Auto-discoverQuery available VPCs, select one with most available IPs
VSwitchId
Auto-discoverQuery VSwitches in target zone, select one with most available IPs
ProjectName
ai_coaching
Supabase project name
AccountPassword
Auto-generatePassword rules: 8-32 chars, at least 3 of uppercase/lowercase/digits/special (
@#$%^&*
), avoid
!
本步骤需确认的参数
参数默认值说明
RegionId
自动解析“北京i” →
cn-beijing
,“上海b” →
cn-shanghai
,“杭州” →
cn-hangzhou
,“深圳” →
cn-shenzhen
ZoneId
自动解析“北京i” →
cn-beijing-i
;仅提供城市名称时查询可用可用区
VpcId
自动发现查询可用VPC,选择可用IP最多的一个
VSwitchId
自动发现查询目标可用区的VSwitch,选择可用IP最多的一个
ProjectName
ai_coaching
Supabase项目名称
AccountPassword
自动生成密码规则:8-32字符,至少包含大写/小写/数字/特殊字符(
@#$%^&*
)中的3种,避免使用
!

1.1 Check/Create NAT Gateway

1.1 检查/创建NAT网关

Important: Supabase public connection requires a NAT Gateway with SNAT rules in the VPC.
bash
undefined
重要提示:Supabase公网连接需要VPC中配置带有SNAT规则的NAT网关。
bash
undefined

Check existing NAT Gateways in VPC

检查VPC中现有NAT网关

aliyun vpc describe-nat-gateways --profile adbpg
--biz-region-id <RegionId> --vpc-id <VpcId>
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

- **If `TotalCount > 0`** and SNAT entries cover the VSwitch CIDR → **Skip to Step 1.2**
- **If no NAT Gateway** → Get user confirmation, then:

```bash
aliyun vpc describe-nat-gateways --profile adbpg
--biz-region-id <RegionId> --vpc-id <VpcId>
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

- **若`TotalCount > 0`且SNAT条目覆盖VSwitch网段** → **跳至步骤1.2**
- **若无NAT网关** → 获取用户确认后,执行以下操作:

```bash

1.1a: Get VSwitch CIDR

1.1a: 获取VSwitch网段

aliyun vpc describe-vswitch-attributes --profile adbpg
--biz-region-id <RegionId> --vswitch-id <VSwitchId>
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
aliyun vpc describe-vswitch-attributes --profile adbpg
--biz-region-id <RegionId> --vswitch-id <VSwitchId>
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

Record: CidrBlock

记录:CidrBlock

1.1b: Create Enhanced NAT Gateway (requires user confirmation)

1.1b: 创建增强型NAT网关(需用户确认)

💰 Cost note: NAT Gateway incurs hourly charges

💰 成本说明:NAT网关按小时计费

aliyun vpc create-nat-gateway --profile adbpg
--biz-region-id <RegionId> --vpc-id <VpcId> --vswitch-id <VSwitchId>
--nat-type Enhanced
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
aliyun vpc create-nat-gateway --profile adbpg
--biz-region-id <RegionId> --vpc-id <VpcId> --vswitch-id <VSwitchId>
--nat-type Enhanced
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

Record: NatGatewayId and SnatTableIds.SnatTableId[0]

记录:NatGatewayId和SnatTableIds.SnatTableId[0]

Poll until Status=Available

轮询直到Status=Available

1.1c: Find or allocate EIP (requires user confirmation)

1.1c: 查找或分配EIP(需用户确认)

💰 Cost note: EIP incurs charges; release via VPC console when no longer needed

💰 成本说明:EIP会产生费用;不再使用时可通过VPC控制台释放

aliyun vpc describe-eip-addresses --profile adbpg
--biz-region-id <RegionId>
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
aliyun vpc describe-eip-addresses --profile adbpg
--biz-region-id <RegionId>
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

If no available EIP:

若无可用EIP:

aliyun vpc allocate-eip-address --profile adbpg
--biz-region-id <RegionId>
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
aliyun vpc allocate-eip-address --profile adbpg
--biz-region-id <RegionId>
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

Record: AllocationId and EipAddress

记录:AllocationId和EipAddress

1.1d: Bindind EIP to NAT Gateway (requires user confirmation)

1.1d: 将EIP绑定到NAT网关(需用户确认)

aliyun vpc associate-eip-address --profile adbpg
--biz-region-id <RegionId>
--allocation-id <EIP-AllocationId> --instance-id <NatGatewayId>
--instance-type Nat
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
aliyun vpc associate-eip-address --profile adbpg
--biz-region-id <RegionId>
--allocation-id <EIP-AllocationId> --instance-id <NatGatewayId>
--instance-type Nat
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

1.1e: Create SNAT entry (requires user confirmation)

1.1e: 创建SNAT条目(需用户确认)

aliyun vpc create-snat-entry --profile adbpg
--biz-region-id <RegionId>
--snat-table-id <SnatTableId>
--source-cidr "<VSwitch-CidrBlock>" --snat-ip "<EipAddress>"
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
undefined
aliyun vpc create-snat-entry --profile adbpg
--biz-region-id <RegionId>
--snat-table-id <SnatTableId>
--source-cidr "<VSwitch-CidrBlock>" --snat-ip "<EipAddress>"
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
undefined

1.2 Create Supabase Project

1.2 创建Supabase项目

bash
aliyun gpdb create-supabase-project --profile adbpg \
  --biz-region-id <RegionId> --zone-id <ZoneId> \
  --project-name <ProjectName> --account-password '<AccountPassword>' \
  --security-ip-list "127.0.0.1" --vpc-id <VpcId> --vswitch-id <VSwitchId> \
  --project-spec 2C4G --storage-size 20 --pay-type Postpaid \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
Record:
ProjectId
(sbp-xxx),
PublicConnectUrl
, API Keys (store securely; do NOT print full API Keys in logs)
Timeout: Supabase project creation takes 5-10 minutes. Poll status until
running
:
bash
aliyun gpdb get-supabase-project --profile adbpg \
  --biz-region-id <RegionId> --project-id <ProjectId> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
Check
Status
field. Retry every 30 seconds until
Status=running
.
bash
aliyun gpdb create-supabase-project --profile adbpg \
  --biz-region-id <RegionId> --zone-id <ZoneId> \
  --project-name <ProjectName> --account-password '<AccountPassword>' \
  --security-ip-list "127.0.0.1" --vpc-id <VpcId> --vswitch-id <VSwitchId> \
  --project-spec 2C4G --storage-size 20 --pay-type Postpaid \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
记录
ProjectId
(sbp-xxx)、
PublicConnectUrl
、API密钥(安全存储;请勿在日志中打印完整API密钥)
超时说明:Supabase项目创建需要5-10分钟。轮询状态直到
running
bash
aliyun gpdb get-supabase-project --profile adbpg \
  --biz-region-id <RegionId> --project-id <ProjectId> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
检查
Status
字段。每30秒重试一次,直到
Status=running

Step 2: Initialize Coaching Platform Database

步骤2:初始化辅导平台数据库

Note: Steps 2-3 execute on Supabase Project, Steps 4-8 on ADBPG Instance. They are independent.
Modify whitelist, then connect via psql and execute schema from references/database-schema.md.
bash
undefined
注意:步骤2-3在Supabase项目上执行,步骤4-8在ADBPG实例上执行。两者相互独立。
修改白名单,然后通过psql连接并执行references/database-schema.md中的表结构。
bash
undefined

Ask user for whitelist IP (do NOT use curl to external services)

向用户索要白名单IP(请勿调用外部curl服务)

Example: "Please provide the IP address to add to the whitelist"

示例:"请提供要添加到白名单的IP地址"

Set whitelist

设置白名单

aliyun gpdb modify-supabase-project-security-ips --profile adbpg
--biz-region-id <RegionId> --project-id <ProjectId>
--security-ip-list "<WhitelistIP>"
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
undefined
aliyun gpdb modify-supabase-project-security-ips --profile adbpg
--biz-region-id <RegionId> --project-id <ProjectId>
--security-ip-list "<WhitelistIP>"
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
undefined

Step 3: Insert Preset Coaching Domains

步骤3:插入预设辅导领域

Execute SQL from references/database-schema.md via psql to insert coaching domains and coaching personas.
通过psql执行references/database-schema.md中的SQL,插入辅导领域和辅导角色。

Step 4: Discover / Select / Create ADBPG Instance

步骤4:发现/选择/创建ADBPG实例

4.1 Discover Existing Instances

4.1 发现现有实例

bash
aliyun gpdb describe-db-instances --profile adbpg \
  --biz-region-id <RegionId> --page-size 100 \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
Filter results:
DBInstanceStatus=Running
AND
VectorConfigurationStatus=enabled
.
bash
aliyun gpdb describe-db-instances --profile adbpg \
  --biz-region-id <RegionId> --page-size 100 \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
筛选结果:
DBInstanceStatus=Running
VectorConfigurationStatus=enabled

4.2 User Selects Instance

4.2 用户选择实例

Present qualifying instances to user:
Available Instances (Running + Vector Enabled):
#Instance IDSpecRegionStatusDescription
1
gp-xxxxx
4C32Gcn-hangzhouRunningProduction
2
gp-yyyyy
8C64Gcn-hangzhouRunningTesting
Select an instance, or enter "Create New".
  • User selects existing → Go to Step 4.3
  • User selects "Create New" → Go to Step 4.4
  • No qualifying instances → Inform user, go to Step 4.4
向用户展示符合条件的实例:
可用实例(运行中 + 向量功能已启用)
#实例ID规格地域状态描述
1
gp-xxxxx
4C32Gcn-hangzhou运行中生产环境
2
gp-yyyyy
8C64Gcn-hangzhou运行中测试环境
选择一个实例,或输入“创建新实例”。
  • 用户选择现有实例 → 进入步骤4.3
  • 用户选择“创建新实例” → 进入步骤4.4
  • 无符合条件的实例 → 告知用户,进入步骤4.4

4.3 Verify Selected Instance (when using existing)

4.3 验证所选实例(使用现有实例时)

bash
aliyun gpdb describe-db-instance-attribute --profile adbpg \
  --db-instance-id <DBInstanceId> --region <RegionId> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
Confirm:
DBInstanceStatus=Running
+
VectorConfigurationStatus=enabled
. Then proceed to Step 5.
bash
aliyun gpdb describe-db-instance-attribute --profile adbpg \
  --db-instance-id <DBInstanceId> --region <RegionId> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
确认:
DBInstanceStatus=Running
+
VectorConfigurationStatus=enabled
。然后进入步骤5。

4.4 Create New Instance (when no existing or user chooses new)

4.4 创建新实例(无现有实例或用户选择创建新实例时)

Must present configuration and get user confirmation before execution:
💰 Cost note: Creating an instance incurs charges. Release or pause via ADBPG Console when not in use.
ConfigDefaultNotes
RegionId
cn-hangzhou
User-specified
ZoneId
cn-hangzhou-j
Auto-query VPC/VSwitch after selection
EngineVersion
7.0
DBInstanceMode
StorageElastic
Storage elastic mode
DBInstanceCategory
Basic
Default Basic; optional HighAvailability
InstanceSpec
4C16G
Basic: 4C16G/8C32G/16C64G; HA: 4C32G/8C64G/16C128G
SegNodeNum
2
Basic default 2 (multiples of 2); HA default 4 (multiples of 4)
StorageSize
50
GB
Range: 50–8000 GB
SegStorageType
cloud_essd
ESSD cloud disk
VPC/VSwitchAuto-discoverSelect VSwitch with most available IPs
VectorConfigurationStatus
enabled
Must be enabled for AI coaching
PayType
Postpaid
Pay-as-you-go; optional Prepaid
Query VSwitch list for the zone:
bash
aliyun vpc describe-vswitches --profile adbpg \
  --biz-region-id <RegionId> --zone-id <ZoneId> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
Present VSwitch options to user, recommend the one with most available IPs.
After user confirms:
bash
aliyun gpdb create-db-instance --profile adbpg \
  --biz-region-id <RegionId> --zone-id <ZoneId> \
  --engine gpdb --engine-version "7.0" \
  --db-instance-mode StorageElastic --db-instance-category Basic \
  --instance-spec 4C16G --seg-node-num 2 \
  --storage-size 50 --seg-storage-type cloud_essd \
  --vpc-id <VpcId> --vswitch-id <VSwitchId> \
  --vector-configuration-status enabled --pay-type Postpaid \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
Timeout: Instance creation takes 10–15 minutes (max 30 min). Poll every 30–60 seconds:
bash
aliyun gpdb describe-db-instance-attribute --profile adbpg \
  --db-instance-id <DBInstanceId> --region <RegionId> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
Wait until
DBInstanceStatus=Running
.
执行前必须展示配置并获取用户确认
💰 成本说明:创建实例会产生费用。不再使用时可通过ADBPG控制台释放或暂停。
配置项默认值说明
RegionId
cn-hangzhou
用户指定
ZoneId
cn-hangzhou-j
选择地域后自动查询VPC/VSwitch
EngineVersion
7.0
DBInstanceMode
StorageElastic
存储弹性模式
DBInstanceCategory
Basic
默认基础版;可选高可用版
InstanceSpec
4C16G
基础版:4C16G/8C32G/16C64G;高可用版:4C32G/8C64G/16C128G
SegNodeNum
2
基础版默认2(2的倍数);高可用版默认4(4的倍数)
StorageSize
50
GB
范围:50–8000 GB
SegStorageType
cloud_essd
ESSD云盘
VPC/VSwitch自动发现选择可用IP最多的VSwitch
VectorConfigurationStatus
enabled
AI辅导必须启用此功能
PayType
Postpaid
按量付费;可选包年包月
查询可用区的VSwitch列表
bash
aliyun vpc describe-vswitches --profile adbpg \
  --biz-region-id <RegionId> --zone-id <ZoneId> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
向用户展示VSwitch选项,推荐可用IP最多的一个。
用户确认后执行:
bash
aliyun gpdb create-db-instance --profile adbpg \
  --biz-region-id <RegionId> --zone-id <ZoneId> \
  --engine gpdb --engine-version "7.0" \
  --db-instance-mode StorageElastic --db-instance-category Basic \
  --instance-spec 4C16G --seg-node-num 2 \
  --storage-size 50 --seg-storage-type cloud_essd \
  --vpc-id <VpcId> --vswitch-id <VSwitchId> \
  --vector-configuration-status enabled --pay-type Postpaid \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
超时说明:实例创建需要10–15分钟(最多30分钟)。每30–60秒轮询一次:
bash
aliyun gpdb describe-db-instance-attribute --profile adbpg \
  --db-instance-id <DBInstanceId> --region <RegionId> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
等待直到
DBInstanceStatus=Running

Step 5: Configure Database Account

步骤5:配置数据库账号

Check if the ADBPG instance already has a database account:
bash
aliyun gpdb describe-accounts --profile adbpg \
  --db-instance-id <DBInstanceId> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
Case A: No existing account → Create a new account:
Suggest account creation, confirm with user before executing:
  • Account name: auto-generate
    ai_coaching_XX
    (XX = random 2-digit number), or user-specified
  • Password: auto-generate a compliant password (8-32 chars, at least 3 character types, avoid
    !
    ), or user-specified
  • Example:
    Account: ai_coaching_01, Password: Coach3Acc#2x9K
    — Please confirm or provide your own.
⚠️ Important:
  • Account name cannot be changed after creation — confirm carefully!
  • Password can be reset via console, but save it securely now.
  • This account will be used as
    ManagerAccount
    in Step 6.
bash
aliyun gpdb create-account --profile adbpg \
  --db-instance-id <DBInstanceId> --region <RegionId> \
  --account-name <ManagerAccount> --account-password '<ManagerAccountPassword>' \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
Case B: Account already exists → Inform the user. If the account was not created by the agent, ask the user for the existing account password before proceeding to Step 6.
Record:
ManagerAccount
and
ManagerAccountPassword
— these will be used in Step 6 for knowledge base initialization.
检查ADBPG实例是否已有数据库账号:
bash
aliyun gpdb describe-accounts --profile adbpg \
  --db-instance-id <DBInstanceId> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
情况A:无现有账号 → 创建新账号:
建议创建账号,执行前需用户确认
  • 账号名称:自动生成
    ai_coaching_XX
    (XX为随机两位数),或用户指定
  • 密码:自动生成符合规则的密码(8-32字符,至少包含3种字符类型,避免使用
    !
    ),或用户指定
  • 示例:
    账号: ai_coaching_01, 密码: Coach3Acc#2x9K
    —— 请确认或提供自定义信息。
⚠️ 重要提示
  • 账号名称创建后无法修改 —— 请仔细确认!
  • 密码可通过控制台重置,但请现在安全保存。
  • 此账号将在步骤6中用作
    ManagerAccount
bash
aliyun gpdb create-account --profile adbpg \
  --db-instance-id <DBInstanceId> --region <RegionId> \
  --account-name <ManagerAccount> --account-password '<ManagerAccountPassword>' \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
情况B:已有账号 → 告知用户。若账号不是由Agent创建的,在进入步骤6前请用户提供现有账号的密码
记录
ManagerAccount
ManagerAccountPassword
—— 这些将在步骤6中用于知识库初始化。

Step 6: Create Knowledge Base

步骤6:创建知识库

Parameters to confirm for this step: Auto-generate the following, present to user for confirmation (user may modify), then execute.
ParameterDefaultNotes
Namespace
ns_coaching
Namespace name, cannot be changed after creation
NamespacePassword
Auto-generateNamespace password (same password rules); needed for uploads and coaching sessions
Collection
coaching_knowledge
Knowledge base name
EmbeddingModel
text-embedding-v4
Embedding model
Using the
ManagerAccount
and
ManagerAccountPassword
from Step 5, after user confirms the above parameters, execute:
bash
undefined
本步骤需确认的参数:自动生成以下参数,展示给用户确认(用户可修改),然后执行。
参数默认值说明
Namespace
ns_coaching
命名空间名称,创建后无法修改
NamespacePassword
自动生成命名空间密码(遵循相同密码规则);用于文档上传和辅导会话
Collection
coaching_knowledge
知识库名称
EmbeddingModel
text-embedding-v4
嵌入模型
使用步骤5中的
ManagerAccount
ManagerAccountPassword
,用户确认上述参数后执行:
bash
undefined

Initialize vector database

初始化向量数据库

aliyun gpdb init-vector-database --profile adbpg
--biz-region-id <RegionId> --db-instance-id <DBInstanceId>
--manager-account <ManagerAccount> --manager-account-password '<ManagerAccountPassword>'
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
aliyun gpdb init-vector-database --profile adbpg
--biz-region-id <RegionId> --db-instance-id <DBInstanceId>
--manager-account <ManagerAccount> --manager-account-password '<ManagerAccountPassword>'
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

Create namespace

创建命名空间

aliyun gpdb create-namespace --profile adbpg
--biz-region-id <RegionId> --db-instance-id <DBInstanceId>
--manager-account <ManagerAccount> --manager-account-password '<ManagerAccountPassword>'
--namespace <Namespace> --namespace-password '<NamespacePassword>'
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
aliyun gpdb create-namespace --profile adbpg
--biz-region-id <RegionId> --db-instance-id <DBInstanceId>
--manager-account <ManagerAccount> --manager-account-password '<ManagerAccountPassword>'
--namespace <Namespace> --namespace-password '<NamespacePassword>'
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

Create document collection

创建文档集合

aliyun gpdb create-document-collection --profile adbpg
--biz-region-id <RegionId> --db-instance-id <DBInstanceId>
--manager-account <ManagerAccount> --manager-account-password '<ManagerAccountPassword>'
--namespace <Namespace> --collection <Collection>
--embedding-model <EmbeddingModel> --dimension 1024
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
undefined
aliyun gpdb create-document-collection --profile adbpg
--biz-region-id <RegionId> --db-instance-id <DBInstanceId>
--manager-account <ManagerAccount> --manager-account-password '<ManagerAccountPassword>'
--namespace <Namespace> --collection <Collection>
--embedding-model <EmbeddingModel> --dimension 1024
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
undefined

Step 7 (Optional): Upload Domain Knowledge Documents

步骤7(可选):上传领域知识文档

If the user has domain knowledge documents (PDF/TXT/Markdown, etc.), upload them to the knowledge base to enhance coaching quality. This step can be skipped — proceed directly to Step 8 to start coaching.
bash
aliyun gpdb upload-document-async --profile adbpg \
  --biz-region-id <RegionId> --db-instance-id <DBInstanceId> \
  --namespace <Namespace> --namespace-password '<NamespacePassword>' \
  --collection <Collection> --file-name "domain_knowledge.pdf" \
  --file-url "https://example.com/knowledge.pdf" \
  --document-loader-name ADBPGLoader --chunk-size 500 --chunk-overlap 50 \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
Recommended documents by scenario: Sales methodologies, process guides (Workflow); Architecture patterns, design docs (Decision Support); Communication frameworks, best practices (Skill Development); Tech stack docs, onboarding guides (Onboarding).
若用户有领域知识文档(PDF/TXT/Markdown等),可上传至知识库以提升辅导质量。本步骤可跳过 —— 直接进入步骤8开始辅导。
bash
aliyun gpdb upload-document-async --profile adbpg \
  --biz-region-id <RegionId> --db-instance-id <DBInstanceId> \
  --namespace <Namespace> --namespace-password '<NamespacePassword>' \
  --collection <Collection> --file-name "domain_knowledge.pdf" \
  --file-url "https://example.com/knowledge.pdf" \
  --document-loader-name ADBPGLoader --chunk-size 500 --chunk-overlap 50 \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice
按场景推荐文档:销售方法论、流程指南(工作流辅导);架构模式、设计文档(决策支持);沟通框架、最佳实践(技能提升);技术栈文档、入职指南(入职培训)。

Step 8: Start Coaching Session

步骤8:开始辅导会话

Optional parameters for this step:
ParameterDefaultNotes
Model
qwen-max
LLM model; use
qwen-turbo
for daily practice (lower cost)
TopK
5
RAG retrieval count
Note:
SourceCollection
element MUST include
Namespace
field
.
bash
aliyun gpdb chat-with-knowledge-base --profile adbpg \
  --biz-region-id <RegionId> --db-instance-id <DBInstanceId> \
  --model-params '{"Model": "<Model>", "Messages": [
    {"Role": "system", "Content": "<system_prompt from coaching_personas>"},
    {"Role": "user", "Content": "<learner message>"}
  ]}' \
  --knowledge-params '{"SourceCollection": [{
    "Collection": "<Collection>", "Namespace": "<Namespace>",
    "NamespacePassword": "<NamespacePassword>", "QueryParams": {"TopK": <TopK>}
  }]}' \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

本步骤可选参数
参数默认值说明
Model
qwen-max
LLM模型;日常练习使用
qwen-turbo
(成本更低)
TopK
5
RAG检索数量
注意:
SourceCollection
元素必须包含
Namespace
字段
bash
aliyun gpdb chat-with-knowledge-base --profile adbpg \
  --biz-region-id <RegionId> --db-instance-id <DBInstanceId> \
  --model-params '{"Model": "<Model>", "Messages": [
    {"Role": "system", "Content": "<来自coaching_personas的system_prompt>"},
    {"Role": "user", "Content": "<学习者消息>"}
  ]}' \
  --knowledge-params '{"SourceCollection": [{
    "Collection": "<Collection>", "Namespace": "<Namespace>",
    "NamespacePassword": "<NamespacePassword>", "QueryParams": {"TopK": <TopK>}
  }]}' \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-ai-coaching-best-practice

Scenario Quick Reference

场景快速参考

ScenarioFlow
Workflow CoachingQuery
sales_workflow_coach
→ Inject coaching persona + process KB → Guide learner through sales stages → Record session
Decision SupportQuery
architecture_advisor
→ Inject coaching persona + tech KB → Guide trade-off analysis → Document decision
Skill DevelopmentQuery
communication_coach
→ Inject coaching persona + best practices KB → Practice scenarios → Provide feedback
OnboardingQuery
onboarding_mentor
→ Inject coaching persona + tech docs KB → Progressive learning → Verify understanding

场景流程
工作流辅导查询
sales_workflow_coach
→ 注入辅导角色 + 流程知识库 → 引导学习者完成销售阶段 → 记录会话
决策支持查询
architecture_advisor
→ 注入辅导角色 + 技术知识库 → 引导权衡分析 → 记录决策
技能提升查询
communication_coach
→ 注入辅导角色 + 最佳实践知识库 → 练习场景 → 提供反馈
入职培训查询
onboarding_mentor
→ 注入辅导角色 + 技术文档知识库 → 渐进式学习 → 验证理解

Success Verification

成功验证

See references/verification-method.md for detailed verification steps.
Quick verification:
  1. Supabase project exists and is
    Running
  2. ADBPG instance has
    VectorConfigurationStatus=enabled
  3. Database tables exist (coaching_domains, coaching_personas, learners, coaching_sessions)
  4. Preset coaching domains are queryable
  5. ChatWithKnowledgeBase
    returns meaningful coaching responses

详细验证步骤请查看references/verification-method.md
快速验证
  1. Supabase项目存在且处于
    Running
    状态
  2. ADBPG实例的
    VectorConfigurationStatus=enabled
  3. 数据库表存在(coaching_domains、coaching_personas、learners、coaching_sessions)
  4. 可查询到预设辅导领域
  5. ChatWithKnowledgeBase
    返回有意义的辅导响应

Best Practices

最佳实践

  1. Supabase for data, KB for AI — Session records through Supabase, coaching dialogue through RAG
  2. Coaching persona is key — Quality of
    system_prompt
    determines coaching effectiveness
  3. Always store session records — Write every coaching round for review and improvement
  4. All operations use
    --profile adbpg
    — Consistent credential management
  5. Team isolation with namespaces — Different teams use different
    Namespace
  6. TopK recommendation: 5 — Reduces token consumption
  7. Daily practice: qwen-turbo (low cost), assessments: qwen-max (high quality)
  8. Idempotent write operations — Before any resource creation (CreateSupabaseProject, CreateDBInstance, CreateAccount, CreateNamespace, etc.), always query first (Describe/List) to check if the resource already exists. Only create when the resource does not exist. This prevents duplicate resources on retry

  1. Supabase存数据,知识库做AI —— 通过Supabase记录会话,通过RAG实现辅导对话
  2. 辅导角色是关键 ——
    system_prompt
    的质量决定辅导效果
  3. 始终存储会话记录 —— 记录每一轮辅导内容,用于复盘和改进
  4. 所有操作使用
    --profile adbpg
    —— 统一凭证管理
  5. 用命名空间实现团队隔离 —— 不同团队使用不同的
    Namespace
  6. TopK推荐值:5 —— 减少Token消耗
  7. 日常练习使用qwen-turbo(低成本),评估使用qwen-max(高质量)
  8. 写操作要幂等 —— 在创建任何资源(CreateSupabaseProject、CreateDBInstance、CreateAccount、CreateNamespace等)之前,务必先查询(Describe/List)检查资源是否已存在。仅当资源不存在时才创建。这可避免重试时创建重复资源

References

参考文档

DocumentDescription
references/cli-installation-guide.mdAliyun CLI installation
references/related-apis.mdAll CLI commands and APIs used
references/ram-policies.mdRequired RAM permissions
references/database-schema.mdSQL schema and preset coaching domains
references/acceptance-criteria.mdCorrect/incorrect patterns
references/verification-method.mdSuccess verification steps
文档描述
references/cli-installation-guide.mdAliyun CLI安装指南
references/related-apis.md使用的所有CLI命令和API
references/ram-policies.md所需RAM权限
references/database-schema.mdSQL表结构和预设辅导领域
references/acceptance-criteria.md正确/错误模式示例
references/verification-method.md成功验证步骤