
R.G.C. 是三个英文单词的首字母缩写:
| 字母 | 英文 | 中文 | 核心问题 |
|---|---|---|---|
| R | Role | 角色 | 让 AI 扮演什么身份? |
| G | Goal | 目标 | 要完成什么任务? |
| C | Constraints | 约束 | 有哪些限制条件? |
这个框架的设计逻辑是:定身份 → 说目标 → 划边界。
相比 S.C.A.F.F.,R.G.C. 更轻量,适合快速提问和相对简单的任务。
让 AI 进入特定的"专家模式"。
为什么角色很重要:同样的问题,程序员视角和产品经理视角的回答会很不同。指定角色可以让 AI 的输出更符合你的期望。
常用角色示例:
填写技巧:角色描述可以包含专长、风格偏好、经验水平。
说清楚要完成什么任务。
填写内容:
填写技巧:用"动词 + 名词"的结构,如"实现一个函数"、"分析这段代码"、"解释这个概念"。
划定任务的边界。
填写内容:
填写技巧:约束越明确,AI "加戏"的空间越小。
你有一段能用但很乱的代码,想让 AI 帮你重构。
帮我优化这段代码:
[粘贴代码]
问题:"优化"可以有很多种理解——性能优化?可读性优化?架构优化?AI 不知道你想要哪种。
【Role - 角色】
你是一个注重代码可读性和可维护性的 Python 工程师。
【Goal - 目标】
重构下面这段代码,提高可读性:
- 让变量命名更清晰
- 把重复逻辑提取成函数
- 添加必要的注释
```python
def f(l):
r=[]
for i in l:
if i>0:
r.append(i*2)
return r
【Constraints - 约束】
def double_positive_numbers(numbers):
"""
从列表中筛选正数,并将每个正数翻倍
参数:numbers - 输入的数字列表
返回:包含翻倍后正数的新列表
"""
result = []
for number in numbers:
# 只处理正数
if number > 0:
doubled = number * 2
result.append(doubled)
return result
【Role】你是一个对编程初学者友好的导师
【Goal】用通俗的语言解释什么是"回调函数"
【Constraints】
- 不要用其他技术术语
- 举一个生活中的类比
- 控制在 200 字以内
【Role】你是一个熟悉电商业务的数据工程师
【Goal】生成 10 条模拟的订单数据
【Constraints】
- 格式:JSON 数组
- 每条包含:订单ID、用户名、商品名、金额、下单时间
- 金额范围:50-500 元
- 时间范围:2024 年 1 月
【Role】你是一个严格但友善的代码审查员
【Goal】审查这段代码,指出潜在问题:
[粘贴代码]
【Constraints】
- 只关注安全性和性能问题
- 不评价代码风格
- 每个问题给出修复建议
- 问题数量不超过 5 个
假设任务是:为待办清单添加"完成任务"功能。
【Role】你是一个 React 开发者
【Goal】实现点击任务时将其标记为已完成的功能
【Constraints】
- 用 TypeScript
- 完成的任务显示删除线
- 用 Tailwind CSS
【Situation】
待办清单项目,React + TS + Tailwind,已有 AddTask 和 TaskList 组件
【Challenge】
实现"完成任务"功能:
- 点击任务文本,切换完成/未完成状态
- 完成的任务显示删除线和浅灰色
- 可以重复点击切换状态
【Audience】
我是 React 初学者,请解释状态管理的逻辑
【Format】
更新 TaskList 组件代码,添加必要注释
【Foundations】
- 用 useState 管理状态
- 不用任何动画库
- 样式变化要有 0.2s 过渡效果
| 场景 | 推荐框架 |
|---|---|
| 对项目背景熟悉,任务简单明确 | R.G.C. |
| 新项目或复杂任务,需要详细说明背景 | S.C.A.F.F. |
| 快速提问,只是想验证一个想法 | R.G.C. |
| 正式开发,代码要进入项目 | S.C.A.F.F. |
| AI 输出不理想,需要增加约束 | 从 R.G.C. 升级到 S.C.A.F.F. |
当你用 R.G.C. 提问后,发现 AI 的输出不符合预期,这通常是信息不足的信号。
常见信号:
| 问题表现 | 可能缺少的信息 | 升级方向 |
|---|---|---|
| 技术栈不对 | 项目背景 | 添加 Situation |
| 功能太简单/太复杂 | 具体需求 | 补充 Challenge |
| 代码风格不匹配 | 维护者信息 | 添加 Audience |
| 输出格式混乱 | 格式要求 | 添加 Format |
升级示例:
# 原来的 R.G.C.
【Role】React 开发者
【Goal】实现表单验证
【Constraints】不用第三方库
# AI 输出了一个过于复杂的验证方案
# 升级为 S.C.A.F.F.
【Situation】个人博客项目,只有一个简单的登录表单
【Challenge】验证邮箱格式和密码非空,错误时显示提示
【Audience】我是初学者,请用最简单的方式实现
【Format】完整组件代码 + 中文注释
【Foundations】只用 useState,不用 useReducer 或其他复杂模式
【Role - 角色】
你是一个 [专长/风格描述] 的 [职业身份]
【Goal - 目标】
[动词] [具体任务描述]
【Constraints - 约束】
- [限制条件1]
- [限制条件2]
- [限制条件3]
✓ R.G.C. 三要素:Role(角色)→ Goal(目标)→ Constraints(约束)
✓ 适用场景:快速提问、简单任务、对项目已有清晰认知
✓ 与 S.C.A.F.F. 的关系:R.G.C. 是精简版,输出不理想时可升级
✓ 升级信号:当 AI 输出不符合预期,检查是否缺少背景、需求、受众或格式信息
下一节,我们介绍一个"万能模板"——当你不确定用哪个框架时的保底选择。