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]

优化原则

  1. 保持精简:AGENTS.md 会随每次请求发送,建议控制在 500-1000 字(约 200-400 tokens)。超过 2000 字会明显影响响应速度和成本
  2. 使用强调词:对关键规则添加 IMPORTANT、YOU MUST 等强调
  3. 文件引用:复杂文档通过 @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