揭秘Python智能体Prompt设计:5步打造高响应精准指令系统

第一章:揭秘Python智能体Prompt设计的核心理念

在构建基于大语言模型的Python智能体时,Prompt设计是决定系统行为与输出质量的关键环节。优秀的Prompt不仅能够引导模型准确理解任务意图,还能提升响应的逻辑性与可执行性。

明确角色与上下文

为智能体设定清晰的角色身份有助于增强其专业性和一致性。例如,在编写代码辅助智能体时,可通过系统级Prompt定义其为“资深Python工程师”,并限定其输出风格。

结构化指令设计

采用分步式、模块化的Prompt结构能显著提升模型理解能力。典型结构包括:
  1. 角色定义:明确智能体的身份和职责
  2. 任务描述:具体说明需要完成的操作
  3. 约束条件:规定输出格式、技术栈或安全限制
  4. 示例输入输出:提供参考样例以对齐预期

动态上下文注入

利用Python程序动态生成Prompt内容,可实现上下文感知的智能交互。以下是一个构建Prompt的代码片段:
def build_prompt(query: str, history: list) -> str:
    # 注入角色与上下文
    system_prompt = "你是一名专业的Python开发助手,专注于自动化脚本编写。"
    context = "\n".join([f"用户: {h['user']}\n助手: {h['bot']}" for h in history])
    full_prompt = f"{system_prompt}\n历史对话:\n{context}\n当前问题: {query}\n请给出简洁且可执行的回答。"
    return full_prompt

# 使用示例
history = [{"user": "如何读取CSV文件?", "bot": "使用pandas.read_csv()函数。"}]
prompt = build_prompt("如何处理缺失值?", history)
print(prompt)
该函数通过拼接系统提示、对话历史和当前查询,生成具有上下文连贯性的完整Prompt,使智能体具备记忆能力。

反馈驱动优化

实际应用中应建立反馈闭环,记录用户对输出的满意度,并据此调整Prompt模板。可通过A/B测试不同版本的Prompt,结合指标如响应准确率、执行成功率进行评估。
Prompt要素作用说明
角色定义塑造智能体行为风格
任务分解降低模型理解难度
输出约束确保结果可集成与执行

第二章:构建高响应Prompt的五步方法论

2.1 明确任务目标与智能体角色定义

在构建多智能体系统时,首要步骤是明确任务目标并清晰界定各智能体的角色职责。这不仅影响系统的整体架构设计,也直接决定协作效率与执行准确性。
任务目标的结构化分解
复杂任务需被拆解为可执行的子目标。例如,在自动化运维场景中,部署服务可分解为:环境检测、资源配置、应用启动和健康检查。
智能体角色定义示例
每个智能体应具备明确职能。以下是一个基于Go语言模拟的角色初始化代码片段:

type Agent struct {
    Role       string   // 角色名称:如"monitor"、"deployer"
    Capabilities []string // 能力集
}

func NewAgent(role string) *Agent {
    return &Agent{
        Role: role,
        Capabilities: getCapabilitiesByRole(role),
    }
}
上述代码中,Role字段标识智能体的职能类型,Capabilities则动态加载其可执行动作集合。通过角色隔离,系统可实现高内聚、低耦合的协同机制。

2.2 设计结构化上下文增强语义理解

在自然语言处理任务中,引入结构化上下文能显著提升模型对语义的深层理解能力。通过将文本中的实体、关系与外部知识图谱对齐,模型可捕获更丰富的语义关联。
结构化上下文构建流程
  • 从原始文本中提取关键实体与时间、地点等上下文要素
  • 利用命名实体识别(NER)与共指消解技术标准化实体表示
  • 映射至预定义的本体 schema,形成结构化上下文向量
代码示例:上下文向量化处理

# 将提取的上下文字段编码为结构化向量
def encode_context(entities, temporal, spatial):
    vector = {
        "entities": one_hot_encode(entities),  # 实体独热编码
        "temporal": time_embedding(temporal),  # 时间嵌入
        "spatial": geo_encode(spatial)         # 地理位置编码
    }
    return concat(vector.values())  # 拼接为统一上下文向量
