声明:本篇博客是以吴恩达的【Agent智能体】教程为基础,并对其中的内容做了笔记整理以及个人收获的总结。
与其只让LLM反思代码,但事实证明,外部反馈(来自LLM之外的新信息)的效果远远超过仅依赖语言模型自身反馈的反思,因为这相当于给了AI具体的错误,AI可以这个具体的错误为依据解决问题,而不是盲目自己寻找。
提示词工程的投资回报率(Return on investment on prompt engineering)
- 红线:No reflection(无反思)单纯地花费时间去反复修改和测试基础提示词(盲目试错),模型性能在初期会快速提升,但很快就会遇到明显的瓶颈(曲线变得平缓)。
- 蓝线:With reflection(加入自我反思)在提示词设计中引入了“反思机制”(例如:让大模型先输出一个草稿,然后提示它自己检查其中的逻辑漏洞或错误并进行修正),模型就能突破刚才的瓶颈。这种策略能让模型达到一个明显更高的性能水平。
- 黄线:Reflection with external feedback(结合外部反馈的反思)表现最好的一种策略。不仅让模型进行自我反思,还引入了外部反馈(例如:人类的直接打分评价、代码解释器的报错信息、或者是外部知识库的检索结果验证)。将反思与客观的外部约束相结合,能把模型的性能推到更高。
这幅图展示了无反思、自我反思、外部反馈的反思三种反思的效果,我们可以发现结合外部反馈的反思效果是最好的!下面看一些案例。
一些引入“外部反馈(External feedback)”的具体案例
1. 提及竞争对手 (Mentioning competitors)
- 示例:模型在撰写营销文案时,输出了“我们公司的鞋子比 RivalCo(竞争对手)更好”。很多企业在公关和营销中严禁直接拉踩竞品。
- 外部反馈来源:Pattern matching for competitor names(针对竞争对手名称的模式匹配)。
- 解释:不需要大模型自己去猜,系统可以直接使用传统的编程手段(如正则表达式或关键词匹配)建立一个“黑名单”。一旦扫描到模型输出中包含竞品名字,就会触发报错机制,要求模型重写并规避这些词汇。
2. 事实核查 (Fact checking an essay)
- 示例:模型在文章中写道“泰姬陵建于1648年”。大模型有时会产生“幻觉”,凭空捏造或记错客观事实。
- 外部反馈来源:Web search results(网络搜索结果)。
- 解释:针对事实类陈述,系统可以自动提取关键实体,**调用搜索引擎 API(如 Google 搜索)查找权威资料。**然后将搜索到的真实信息作为反馈提供给模型,让其对照事实依据进行自我修正。
3. 无法遵守输出长度指南 (LLM won’t follow output length guidelines)
- 示例表现:要求写一篇短文,结果模型生成的文章“字数超限 (Essay is over word limit)”。大语言模型天生在精确的字数计算上表现很差。
- 外部反馈来源:Word count tool(字数统计工具)。
- 解释:不要指望模型自己能数清楚写了多少个字。系统可以调用一个极简的外部代码脚本(例如计算字符串长度),得出精确字数后反馈给模型:“你当前写了 800 字,要求是 500 字以内,请缩减”。
总结
通过这些例子,我们能更直观的看出外部反馈的作用,这也警示我们在使用ai的时候要多使用外部反馈而不是盲目的使用AI去反思纠错。
如果这篇文章对你有帮助,欢迎点赞、评论、关注、收藏。你们的支持是我前进的动力!