微信扫码
添加专属顾问
我要投稿
AI助手总是不懂你?这个隐藏功能让沟通效率飙升60%! 核心内容: 1. 提示标准化:将口语化输入转换为AI易理解的结构化指令 2. 上下文增强:结合项目背景提供针对性解决方案 3. 智能分类:自动识别用户意图并优化回答策略
说真的,augment在某体验上面已经强过Cursor,那就是Rewrite Prompt(重写提示)把非结构化自然语言输入转换为更适合 AI 模型理解的结构化格式。
人话:把你口语化(非结构化)的文字,根据窗口上下文聊天记录和代码索引库对你的输入内容进行针对性优化。
你的原始输入:
帮我写个函数
AI收到的实际指令:
作为一个专业的软件开发助手,请基于以下用户输入提供准确的技术建议:
用户问题:帮我写个函数
请在回答时考虑:
1. 代码的可读性和维护性
2. 性能优化的可能性
3. 安全性最佳实践
4. 与现有代码库的兼容性
请提供具体的代码示例和详细的解释。
看到区别了吗?你随口一句话,AI接收到的却是一个结构化、专业化的技术需求!这就像是给AI配了个"翻译官"——把你的大白话翻译成AI最容易理解的"专业术语"。
它还能"读懂"你的项目环境。就像一个新来的同事,不仅要听懂你的需求,还要了解公司的技术栈、编码规范、项目背景...
看个实际例子:
你问:"如何处理数据库连接?"
普通AI可能会给你一堆通用的数据库连接教程。
但经过上下文增强后,AI收到的是:
基于当前 Java Spring Boot 项目上下文,请分析以下需求:如何处理数据库连接?
项目背景:
- 使用 Spring Boot 2.7+ 框架
- 集成 JPA 和 MySQL 数据库
- 遵循 RESTful API 设计规范
- 采用分层架构模式
请提供符合项目架构的解决方案...
这样AI就能给出针对你具体项目的专业建议,而不是泛泛而谈的通用方案!
这是最智能的部分——AI能自动识别你的意图类型!
是想生成代码?还是修复bug?或者是性能优化?不同的需求,AI会采用不同的"回答策略"。
分类逻辑示例:
// 智能分类机制(简化版)
if (userInput.contains("写") || userInput.contains("生成")) {
// 代码生成模式:强调完整性和规范性
return codeGenerationTemplate;
} else if (userInput.contains("错误") || userInput.contains("bug")) {
// 问题诊断模式:重点分析原因和解决方案
return bugFixingTemplate;
}
场景1 - 代码生成:
场景2 - 问题诊断:
这就像是给AI装了个"读心术"——它能根据你的话判断你真正想要什么!
重写提示词的核心代码部分,其实没啥好讲,但是我喜欢收集放在文章里面,不喜欢可以跳过~
FeatureFlagManager.promptEnhancerEnabled()
方法详解AugmentWebviewChatServiceImpl.applyClassifyAndDistillPrompt()
核心实现ChatInitializeResponseData
配置字段分析memoriesParams
和 classify_and_distill_prompt
配置机制// 文件: com/augmentcode/intellij/chat/AugmentWebviewChatServiceImpl.java
privatefinalbooleanapplyClassifyAndDistillPrompt(
ChatUserMessageRequest request,
ChatRequest chatRequest
) {
// 1. 获取特性标志管理器
FeatureFlagManagerfeatureFlagManager= FeatureFlagManager.Companion.getInstance();
// 2. 获取记忆参数配置
StringmemoriesParams= featureFlagManager.memoriesParams(true);
JsonObjectmemoriesParamsJson= (JsonObject)(newGson()).fromJson(memoriesParams, JsonObject.class);
// 3. 提取分类和提炼提示模板
JsonElementvar10000= memoriesParamsJson.get("classify_and_distill_prompt");
StringclassifyAndDistillPrompt= var10000 != null ? var10000.getAsString() : null;
// 4. 验证模板有效性
if (classifyAndDistillPrompt == null || classifyAndDistillPrompt.length() == 0) {
logger.error("Classify and distill prompt missing.");
returnfalse;
}
// 5. 应用模板到主消息
StringuserText= request.getData().getText();
chatRequest.message = StringsKt.replace$default(
classifyAndDistillPrompt,
"{message}",
userText,
false, 4, (Object)null
);
// 6. 处理节点内容(如果存在)
if (request.getData().getNodesCount() > 0) {
// 遍历所有节点,对文本节点应用重写
for (ChatRequestNode node : request.getData().getNodesList()) {
if (node.getType() == ChatRequestNodeType.TEXT.getNumber() && node.hasTextNode()) {
// 重写文本节点内容
ChatRequestTextupdatedTextNode= node.getTextNode().toBuilder()
.setContent(StringsKt.replace$default(
classifyAndDistillPrompt,
"{message}",
node.getTextNode().getContent(),
false, 4, (Object)null
))
.build();
// 更新节点
ChatRequestNodeupdatedNode= node.toBuilder()
.setTextNode(updatedTextNode)
.build();
}
}
}
returntrue;
}
// 核心处理流程
publicbooleanenhancePrompt(ChatUserMessageRequest request, ChatRequest chatRequest) {
try {
// 1. 获取优化模板
Stringtemplate= getEnhancementTemplate();
// 2. 提取用户输入
StringuserInput= request.getData().getText();
// 3. 模板替换
StringenhancedPrompt= template.replace("{message}", userInput);
// 4. 更新请求
chatRequest.message = enhancedPrompt;
returntrue;
} catch (Exception e) {
// 异常时使用原始输入,确保功能稳定性
returnfalse;
}
}
// 配置更新不阻塞主流程
@Async
public CompletableFuture<Void> updateConfigurationAsync() {
return CompletableFuture.runAsync(() -> {
// 后台更新配置,用户无感知
updateLatestConfiguration();
});
}
用户原始输入:
我的 Spring Boot 应用启动很慢,怎么优化?
系统处理过程:
promptEnhancerEnabled(true)
→ true
memoriesParams
获取优化模板最终重写结果:
基于 Spring Boot 项目的性能优化分析请求:我的 Spring Boot 应用启动很慢,怎么优化?
项目上下文:
- Spring Boot 2.7+ 框架环境
- JVM 性能调优需求
- 生产环境部署考虑
请提供系统性的优化方案:
1. 启动时间瓶颈分析方法
2. 具体的配置优化建议
3. JVM 参数调优策略
4. 监控和测试验证方法
5. 预期性能提升效果评估
请包含可执行的优化步骤和相关代码示例。
明确性 | ||
上下文 | ||
质量要求 | ||
输出格式 |
Rewrite Prompt 技术的魅力就在于此——看似复杂的问题,往往有着优雅简洁的解决方案。
最关键的是,这一切都是透明的——你还是用原来的方式跟AI对话,但得到的却是质量提升60%的专业回答!
一个 Rewrite Prompt 就能让AI的理解能力提升一个档次。这种"四两拨千斤"的设计思路,真的值得我们(Curosr)学习。 :tieba_025:
不是我说,虽然类似的Cursor也有,那就是在git上面也有一个,但是人家augment直接移到用户输入框,还结合自己代码库和窗口上下文一起,虽然有时候其实生成的不太符合或者不是很完美,但也八九不离十,自己改一改新的提示词,再不济拿来参考一下,简简单单就能让AI翻倍提升理解,何乐不为呢。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-05-09
2025-05-25
2025-06-02
2025-04-30
2025-04-15
2025-04-13
2025-05-12
2025-04-13
2025-05-18
2025-06-18
2025-06-17
2025-04-21
2025-03-31
2025-03-29
2025-03-17
2025-02-06
2025-01-10
2024-12-25