文章目录
提示词的作用
一句话,给AI下达清晰、严格、可执行的命令,让AI稳定、准确、听话地干活,而不是胡编乱造、跑偏、答非所问。
1、让AI真正"听懂"你的需求
AI没有脑子,只看文字。
提示词写得清楚,它就理解准确;
写得模糊,它就瞎猜。
作用: 减少误解,提高一次成功率。
2、控制输出格式(JSON、表格、列表、代码)
不加提示词:AI喜欢自由发挥,段落乱、格式乱。
加提示词:
-必须输出JSON
-必须分3点
-必须用表格
-只给代码,不解释
作用: 输出结果能直接被程序使用,不用人工整理。
3、禁止AI胡说八道(减少幻觉)
不加提示词:不知道也编,错了也敢说。
加提示词:
-不知道就说不知道
-只根据资料回答
-禁止编造数据
作用: 大幅降低幻觉,提升可靠性。
4、统一风格、语气、专业度
你可以让AI:
-像客服
-像律师
-像老师
-像程序员
-正式/口语/简洁/幽默
作用: 输出风格高度可控,适合业务场景。
5、让复杂任务一步步做对(推理变强)
比如数学、逻辑、代码、分析。
提示词加上:
-先思考
-再分步
-最后给答案
AI准确率会明显提升。
作用:让AI更聪明,而不是凭感觉回答。
6、让RAG系统真正可用(你现在正在做的)
在知识库检索里,提示词工程决定:
-要不要引用资料
-能不能拒绝回答
-会不会泄露无关信息
-回答是否专业合规
作用: RAG好不好用,80%看提示词。
提示词示例
以招聘为例,我有一份简历内容,也知道职位要求。
目的:优化简历内容。
1、简历内容
5年经验后端开发,负责订单系统,修过bug,参与双11。
2、职位要求
资深架构师,要求高并发、JVM调优、分布式事务经验。
项目准备:
1、准备好openAi的地址和token。
主流的都支持,例如千问api,这里我用的是魔搭社区的token,需要绑定阿里云账号。
2、环境变量配置MODELSCOPE_API_KEY,值为实际token值,并重启pycharm(否则环境变量无效)。
代码:
python
import os
import json
from openai import OpenAI
# ================= 配置区域 =================
# 1. 填入你的魔搭 Access Token
API_KEY = os.getenv("MODELSCOPE_API_KEY", "YOUR_MODELSCOPE_TOKEN_HERE")
print(f"🔍 代码读取到的API_KEY:{API_KEY}")
# 2. 魔搭推理 API 地址
BASE_URL = "https://api-inference.modelscope.cn/v1"
# 3. 可用的完整模型 ID 列表 (必须是 组织/模型名 格式)
# 优先级: Qwen2.5-72B (最强) -> Qwen2.5-32B (较快) -> DeepSeek-V3 (备选)
AVAILABLE_MODELS = [
"Qwen/Qwen3.5-35B-A3B"
]
# ===========================================
def get_client():
if API_KEY == "YOUR_MODELSCOPE_TOKEN_HERE":
print("❌ 错误:请先填入有效的 MODELSCOPE_API_KEY")
return None
return OpenAI(api_key=API_KEY, base_url=BASE_URL)
def build_prompt(resume, jd):
system_role = "你是一位资深简历优化专家。请根据用户提供的简历和职位描述,输出优化的工作经历和建议。"
prompt_content = f"""
# 任务
分析以下简历与职位的匹配度,并重写工作经历。
# 原始简历
{resume}
# 目标职位 (JD)
{jd}
# 要求
1. 使用 STAR 法则重写经历,量化成果。
2. 指出缺失的关键技能。
3. **严格只输出一个 JSON 对象**,不要包含任何解释性文字或 Markdown 标记。
# JSON 格式
{{
"score": 0-100,
"analysis": "简短分析",
"missing_skills": ["技能1", "技能2"],
"optimized_text": "重写后的经历段落",
"tips": ["面试建议1"]
}}
"""
return [{"role": "user", "content": prompt_content}]
def main():
client = get_client()
if not client:
return
# 测试数据
resume = "5年经验后端开发,负责订单系统,修过bug,参与双11。"
jd = "资深架构师,要求高并发、JVM调优、分布式事务经验。"
messages = build_prompt(resume, jd)
success = False
for model_id in AVAILABLE_MODELS:
print(f"🚀 正在尝试调用: {model_id} ...")
try:
response = client.chat.completions.create(
model=model_id,
messages=messages,
temperature=0.7,
timeout=60 # 大模型可能需要更长时间
)
content = response.choices[0].message.content
print(f"✅ 调用成功!模型: {model_id}")
# 清理可能的 Markdown
if content.startswith("```"):
content = content.split("```")[1]
if content.startswith("json"):
content = content[4:]
content = content.strip().rstrip("```").strip()
result = json.loads(content)
print("\n" + "=" * 30)
print("📊 优化结果")
print("=" * 30)
print(f"评分: {result.get('score')}")
print(f"分析: {result.get('analysis')}")
print(f"缺失技能: {result.get('missing_skills')}")
print(f"优化后:\n{result.get('optimized_text')}")
print("=" * 30)
success = True
break
except Exception as e:
err_str = str(e)
print(f"⚠️ 失败: {err_str}")
# 关键判断逻辑
if "Invalid model id" in err_str:
print(" -> 该模型ID在当前账户下不可用或未部署。")
elif "no provider supported" in err_str:
print(" -> 该模型暂无可用推理实例(可能正在维护或需付费)。")
elif "quota" in err_str.lower() or "balance" in err_str.lower():
print(" -> 额度不足,请去魔搭社区领取免费额度。")
elif "bind" in err_str.lower():
print(" -> 仍未绑定阿里云账号!请去个人中心绑定。")
# 如果是第一个模型失败,继续尝试下一个;如果是网络错误等,也可以继续
continue
if not success:
print("\n❌ 所有模型尝试失败。")
print("💡 建议操作:")
print("1. 访问 https://modelscope.cn/models 搜索 'Qwen2.5-72B-Instruct'")
print("2. 点击模型页面上的 '体验' 或 'API 调用' 按钮,确认该模型对你当前账号可用。")
print("3. 复制页面上显示的准确 'Model ID' 替换代码中的列表。")
if __name__ == "__main__":
main()
输出结果:
🚀 正在尝试调用: Qwen/Qwen3.5-35B-A3B ...
✅ 调用成功!模型: Qwen/Qwen3.5-35B-A3B
==============================
📊 优化结果
==============================
评分: 45
分析: 原简历描述过于浅显,仅体现基础维护工作,缺乏架构设计、性能优化及复杂场景解决方案的细节,与资深架构师岗位的核心要求严重不匹配。
缺失技能: ['JVM 深度调优', '分布式事务一致性设计', '高并发架构演进']
优化后:
负责核心订单系统架构升级,应对双 11 高并发挑战(S)。针对系统瓶颈进行 JVM 堆内存分析与 GC 调优,消除 OOM 风险(A);设计基于 Saga 模式的分布式事务方案解决数据一致性问题(A);通过分库分表与多级缓存策略提升吞吐能力(A)。最终实现 QPS 从 5000 提升至 50000,接口响应时间降低 60%,大促期间零故障(R)。
==============================
优化后的内容很明显比原始简历丰富了许多,成功了。