诗词评价与AI改写提示词工程的核心实践一、从检索到创作的提示词范式转变在诗词检索模块中提示词工程的目标是结构化输出——要求大模型返回符合 JSON 格式的诗词信息。而在创作模块中提示词工程的目标发生了本质变化既要结构化输出评分和改写又要保证内容质量评价的专业性和改写的合理性。这种转变带来了两个技术挑战第一如何让大模型在给出评分时保持客观公正而不是随意给分第二如何让大模型在改写诗词时既保留原作意境又能真正提升艺术水准这两个问题的答案都藏在提示词的设计细节中。二、评价评分功能让 AI 学会打分2.1 评分标准的显式化设计评价功能的第一个版本我只在提示词中简单写道“请对这首诗词进行评价和打分”。测试时发现大模型的回复五花八门有时用文字描述写得不错有时给个模糊的分数区间80-90分甚至有时完全不按套路出牌写了一堆文学评论却不给具体分数。问题的根源在于没有明确的评分标准。大模型不知道应该从哪些维度评价也不知道每个维度的权重如何分配。于是我重新设计了提示词将评分标准拆解为五个维度并明确每个维度的分值评价标准 1. 韵律平仄、押韵20分 2. 意境主题、情感表达30分 3. 修辞比喻、拟人等修辞手法20分 4. 语言用词准确性、文采20分 5. 整体协调性10分这个设计的核心思路是将抽象的好诗概念量化为可操作的评价维度。韵律、意境、修辞、语言、整体协调性这五个维度基本涵盖了古典诗词鉴赏的核心要素。同时通过分值分配体现了不同维度的重要性意境占比最高30分因为它是诗词的灵魂整体协调性占比最低10分因为它更多是主观感受。2.2 JSON 格式约束的技术意义提示词中明确要求大模型按照以下 JSON 格式输出{evaluation:诗词评价包括韵律、意境、修辞等方面的分析,score:分数整数0-100}这个格式约束有两个技术层面的考虑第一便于程序解析。如果不限制格式大模型可能返回这首诗写得很好我给85分这样的自然语言提取分数需要复杂的正则表达式匹配。而强制 JSON 格式后只需简单的字符串解析就能拿到evaluation和score两个字段的值。第二引导大模型结构化思考。心理学研究表明当人类被要求按照固定格式填写时思维会更加系统化。大模型也有类似的效果——当它知道必须填充evaluation字段时会主动生成详细的评价文字当它知道必须给出一个具体的score数值时会认真权衡各个维度的得分。2.3 评价内容的质量控制在实际测试中发现即使有了明确的评分标准大模型的评价质量仍然不稳定。有时评价过于简略只说韵律工整意境深远八个字就打发了有时又过于啰嗦写了三四百字的文学评论。为了解决这个问题我在提示词中增加了两条约束要求 1. evaluation 字段应包含具体分析指出优点和不足 2. 评价要客观公正既要肯定优点也要指出改进方向这两条约束的作用是让大模型的评价更加平衡和实用。指出优点和不足避免了片面吹捧或一味批评指出改进方向则让评价具有建设性用户看完后知道下一步该如何提升。三、AI改写功能3.1 单字段输出的局限性AI改写功能的第一版实现非常简单提示词只要求大模型返回改写后的诗词内容对应代码中的aiContent字段。从技术角度看这个实现完全正确——大模型确实返回了改写后的诗词前端也能正常显示。但从用户体验角度这个设计有一个致命缺陷用户不知道AI改动了哪些地方。举个例子用户原诗是春风拂面柳依依AI改写为春风拂柳绿依依。虽然只是改动了一个字但用户可能根本没看出来。即使看出来了也不理解为什么要这样改。这种情况下用户学到的东西非常有限。3.2 双字段输出aiContent aiExplain为了解决这个问题我将提示词的输出格式改为双字段{aiContent:改写后的完整诗词保留原作意境和主题,aiExplain:对本次改写的具体说明包括改动了哪些地方、为什么这样改动、改后好在何处}这个设计的核心思想是透明化——不仅给用户看结果还要让用户理解背后的逻辑。aiExplain字段的要求非常具体改动了哪些地方明确指出字词的变化为什么这样改动解释改动的理由如优化韵律、改进修辞等改后好在何处说明改动带来的提升这种三段式的说明方式借鉴了编程教学中代码审查的思路。好的代码审查不仅要指出问题还要解释原因更要说明改进后的好处。3.3 改写要求的平衡艺术提示词中对改写提出了六条要求改写要求 1. 保持原作的主题和基本意境 2. 优化韵律和平仄如适用 3. 改进用词和修辞使表达更加生动 4. 如发现明显的语法或用词错误予以修正 5. 在保持原作精神的前提下提升诗词的艺术水准 6. aiExplain要具体说明改动点和理由这六条要求体现了一个核心原则尊重原作适度改进。第1条和第5条是最关键的约束。如果AI完全不顾原作意境按照自己的喜好重写一首那就不是改写而是重写了。反之如果AI过于保守连明显的错误都不敢改那也失去了改写的意义。这里的平衡点在于在保持原作精神的前提下提升艺术水准。换句话说AI的角色是润色者而非创作者。四、JSON 解析的技术细节4.1 从大模型响应中提取 JSON大模型返回的响应通常是一段完整的文本可能包含一些额外的说明文字。例如根据您的要求我对这首诗词进行了评价结果如下 { evaluation: 这首诗韵律工整..., score: 85 } 希望这个评价对您有帮助。为了准确提取 JSON 部分我实现了一个通用的extractJsonValue方法privateStringextractJsonValue(StringjsonString,StringfieldName){// 查找JSON开始和结束标记intstartIndexjsonString.indexOf({);intendIndexjsonString.lastIndexOf(});if(startIndex-1||endIndex-1||startIndexendIndex){thrownewRuntimeException(未找到有效的 JSON 格式);}StringjsonjsonString.substring(startIndex,endIndex1);// 后续解析逻辑...}这个方法的核心思路是定位 JSON 对象的边界第一个{和最后一个}然后从中提取指定字段的值。这样做的好处是即使大模型在 JSON 前后添加了一些额外文字也能准确解析。4.2 异常处理策略在实际运行中大模型偶尔会出现 JSON 格式不规范的情况比如缺少引号、逗号位置错误等。对于这类情况代码采用了两层防护第一层格式校验。在extractJsonValue方法中检查是否找到了合法的 JSON 边界如果没有则抛出异常。第二层全局捕获。在evaluatePoem和rewritePoem方法的外层用try-catch包裹捕获所有异常并转换为友好的错误消息返回给前端。这种设计确保了即使大模型返回的数据有问题系统也不会崩溃而是给用户一个明确的错误提示。五、总结诗词评价与AI改写功能的实现本质上是在探索如何让大模型成为专业的诗词教练。评价评分功能通过五个维度的评分标准和 JSON 格式约束让大模型的评价变得结构化和可量化。AI改写功能通过双字段输出aiContentaiExplain和六条改写要求让大模型的改写变得透明和可理解。