该函数将非结构化信息转化为固定维度向量,便于后续与语言模型隐状态融合,增强预测时的语境感知能力。

2.3 引入思维链提升推理能力实践

在复杂任务推理中,引入思维链(Chain-of-Thought, CoT)可显著增强模型的逻辑推导能力。通过显式生成中间推理步骤,模型能更好地分解问题、识别依赖关系并减少逻辑跳跃。
思维链示例实现

# 使用提示工程构建思维链
prompt = """
问题:小明有10个苹果,他每天吃2个,送人3个。3天后还剩几个?

让我们一步步思考:
1. 每天总共消耗:2(吃)+ 3(送)= 5个苹果
2. 3天共消耗:5 × 3 = 15个苹果
3. 初始有10个,因此剩余:10 - 15 = -5
4. 苹果数量不能为负,说明第3天中途就已耗尽

答案:3天内苹果会被吃完,最终剩余0个。
"""
该代码展示了如何通过结构化提示引导模型进行分步推理。关键在于“让我们一步步思考”这一触发语,能有效激活模型内部的推理路径。
应用场景对比
场景无思维链准确率引入CoT后准确率
数学应用题38%67%
逻辑推理42%63%

2.4 利用示例引导实现少样本学习

在少样本学习中,模型需基于极少量标注样例快速适应新任务。通过提供包含输入-输出对的示范样例,可有效引导模型理解任务语义。
上下文学习(In-Context Learning)
大型语言模型可通过提示(prompt)中的示例自行推断任务逻辑,无需参数更新。例如:

# 少样本提示示例
prompt = """
输入: 今天天气真好
输出: 正面情感

输入: 我很失望这次的表现
输出: 负面情感

输入: 这部电影一般般
输出: 
"""
该提示结构引导模型识别情感分类任务。输入输出对构成上下文,模型据此推理最后一项应为“中性情感”。
关键设计原则
  • 示例应覆盖主要类别,确保代表性
  • 保持格式一致,增强模式识别能力
  • 优先选择清晰、无歧义的样本
合理构造的示例能显著提升模型在下游任务中的泛化性能。

2.5 动态优化Prompt提升响应精准度

在大模型应用中,静态Prompt难以适应多变的输入场景。通过动态优化机制,可根据上下文、用户行为和反馈实时调整Prompt结构,显著提升输出精准度。
基于上下文感知的Prompt重构
利用历史对话状态与语义意图识别,动态插入领域关键词或约束条件。例如,在客服场景中自动注入产品术语:

def build_dynamic_prompt(query, context):
    # context包含用户身份、历史交互、当前意图
    prefix = f"你是一名{context['role']}客服,使用{context['language']}回答。"
    if context.get("product"):
        prefix += f"仅限{context['product']}相关问题进行解答。"
    return prefix + query
该函数根据运行时上下文拼接提示词前缀,增强角色一致性与回答边界控制。
反馈驱动的迭代优化
  • 收集用户对响应的评分或修正数据
  • 通过A/B测试对比不同Prompt版本的效果
  • 使用强化学习微调Prompt生成策略
结合实时指标(如准确率、响应时长),构建闭环优化系统,持续提升模型表现。

第三章:关键工程技术在Prompt中的应用

3.1 温度与采样参数对输出的影响分析

在生成式模型中,温度(Temperature)和采样策略直接影响输出的多样性与确定性。较高的温度值会软化概率分布,增加低概率词被选中的机会,从而提升创造性但可能牺牲连贯性。
温度参数的作用机制
当温度 $ T \to 0 $,模型趋向于选择最高概率的 token,输出趋于稳定和重复;当 $ T \to \infty $,所有 token 的选择概率趋于均匀,导致输出随机化。
# 示例:softmax 温度调整
import numpy as np
def softmax_with_temperature(logits, temperature=1.0):
    logits = np.array(logits) / temperature
    exp_logits = np.exp(logits - np.max(logits))
    return exp_logits / np.sum(exp_logits)

# 温度为 0.5:强化高分 token
probs = softmax_with_temperature([2.0, 1.0, 0.1], temperature=0.5)
上述代码展示了温度如何缩放原始 logits,进而影响最终的概率分布。降低温度使高分项更突出。
常见采样方法对比
  • 贪婪采样:始终选择最大概率 token,结果可预测但缺乏变化
  • Top-k 采样:从概率最高的 k 个 token 中采样,平衡多样性与质量
  • Top-p(核采样):动态选择累计概率达 p 的最小 token 集合,适应不同分布

