news 2026/10/3 12:24:30

Easel架构深度剖析:四层Prompt Stack如何驱动一个稳定的社媒Agent

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Easel架构深度剖析:四层Prompt Stack如何驱动一个稳定的社媒Agent

Easel架构深度剖析:四层Prompt Stack如何驱动一个稳定的社媒Agent

【免费下载链接】EaselAn open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.🎨一个开源的 AI 社交媒体智能体——发现热点趋势、创作内容、一键发布至各大平台,并学习分析哪些内容真正有效,覆盖小红书、抖音、知乎、哔哩哔哩等平台。项目地址: https://gitcode.com/gh_mirrors/easel3/Easel

Easel 是一个开源的 AI 社交媒体智能体(社媒 Agent),覆盖小红书、抖音、知乎、B 站等平台,帮你完成发现热点、创作内容、一键发布和数据复盘的全流程。为什么它跑久了不"跑偏"、不"串味"?关键不在模型,而在它的四层 Prompt Stack(提示词分层栈)架构——把人格、规则、环境、技能拆成四层,各司其职、按需加载。这篇文章带你从新手视角看懂这套架构是如何让社媒 Agent 稳定运行的。

🎯 先说痛点:社媒 Agent 为什么会"不稳定"

如果你自己写过 Agent,多半踩过这几个坑:

  • 一个巨型 system prompt:人格、规则、路径、技能全糊在一起,改一处牵动全身,还白白烧 token;
  • 多账号记忆串号:两个账号画像共用一个全局记忆文件,A 账号的写作偏好"污染"了 B 账号;
  • 技能清单过时:写死"去调某某 skill",技能一改,提示词就过期;
  • 上下文爆炸:所有技能的资料常驻 prompt,越跑越慢。

Easel 的解法很朴素:把提示词拆成四层,每层只管一件事。官方架构说明见 docs/prompt-stack.md。

🗺️ Easel 整体架构一张图

Easel 围绕五个连续工作流展开:发现 → 策划 → 创作 → 发布 → 归因(分析数据并沉淀回账号画像)。提示词栈(Prompt Stack)就是支撑这五层工作流的"地基":

Layer 1: SOUL.md 人格 + 能力总览(常驻) Layer 2: AGENTS.md 分工规则 + 编排逻辑(常驻) Layer 3: CONTEXT.md 项目路径信息(脚本自动生成) Layer 4: SKILL 技能文件(被触发时才加载)

组合顺序来自 docs/prompt-stack.md,每一层的职责互不越界,这是稳定性的第一来源。

🧱 四层 Prompt Stack 逐层拆解

Layer 1:SOUL.md —— Agent 的"灵魂"

源文件:openclaw/workspace/SOUL.md

这一层定义 Easel是谁:创作者的社媒内容"搭子"——既是懂策略的操盘手,也是能上手干活的制作伙伴。它只写三件事:

  1. 人格:务实、诚实、不说废话,"先尽力做,做不到才直说";
  2. 能力总览:按"找灵感 / 定策略 / 做内容 / 发出去 / 看效果"五个类目写"能做什么",刻意不写具体 skill 名——因为技能清单会变,写死了就会过时;
  3. 自我认知:遇到任务先想"怎么帮他做成",而不是"我做不了"。

这个设计有个精妙之处:SOUL.md 只给"态度",不给"操作"。具体怎么执行属于下一层,人格层保持精简且永远新鲜。

Layer 2:AGENTS.md —— 业务编排的"规则手册"

源文件:openclaw/workspace/AGENTS.md

这是最重要的一层,承载核心业务逻辑:

  • 五层分工:发现(热点、爆款)、策划(选题、脚本)、制作(图文音视频,产物统一写入outputs/)、发布(合规、平台适配)、归因(数据回流);
  • 先路由 SKILL:每轮任务先找精确匹配的技能文件,按它的流程执行;
  • 自检才算完成:"不以计划、空壳文件冒充成品",交付前必须自检;
  • 安全门禁:对外发布前由 skills/shared/scripts/content_guard.py 扫描敏感信息(API Key、内部路径等),人设一致性评分低于 80 分会提示偏离点。

你可以把 SOUL.md 理解成"性格",AGENTS.md 就是"行为守则"——它决定 Agent 什么时候该问、什么时候该做、什么时候必须停。

Layer 3:CONTEXT.md —— 脚本生成的"运行时环境"

这一层不靠人手写,而是由同步脚本 openclaw/sync.sh 自动生成,内容很轻:项目根目录的绝对路径、outputs/(产物)、assets/(素材)、profiles/(账号画像)分别在哪。

它解决一个很实际的问题:Agent 工作目录(OpenClaw workspace)和项目目录不是同一个,跑项目脚本前必须先从 CONTEXT.md 读出项目根路径再cd过去。换一台机器,重跑一次 sync.sh 就自动更新,无需改任何提示词。

Layer 4:SKILL.md —— 按需加载的技能库

技能库位于 skills/openclaw/(五层业务技能,113 个)和 skills/shared/(跨技能共享脚本),规范见 docs/SKILL-SPEC.md。每个技能内部还有一个"三层加载"机制:

层内容加载时机token 开销
Metadatafrontmatter(名字 + 描述)常驻,用于技能路由极小
InstructionsSKILL.md 主体技能被触发时中等
Resourcesreferences/ + scripts/执行中按需读取按需

