你有没有遇到过这种情况:让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"看明白"每个工具的说明书。


文章写到这儿,希望对你理解提示词的行为引导有所帮助。觉得有收获的话,欢迎点赞转发。关注梦兽编程,咱们下篇见。