3.2 输出格式约束与JSON解析实战

在构建API通信时,输出格式的规范性至关重要。JSON作为主流数据交换格式,需严格遵循结构约束。
标准JSON响应结构
{
  "code": 200,
  "data": {
    "id": 1,
    "name": "Alice"
  },
  "message": "success"
}
该结构确保客户端可统一解析状态码(code)、数据体(data)和提示信息(message),提升接口一致性。
Go语言中JSON解析实践
type Response struct {
    Code    int         `json:"code"`
    Data    interface{} `json:"data"`
    Message string      `json:"message"`
}
使用struct tag映射JSON字段,interface{}灵活承载任意数据类型,增强通用性。
  • 必须校验JSON字段类型,避免前端解析错误
  • 建议对敏感字段进行脱敏处理

3.3 上下文长度管理与信息密度优化

在大模型推理过程中,上下文长度直接影响响应效率与成本。过长的上下文不仅增加计算负担,还可能稀释关键信息。
动态截断策略
采用滑动窗口或重要性评分机制,保留与当前任务最相关的上下文片段。例如,基于注意力权重筛选历史token:

# 根据注意力分数过滤低权重token
def truncate_context(tokens, attention_scores, max_len=2048):
    sorted_indices = sorted(range(len(attention_scores)), 
                            key=lambda i: attention_scores[i], reverse=True)
    top_indices = sorted(sorted_indices[:max_len])  # 保持原始顺序
    return [tokens[i] for i in top_indices]
该方法优先保留高注意力得分的token,确保语义完整性的同时控制输入长度。
信息密度评估指标
  • Token利用率:有效输出词元占总输入比例
  • 语义重复率:通过嵌入相似度检测冗余内容
  • 任务相关性得分:基于向量检索判断上下文关联度

第四章:典型应用场景下的Prompt设计模式

4.1 自动化客服应答系统的指令构造

在构建自动化客服应答系统时,指令构造是实现精准响应的核心环节。合理的指令结构不仅能提升语义理解准确率,还能显著降低误判率。
指令模板设计原则
  • 明确意图识别关键词
  • 支持多轮对话上下文继承
  • 具备参数槽位填充机制
典型指令结构示例
{
  "intent": "query_order_status",
  "slots": {
    "order_id": "{订单编号}",
    "customer_name": "{客户姓名}"
  },
  "response_template": "您的订单 {{order_id}} 当前状态为:{{status}}"
}
该JSON结构定义了一个订单查询意图,slots用于提取用户输入中的关键信息,response_template则指定回复模板。系统通过自然语言理解模块匹配intent,并填充slot值生成自然语言回应。
指令优先级调度表
指令类型触发条件响应延迟(ms)
紧急投诉包含“投诉”“不满”等词≤300
常规咨询匹配预设FAQ≤500

4.2 数据提取与结构化转换指令设计

在构建自动化数据流水线时,数据提取与结构化转换是核心环节。合理的指令设计能显著提升处理效率与数据质量。
提取策略与源适配
针对异构数据源(如API、数据库、日志文件),需定义统一的提取接口。例如,使用Go语言实现通用提取器:
func Extract(source DataSource) ([]byte, error) {
    // 根据源类型调用对应驱动
    return source.Fetch(), nil
}
该函数接受实现了DataSource接口的对象,封装了HTTP请求、数据库查询等底层逻辑,返回原始字节流,便于后续解析。
结构化转换规则
采用映射配置将非结构化数据转为标准JSON格式。常见字段映射方式如下:
原始字段目标字段数据类型
user_nameusernamestring
tstimestampint64
通过预定义转换规则,确保输出数据符合下游系统要求,提升集成一致性。

4.3 多轮对话状态跟踪与一致性维护

