4.1 系统提示设计
系统提示(System Prompt)定义了 AI 的身份、能力范围和行为规范。一个设计良好的系统提示,能让 AI 在整个对话过程中保持一致的角色和风格。
4.1.1 角色定义与身份设定
角色定义是系统提示的起点。通过为 AI 设定明确的专业身份,你可以:
- 激活模型中与该领域相关的知识
- 建立一致的语言风格和专业术语使用
- 设定合理的能力边界
一个完整的角色定义应包含三个要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 身份声明 | AI 扮演的专业角色 | 你是一名资深金融分析师 |
| 专业背景 | 相关经验和知识范围 | 拥有 10 年证券投资经验,熟悉 DCF 估值 |
| 性格特征 | 沟通风格和态度 | 分析客观、表达清晰、态度审慎 |
下面是一个金融分析师的角色定义示例:
你是一名资深金融分析师,拥有 10 年证券投资和企业估值经验。
专业背景:
- CFA 持证人,熟悉 DCF、相对估值等主流估值方法
- 曾任职于头部券商研究所,覆盖消费和科技行业
- 精通财务报表分析、行业研究和投资策略制定
沟通风格:
- 使用专业但易懂的语言,避免过度使用术语
- 分析问题时注重数据支撑和逻辑推导
- 对投资建议保持审慎态度,强调风险提示
提示教学提示
对于经济金融专业学生来说,角色定义就像给新员工发的「岗位说明书」——它告诉 AI「你是谁、你会什么、你该怎么做」。角色越清晰,AI 的表现越稳定。
4.1.2 任务边界与能力约束
系统提示不仅要说明 AI 能做什么,更要明确它不能做什么。既定义工作内容,也划定权限边界。
正面指令(应该做什么):
你的任务包括:
1. 解答用户关于财务报表分析的问题
2. 提供行业研究和公司分析的方法论指导
3. 解释金融术语和投资概念
4. 分析市场数据和经济指标负面指令(不应该做什么):
你不应该:
1. 提供具体的股票买卖建议或价格预测
2. 承诺任何投资回报率
3. 讨论内幕消息或未经证实的市场传言
4. 对用户的个人财务状况做具体判断
警告金融合规提醒
在金融场景中,任务边界设定尤为重要。AI 不具备投资顾问资质,不应提供具体的买卖建议。系统提示中必须包含这类约束,以避免合规风险。
指令优先级
当用户提示与系统提示冲突时,系统提示具有更高优先级。这个层级结构可以用下图表示:

这种层级结构确保了:即使用户试图通过巧妙的措辞绕过限制,系统提示中的安全约束依然有效。
4.1.3 行为规范与输出风格
除了角色和任务,系统提示还应规范 AI 的输出风格。这包括回答结构、语言风格和交互行为。
回答结构规范:
回答结构:
1. 先给出简洁的直接回答(1-2 句)
2. 然后提供详细解释和推理过程
3. 最后总结关键要点或给出建议
格式规范:
- 使用 Markdown 格式组织内容
- 涉及数据对比时使用表格
- 复杂流程用编号列表呈现语言风格设定:
| 风格类型 | 适用场景 | 关键特征 |
|---|---|---|
| 专业正式 | 研究报告、机构沟通 | 规范书面语、术语需解释、引用标明来源 |
| 通俗易懂 | 投资者教育、客户服务 | 大白话解释、多用比喻、语气亲切 |
| 简洁高效 | 数据查询、快速问答 | 直接回答、避免冗余、突出重点 |
4.1.4 AGENTS.md 最佳实践
在 Opencode 中,AGENTS.md 文件是存储项目级系统提示的主要方式。它的内容会在每次会话开始时自动加载。
推荐结构:
## 项目概述
[一句话描述项目目的和背景]
## 技术栈
- 主要语言/框架
- 关键依赖
## 代码规范
- 命名规则
- 文件组织
- 注释要求
## 常用命令
- 测试命令: pytest tests/
- 构建命令: npm run build
## 工作流程
1. [步骤一]
2. [步骤二]
## 重要提醒
- [关键约束1]
- [关键约束2]优化原则:
- 保持精简:AGENTS.md 会随每次请求发送,建议控制在 500-1000 字(约 200-400 tokens)。超过 2000 字会明显影响响应速度和成本
- 使用强调词:对关键规则添加 IMPORTANT、YOU MUST 等强调
- 文件引用:复杂文档通过
@docs/xxx.md引用,按需加载
一个金融项目的 AGENTS.md 示例:
## 金融数据分析项目
本项目用于处理和分析金融市场数据。
## 数据处理规范
- 所有金融数据使用 Decimal 类型,避免浮点精度问题
- 日期格式统一使用 ISO 8601
- 货币金额保留 2 位小数
## 安全要求
IMPORTANT: 不在日志中打印敏感信息(账号、密码、交易金额)
YOU MUST: API 调用必须验证权限
## 常用命令
- 运行回测: python backtest.py --start 2024-01-01
- 生成报告: python report.py --output pdf