为什么AI有时会"不听话"?——提示词的行为引导术

你有没有遇到过这种情况:让AI帮你写个功能,它二话不说直接开干,写完之后你发现——参数校验没有、错误处理没写、边界情况全都没考虑。
或者反过来:你想让它帮忙改个小地方,它却问你十八个问题:用什么框架?什么版本?要不要兼容旧版本?要不要写测试?
这就是AI"不听话"的两种表现:该谨慎的时候鲁莽,该果断的时候犹豫。今天咱们聊聊怎么用提示词来"调教"AI的行为。
图:提示词行为引导像训练导盲犬,教它什么时候主动、什么时候询问
问题的根源:AI太"急"了
AI助手(包括Claude Code)有个特点:它们太想"表现"了。
你一说"帮我写个登录功能",它脑子里想的是"赶紧写完好表现",根本不会停下来问你:用什么框架?密码怎么加密?要不要记住登录状态?
这就像你让一个刚毕业的实习生去做项目,他听完需求就开始敲代码,也不问清楚,也不想想有什么坑。写完一看,功能是有了,但到处都是隐患。
问题不在于AI笨,而在于它"急"。提示词的作用,就是给这个"急性子"装一套工作流程——先问清楚再动手,动手之前先规划,规划完了先写测试,测试过了才写代码。
行为塑造:从"急性子"到"有耐心"
Claude Code的系统提示词中,有大量内容是在塑造AI的行为模式。这种塑造不是直接告诉它"你应该怎么做",而是教它"遇到什么情况应该怎么判断"。
这就像训练导盲犬——你不是告诉它"具体走哪几步",而是教它"遇到路口怎么判断、遇到障碍怎么处理"。
具体怎么做?
明确期望的行为:不是"你要谨慎",而是"在以下情况你应该先询问用户:涉及数据库修改、删除文件、修改配置文件…"
提供决策框架:“如果你不确定用户的意图,请用BashTool的echo输出你的理解,询问用户确认后再继续。”
设定行为边界:“不要假设用户的开发环境,如果不确定请询问。不要假设用户想用的技术栈,如果不确定请询问。”
图:提示词行为引导的决策框架
Few-shot示例的力量
告诉AI"你应该怎么做"往往不够,给它看几个例子更有效。这叫Few-shot提示。
Claude Code的提示词中包含了一些示例对话,展示期望的交互模式:
不好的行为(负面示例):
用户:帮我改一下这个函数
AI:好的,我已经改了 [直接修改代码]
期望的行为(正面示例):
用户:帮我改一下这个函数
AI:我想先理解一下你的需求。这个函数现在做什么?你想改成什么样?我可以先看看相关代码吗?
[使用FileReadTool读取代码]
[询问具体需求]
[确认修改方案]
[执行修改]
通过对比,模型学到了:不要急着动手,先理解需求。
什么时候主动、什么时候询问
一个核心问题是:AI应该在什么时候自主决定,什么时候询问用户?
Claude Code的提示词给出了明确的指导:
应该询问的情况:
- 涉及破坏性操作(删除、覆盖)
- 涉及安全配置修改
- 用户意图不明确
- 多个可行方案且不确定用户偏好
可以自主决定的情况:
- 只读操作(查看、搜索)
- 明确的、可撤销的操作
- 用户明确授权的操作
必须自主决定的情况:
- 工具调用的技术细节
- 中间步骤的实现方式
- 不需要用户确认的内部决策
这种分级让AI既有自主性,又保持对关键决策的谨慎。
避免"过度热心"
AI"过度热心"是另一个常见问题。比如用户说"看看这个文件",AI不仅读了文件,还主动改了代码、重命名了变量、加了注释——用户可能只是想看一眼。
Claude Code通过提示词来抑制这种"过度热心":
限制主动操作:“除非用户明确要求,否则不要修改文件。”
明确范围:“先完成用户明确要求的任务,再询问是否需要额外的改进。”
渐进式建议:“如果你想提供额外建议,先完成主要任务,然后询问用户’我注意到几个问题,需要我帮忙修复吗?'”
避免"该问不问"
反过来,AI有时候会"该问不问"——在用户意图不明确时直接做决定。
Claude Code的提示词通过以下方式防止:
意图澄清:“如果用户的要求有歧义,请用echo输出你的理解,询问确认。”
方案确认:“如果有多个可行方案,请简要说明并询问用户偏好。”
风险警告:“如果操作可能有风险,请警告用户并请求确认。”
A/B测试在提示词优化中的应用
Claude Code的提示词不是凭空设计的,而是通过A/B测试不断优化的。
Anthropic会测试不同的提示词变体:
变体A:“在不确定时询问用户” 变体B:“在不确定时先用echo输出你的理解,然后询问用户”
看哪个版本的用户满意度更高、任务完成率更高、错误率更低。
这种数据驱动的提示词优化,让Claude Code的行为越来越符合用户期望。
实战:调整AI的行为
如果你想在自己的AI应用中调整行为,可以试试这些技巧:
明确行为准则:不是"你要聪明一点",而是"在X情况下做Y,在A情况下做B"。
用示例说话:提供正面和反面示例,让模型学习期望的模式。
设定边界:明确什么可以做、什么必须询问、什么绝对不能做。
迭代优化:根据实际使用反馈,不断调整提示词。
用户反馈闭环:收集用户的"这做得不对"反馈,用于改进提示词。
这对使用Claude Code的启示
理解行为引导,能让你:
理解为什么AI会问你那么多问题。不是它笨,而是提示词要求它在不确定时询问。
知道如何让AI更果断。在CLAUDE.md中明确授权某些操作,减少询问。
知道如何让AI更谨慎。在CLAUDE.md中强调某些操作必须确认。
有效使用CLAUDE.md。它不是"给AI的说明书",而是"行为准则的补充"。
总结
AI"不听话"往往不是模型的问题,而是提示词的引导问题。通过明确的行为准则、Few-shot示例和A/B测试优化,Claude Code让AI从一个"急性子实习生"变成了一个"有章有法的专业助手"。
下一篇,咱们聊聊工具描述——如何让AI"看明白"每个工具的说明书。
文章写到这儿,希望对你理解提示词的行为引导有所帮助。觉得有收获的话,欢迎点赞转发。关注梦兽编程,咱们下篇见。