在复杂对话系统中,多轮交互的状态管理至关重要。系统需准确跟踪用户意图、槽位填充情况及上下文依赖,确保语义连贯。
对话状态的结构化表示
通常采用键值对形式维护对话状态,包含用户意图、已填槽位、会话历史等字段。例如:
{
  "session_id": "sess_123",
  "intent": "book_restaurant",
  "slots": {
    "location": "上海",
    "time": "2023-10-05 19:00",
    "people": 4
  },
  "history": [
    {"role": "user", "text": "订一家上海的餐厅"},
    {"role": "bot", "text": "请问什么时间?"}
  ]
}
该结构支持动态更新与回溯,保障上下文一致性。
状态同步与冲突处理
  • 使用时间戳或版本号机制避免并发写入冲突
  • 通过状态机约束非法转移(如未确认前不可进入支付流程)
  • 引入校验规则自动修正矛盾信息

4.4 智能代码生成中的上下文对齐策略

在智能代码生成系统中,上下文对齐是确保模型输出与开发者意图一致的关键机制。通过精准捕捉局部代码结构与全局项目语义,模型可生成语法正确且逻辑连贯的代码片段。
注意力权重优化
利用多头注意力机制动态加权相关代码上下文,提升关键变量和函数调用的识别精度。例如,在方法补全场景中:

# 基于注意力得分筛选上下文token
attention_weights = softmax(Q @ K.T / sqrt(d_k))
context_vector = attention_weights @ V
# Q: 查询向量,K: 键向量,V: 值向量,d_k: 维度缩放因子
该计算过程使模型聚焦于调用栈、导入声明等高相关性上下文,抑制噪声干扰。
上下文窗口管理策略
  • 滑动窗口:保留最近n个token,适用于短时依赖
  • 分层采样:优先保留函数定义、类声明等结构化节点
  • 语义过滤:基于AST路径选择关键上下文片段
结合语法感知缓存机制,显著提升跨文件引用的对齐准确率。

第五章:未来趋势与Prompt工程的演进方向

自动化Prompt优化工具的兴起
随着大模型应用普及,自动化Prompt优化平台开始出现。例如,基于强化学习的框架可动态调整Prompt结构以提升输出质量。以下是一个使用Python模拟Prompt评分反馈循环的代码片段:

import requests

def evaluate_prompt(prompt, test_input):
    response = requests.post("https://api.llm.example/v1/generate", json={
        "prompt": prompt,
        "input": test_input
    })
    output = response.json()["text"]
    # 基于关键词匹配计算相关性得分
    score = 1 if "数据库优化" in output else 0
    return score

# 示例:A/B测试两个Prompt版本
prompt_a = "解释SQL查询优化的方法"
prompt_b = "作为一名资深DBA,请列出三种提升SQL执行效率的技术"

score_a = evaluate_prompt(prompt_a, "")
score_b = evaluate_prompt(prompt_b, "")
print(f"Prompt A Score: {score_a}, Prompt B Score: {score_b}")
领域专用Prompt模板库建设
金融、医疗等行业正构建专属Prompt知识库。某银行在风控场景中采用标准化Prompt模板,确保模型输出符合合规要求。其核心流程包括:
  • 定义合规关键词白名单
  • 集成内部政策文档作为上下文注入源
  • 通过RAG架构实现动态知识检索
  • 部署审核层对生成内容进行敏感词过滤
多模态Prompt的融合设计
图像+文本联合提示成为新趋势。例如,在客服系统中上传故障截图并附加文字指令:“识别图中错误代码,并提供解决方案步骤”。系统需解析视觉信息并与文本语义对齐。
技术方向代表工具应用场景
自动Prompt工程LangChain, DSPy跨模型迁移优化
可解释性增强Attention可视化医疗诊断辅助

相关推荐

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

Spring Boot Learning Examples中的缓存策略:Caffeine与Ehcache实现方案

在Spring Boot开发中,高效的缓存策略是提升应用性能的关键。Spring Boot Learning Examples项目提供了全面的缓存实现方案,包括Caffeine和Ehcache两种主流缓存技术,帮助开发者快速掌握缓存配置与应用技巧。 ## 🚀 为什么选择Caffeine与Ehcache? 缓存是减少数据库访问、提升系统响应速度的重要手段。Spring Boot Learnin

gitblog_00976的博客 454

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?.docx

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?

