前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航
返回 AI 情报前线
All News · 全部资讯4313
  • 深度调试案例:五层根本原因分析一个神秘 Bug
  • MCP Agent 生产化:Docker + Kubernetes + 可观测性完整方案
  • AI 代理开发如何改变程序员工作流:从编码转向审查
  • Kimi K3 发布:百万 token 长上下文与强编程能力
  • 开源自媒体工具链:跨 10+ 平台内容发布全自动化
  • Qwen3.8-Max:2.4T参数如何改变开发工具选择
  • IBM 报告:AI 攻击占数据泄露 1/4,防御需加速漏洞修复
  • LLM 总成本对比:自托管 Llama vs 云 API 真实成本
  • AI 编码助手的设计系统赋能:从通用到专业
  • 网络爬虫工程实战:反爬虫对抗的完整方案
  • Rust 高性能 AI 代码审查工具:系统编程最佳实践
  • Ops Agent 的安全漏洞:提示注入即远程代码执行
  • 80% 降价反而成本上升:AI 账单的 Jevons 悖论
  • Google Gemini Robotics 2发布,人形机器人控制API开放
  • Qwen3.8-27B仅需17GB显存运行验证
  • 通义千问 3.8-Max 模型通过 OpenAI 兼容 API 可用
  • AI Agent 误删 45 个文件的真实事故复盘
  • Qwen3.8-Max官宣:全模态创作力对标顶级模型
  • 在 Next.js 中架构 AI 异步处理:避免请求阻塞的完整方案
  • MCP新规范正式版:一键审计服务器兼容性
  • Prompt设计最佳实践:精简上下文优于巨型提示
  • MiniMax H3开源多模态模型Day-0适配国产GPU,成本优化40倍
  • 用 Claude 和 CoinGecko 构建实时加密货币分析 Agent
  • Agent 系统的紧凑记忆优化:降低上下文成本
  • Qwen 3.8 发布,编程与推理能力升级
  • OpenAI Agents Python框架14天实战测评
  • 用AI编程工具远程部署服务器的无密钥方案
  • Agent 系统设计:从 Prompt 工程转向上下文工程
  • C++ 高效加载机器学习模型的完整实现
  • Word 提示注入漏洞:Copilot 被劫持 144 天未修
  • 12个AI自动化案例详解:如何集成AI到实际工作流
  • AI 框架选型完全指南:分类体系与决策方法论
  • Agent AI vs 生成式 AI:本质区别与应用边界实战指南
  • 阿里发布通义千问3.8-Max大模型
  • Agent管道的隐形故障:Fallback陷阱案例
  • 生产级流式 LLM API 客户端实现指南
  • Agent 系统中的批准陷阱:为什么状态转移需要重新验证
  • LLM 成本感知路由:用 Flash 模型减少 60% 支出的系统设计
  • AI 代码迁移引入 Bug:COBOL→Java 实验分析
  • 用 AI 助手开发浏览器扩展踩过的坑:验证比相信更重要
  • RAG 系统检索失败根本原因:数据分块策略而非模型能力
  • AI Agent 失控成本爆炸:防护实战指南
  • 开源视频生成模型 MiniMax H3
  • 华为诺亚开源 Agent 记忆系统 MindMemOS
  • Python AI Agent Prompt 注入防护三层架构
  • 从零实现经典技术:高价值学习路线合集
  • OpenClaw 语音 Agent 的实用场景评估
  • 千问 3.8-Max 正式发布:24 万亿参数待开源
  • OpenAI Astra 解决 10 个前沿研究问题
  • 阿里开源通义千问3.8-27B轻量模型
  • RAG系统8大架构模式与决策指南
  • 已加载 51 / 4313
8.0
热点
AI SCORE
技术实践2026-08-03 13:24

Prompt设计最佳实践:精简上下文优于巨型提示

dev.to · AI#Prompt工程#Agent架构
Editor brief · 编辑速览

强调长期运行的AI自动化任务应采用小规模、动态结构化的上下文生成器替代硬编码的巨型提示,避免指令漂移和规则冲突。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

我很喜欢 AI 自动化,但我不信任那种试图在每次 cron 任务运行时,把整个世界都塞进去的巨型 prompt。它们一开始看起来很惊艳,随后却慢慢变成一个杂物抽屉:旧规则迟迟没有清理,主题覆盖逐渐偏移,写作者还要花费太多精力,反复决定那些本该提前结构化的基本事项。

对于周期性任务,我发现,在写作者前面加一个小型 context builder,效果反而更好。由一个脚本收集当前账号、近期历史记录、约束条件,以及少量经过筛选的输入。然后,写作者基于这份紧凑的 payload 工作,而不是面对一个怪兽般的 prompt。这样做也许没那么浪漫,但实用得多。

为什么巨型 prompt 在 cron 任务中很快就会过时