核心原则一句话:SKILL.md 只写"怎么做",领域知识放 references/,代码脚本不进 prompt。不用的技能完全不占上下文——这就是为什么 Easel 能装上百个技能而不撑爆 token。

🔬 两个让稳定性"翻倍"的工程细节

画像消息内联注入:多账号永不串号

很多 Agent 用一个全局USER.md存账号信息,多账号并发时就出竞态。Easel 的做法(见 easel/persona.py):

  • 每个账号画像是profiles/<名字>/目录下的六维文件(定位、风格、受众、平台、偏好红线、记忆),模板在 profiles/_template/;
  • 切换画像时不写任何全局文件,而是把我当前使用的画像是「X」。作为消息前缀内联传给 Agent,每个请求自包含;
  • 全局MEMORY.md由同步脚本保持为空,账号长期记忆只存在各自画像的memory.md里。

结果:三个入口(Web / CLI / 单轮调用)统一走同一套画像逻辑,并行会话互不覆盖。

sync.sh:一份同步脚本,锁死所有上下文

openclaw/sync.sh 是这套架构的"装配线",一次执行完成:

  1. 全量同步技能库与共享层到 Agent workspace;
  2. 拷贝 SOUL.md / AGENTS.md,并把项目根路径追加进 AGENTS.md 尾部(每轮注入,配置检查永远有正确基准);
  3. 生成 Layer 3 的CONTEXT.md;
  4. 用软链接把outputs/和profiles/接进 workspace——Agent 写产物自动归位,永不落错地方;
  5. 清空全局记忆、清理残留的旧画像文件,防止"污染"。

这套机制保证:提示词栈的任何一层更新,都是可重复、可验证的,而不是手工维护的一堆副本。

🔄 真实场景走一遍:热点到发布

以"把一篇论文解读做成小红书卡片并视频"为例,看四层如何协作(真实产物示例来自 Easel 工作流):

步骤谁在工作
1. 用户说"帮我解读这篇论文并发小红书"SOUL.md 决定"这是我能做成"的态度
2. Agent 路由到paper-explainer技能Layer 4 加载 SKILL.md + 按需读 references/
3. 执行前先cd到项目根跑脚本Layer 3 的 CONTEXT.md 提供路径
4. 凝练当前画像的风格/红线,产出到outputs/<主题>/AGENTS.md 的制作流程 + 自检规则
5. 发布前内容安全扫描 + 人设一致性评分AGENTS.md 的发布门禁
6. 发布后数据回流、有效经验写入画像 memory归因层闭环

全程没有"记忆串号"或"路径漂移"的风险,因为每一层的信息来源都是单一且确定的。

📋 新手能抄走的 4 条设计原则

如果你也想做一个稳定的 Agent,Easel 的 Prompt Stack 给出的经验可以直接迁移:

  1. 分层比分词重要:人格、规则、环境、技能分文件管理,每层单一职责;
  2. 能生成的别手写:路径类上下文由脚本生成(Layer 3),永远和环境一致;
  3. 能按需的别常驻:技能库上百个也不烧 token,靠 frontmatter 路由 + 触发时加载;
  4. 记忆按作用域隔离:每个账号一个目录,消息内联传画像,拒绝全局大杂烩。

🚀 三步跑起来

git clone https://gitcode.com/gh_mirrors/easel3/Easel cd Easel bash setup.sh # 引导式安装:Python 虚拟环境 + 模型配置 + 技能同步

Windows 原生安装用 PowerShell 执行.\setup.ps1。安装完成后:

source .venv/bin/activate easel doctor # 检查运行环境 easel ping # 测试 gateway 与 Agent 连通性 easel web # 启动 Web 工作台(默认 7860 端口)

在 Web 工作台的"画像"页面建一个账号画像,然后直接对话即可——四层 Prompt Stack 会在幕后自动工作。

📚 延伸阅读

  • 架构原文:docs/prompt-stack.md
  • 技能接口规范:docs/SKILL-SPEC.md
  • 五层能力地图:docs/skill-function-mapping.md
  • Agent 规则手册:openclaw/workspace/AGENTS.md
  • 人格定义:openclaw/workspace/SOUL.md
  • 上下文同步脚本:openclaw/sync.sh
  • 已知问题:docs/known-issues.md

Easel 的架构哲学可以浓缩成一句话:让每一层提示词只做它最擅长的事,稳定性就是设计出来的,而不是碰运气碰出来的。

【免费下载链接】EaselAn open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.🎨一个开源的 AI 社交媒体智能体——发现热点趋势、创作内容、一键发布至各大平台,并学习分析哪些内容真正有效,覆盖小红书、抖音、知乎、哔哩哔哩等平台。项目地址: https://gitcode.com/gh_mirrors/easel3/Easel

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 12:22:38

PDU级电量采集与±1%精度:数据中心PUE测算避坑指南

聊机房PUE&#xff0c;免不了被追问一句&#xff1a;IT侧电量从哪来&#xff1f;如果答案是“看服务器BMC功率”或者“用列头柜电量平均分摊”&#xff0c;这一轮的评审基本就过不去了。我这些年经手过的能效项目中&#xff0c;凡是PUE要写进对外报告或者参与行业评级的&#x…

作者头像 李华