产业园区运营负责人如何利用平台实现企业创新需求的精准分析与服务推送?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员在推动成果转化落地过程中,如何实现科技成果的高效推介与价值评估?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

科技中介服务机构如何通过数智工具提升技术需求挖掘的精准度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员如何系统化管理科技成果信息?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

科技中介服务机构如何构建标准化、模块化的智能服务工具?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

政府科技管理者如何在政策支持中更精准地识别和支持高价值科技项目?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

全桥LLC谐振变化器参数设计资料(闭环仿真+参数设计报告)

内容概要:本文档系统性地介绍了全桥LLC谐振变换器的闭环仿真建模与关键参数设计方法,涵盖其工作原理、谐振元件(如谐振电感、谐振电容、励磁电感)的计算与优化流程,并结合Simulink或Plecs等仿真平台构建闭环控制系统模型,重点验证变频控制策略下的软开关实现、系统增益特性、效率优化及动态响应性能。资料包含完整的仿真模型、参数设计报告、数学计算书及参考文献,支持从理论分析到工程实践的全流程研究,适用于高频高效DC-DC变换器的研发与教学应用。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校学生、科研人员,以及从事开关电源、新能源变换器、工业电源研发的工程技术人员,具备电路拓扑基础与仿真软件操作能力者更佳。; 使用场景及目标:①深入掌握全桥LLC谐振变换器的工作机理与谐振参数设计准则;②学习并实现闭环反馈控制系统的建模与稳定性分析;③支撑科研课题、课程设计、毕业设计或实际产品开发中的拓扑选型与性能验证需求;④通过仿真与计算联动提升对软开关技术与效率优化的理解与应用能力。; 阅读建议:建议结合所提供的仿真文件与设计文档同步操作,按照“建模—参数计算—仿真验证—性能分析”的流程逐步推进,重点关注频率调节对ZVS/ZCS实现的影响,对比不同负载条件下的闭环响应差异,深化对谐振腔特性和控制策略协同作用的理解。

PSIM-三相维也纳VIENNA整流器电压电流双闭环+中点电位平衡SVPWM控制仿真

内容概要:本文档详细介绍了一种基于PSIM软件实现的三相维也纳(VIENNA)整流器仿真模型,重点实现了电压电流双闭环控制与中点电位平衡的SVPWM调制策略。该仿真系统通过精确的控制算法有效提升了整流器的功率因数,降低了输入电流谐波含量,并解决了三电平拓扑中常见的直流侧中点电位偏移问题,具有较高的工程实用价值,适用于高效率、高功率密度的电力电子系统设计与科研验证。文档还整合了丰富的配套资源,涵盖多种电力电子变换器拓扑结构、先进控制算法及典型应用场景,形成了系统化的技术资料体系,有助于深入理解现代整流技术的核心原理与发展动态。; 适合人群:面向从事电力电子、电气工程、新能源变换系统等领域的科研人员、高校研究生以及具备一定仿真基础的工程技术人员。; 使用场景及目标:①深入研究三相VIENNA整流器的工作机理与控制特性;②掌握电压外环、电流内环双闭环控制结构的设计方法;③理解并实现SVPWM调制技术与中点电位平衡控制策略的协同作用;④开展相关控制算法的仿真验证、性能优化与实验对比,为高性能整流装置的研发提供理论支撑和技术原型。; 阅读建议:建议结合文中列出的其他仿真案例(如PWM整流器、LLC谐振变换器、DAB变换器等)进行横向对比学习,充分利用所提供的PSIM、MATLAB/Simulink等多平台仿真资源,重点关注控制逻辑与主电路的耦合关系,通过参数调试与波形分析深化对系统动态响应和稳态性能的理解,强化“理论—建模—仿真—优化”的闭环研究能力。

产业园区运营负责人如何利用数智工具提升园区企业的技术对接效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

政府科技管理者如何提升区域科技成果转化项目的评价与筛选效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

ICD10 openGauss版

ICD10 openGauss版

上一篇: 【Python智能体与数据库交互实战】:掌握高效数据操作的5大核心技巧
下一篇: Python智能体数据安全实战:5步实现高强度加密存储
FastCompile
博客等级 码龄1年 164粉丝 2015原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值