一个定时工作流的存续时间,往往比其中假设条件的有效期更长。问题正是从这里开始的。

起初,大型 prompt 看起来很灵活。你可以往里面塞入策略、示例、主题列表和兜底规则。一个月后,却没人能完全确定哪些部分仍然重要。有些指令会悄无声息地相互冲突,另一些虽然在技术上仍然正确,却早已过时。任务依然能够“正常运行”,但输出会变得有些含糊,也有些重复。

因此,我更喜欢小而明确的 context 对象。它们会迫使系统清楚说明当前真实有效的信息:

  • 当前启用的是哪个账号

  • 哪些主题属于允许范围

  • 可以使用哪些内部链接

  • 哪些约束是必须满足的硬性要求

  • 应该避开哪些近期发布过的内容

这本质上与自动化系统中清晰的状态边界,以及重复任务中稳定的后端规则,是同一个道理。要构建可靠的系统,就应该明确命名并限定决策输入的作用域,而不是把它们涂抹在一整面文字墙上。

context builder 应该生成什么

builder 不需要多么复杂。事实上,通常越简单越好。我需要的只是一个 JSON 对象,其中包含足以写出优质内容的信息。

对于内容生产任务,这通常意味着:

  • 选中的账号及其语言

  • 近期发布历史

  • 符合该账号定位的主题关键词

  • 标题长度、标签数量等平台约束

  • 预先筛选的内部链接

  • 可以自然融入文章的可选 SEO 词汇

注意这里没有哪些内容:完整的历史存档、曾经制定过的所有策略,以及堆积如山的示例。如果写作者每一次都需要这些东西,说明系统设计本身已经在向你传递某种信号了。

我采用的思维模型是:builder 决定游乐场的边界,写作者在其中发挥。这样的职责拆分可以消除定时任务中的许多怪异问题,也能让后续的故障排查更加容易。

一种简单的先构建、再写作模式

这个模式是刻意设计得如此朴素的:

type WriterContext = {
  account: { username: string; language: string; topics: string[] };
  constraints: { titleMax: number; backlinkCount: number };
  internalLinks: Array<{ url: string; anchor: string }>;
  recentHistory: Array<{ title: string; publishedAt: string }>;
  primaryKeywords: string[];
  typoKeywords: string[];
};

const context = await buildWriterContext();
const plan = planArticle(context);
const article = writeArticle(plan);
await publish(article);

关键不在于 TypeScript,而在于执行顺序。先构建 context,再冻结写作方案,只写一次,最后根据已经批准的产物进行发布。如果发布步骤失败,不要偷偷进行第二次改写,然后祈祷没人发现。这样很快就会变得一团糟,而且说实话,也会让调试变得相当烦人。

我喜欢这种模式,还有一个原因:它能让写作者保持诚实。当源 payload 足够小时,你可以看清楚究竟是哪些杠杆影响了输出结果。文章的“聪明”并不是因为 prompt 极其庞大,而是因为输入经过了精心塑造。

临时邮箱工作流适合放在哪里

这种模式并不只适用于发布系统。它同样会出现在注册测试、收件箱检查和预览环境中——在这些场景里,临时邮箱流程也是任务的一部分。

假设你的自动化任务需要使用 tempmail.so 收件箱进行验证。builder 可以决定本次运行应该采用哪种收件箱规则、超时时间和环境标签。写作者或执行器不应该再从大段文字中重新推断这些信息。你的团队可能还会在日志中看到一些干扰性搜索词,例如 dummy e mail 或 temp mailid,道理也是一样。这些字符串可以作为相关 context,但应该以明确字段的形式进入本次运行,而不是作为被遗忘的片段,隐藏在一个巨型 prompt 里。

这种区别听起来很小,却会改变团队的工作方式。人们不再把自动化视为一个神秘的黑盒,而会开始将它视作一条拥有明确命名输入的 pipeline。少一点魔法,多一点杠杆效应。我认为这是一笔相当划算的交易。

这会不会让 prompt 过于僵化?

不会。它只是让运行时事实变得明确。你仍然可以在 context builder 之外维护一份稳定的写作指南。关键在于,不要把长期有效的指导原则与每次运行时的决策混在一起。

context 应该有多小?

应该小到让人能在一分钟内快速浏览完。如果 JSON 读起来像一部长篇小说,那就删减它。如果缺少重要选择,也只添加那些必要的信息。

builder 是否也应该负责写文章?

我会避免这么做。一旦某个步骤既负责收集输入,又负责生成输出,就很难对每个部分进行清晰、独立的测试。职责分离看起来没那么炫酷,但在经历数周的 cron 任务运行后,会更值得信赖。

如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
MCP新规范正式版:一键审计服务器兼容性
下一篇
MiniMax H3开源多模态模型Day-0适配国产GPU,成本优化40倍