ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

WeWrite架构:Prompt负责判断、Python负责确定性的3层解耦设计

WeWrite架构:Prompt负责判断、Python负责确定性的3层解耦设计 WeWrite架构Prompt负责判断、Python负责确定性的3层解耦设计【免费下载链接】wewrite公众号内容全流程 Skill从热点抓取到微信草稿箱一句话跑完整条内容管道项目地址: https://gitcode.com/gh_mirrors/wew/wewriteWeWrite 架构把一个公众号内容全流程 Skill 拆成三层Prompt 层负责选题、事实与表达的判断Python 层负责打分、排版、发布等确定性操作State 层把用户数据隔离在~/.wewrite/。这种「判断与执行分离」的设计让新手也能看懂 AI 内容管道为什么既灵活又可靠。一张图看懂 WeWrite 三层解耦架构设计原则只有一句话prompt 负责判断Python 负责确定性。整个项目目录与三层一一对应层位置职责Prompt 层skills/ 下 10 个自包含 skill选题、事实、观点、实用性与表达判断Runtime 层src/wewrite/pip 包wewriteCLI打分、转 HTML、调微信 API、生图、成本路由State 层~/.wewrite/可用WEWRITE_HOME覆盖凭证、风格、历史、学习产物、输出文件全部在仓库外你说「写一篇公众号文章」 │ ▼ Prompt 层抓热点 → 选题评分 → 任务书 → 初稿 → 编辑审稿判断 │ ▼ Python 层wewrite score / preview / publish确定性操作 │ ▼ State 层~/.wewrite/runs/run_id/ 保存每一步产物可恢复三者的关系可以这样理解Prompt 像总编辑Python 像印刷厂State 像档案室。Prompt 层10 个自包含 Skill 如何承载判断逻辑Prompt 层的实体是 skills/ 下的 10 个 skill 目录主入口 skills/wewrite/SKILL.md 加上选题、写作、审稿、配图、排版发布、学习、数据、改写、风格 9 个专项模块。每个 skill 是一个自包含目录SKILL.md写清触发条件与流程references/放详细规则。以审稿为例skills/wewrite-review/SKILL.md 定义了「准确、观点、有用、合声、好读」五项判断标准以及pass / revise / needs_input三种结论和两轮复审上限——这些判断标准是纯文字契约由模型在运行时理解执行。一个关键细节Prompt 只输出决策不直接动外部世界。例如审稿 Skill 决定「可发布」后真正执行推送的是 Python 层的wewrite publish命令且必须先通过wewrite run permission publish allow拿到用户明确授权。判断归判断执行归执行边界清晰。Python 层CLI 调度器与三类确定性操作Runtime 层的入口是 src/wewrite/cli.py 里的命令调度器。它只做一件事「子命令名 → 模块」映射并透传参数把 16 个子命令分发到 commands/ 与 toolkit/本身不重复定义任何参数。确定性操作集中在三类排版转换同输入必同输出toolkit/converter.py 的convert方法把 Markdown 经过固定管线转成微信兼容 HTML容器块预处理 → 中英文自动加空格 → 代码块增强 → 列表转 section → 外链转脚注 → 内联 CSS 注入。每一步都是机械规则没有任何「看情况」。主题加载同样确定toolkit/theme.py 的load_theme按「用户主题目录 → 内置 themes/」固定顺序搜索 18 个 YAML 主题文件缺失或字段不全就明确报错而不是随机降级。任务状态机原子写与字段保护commands/run_manager.py 的run子命令管理每篇文章的独立任务创建、恢复、封存、授权。底层的 runs.py 用临时文件 os.replace原子写状态避免半截文件PROTECTED_ARTICACTS一类保护字段确保正文封存后不可被下游悄悄改写。机械检查只提示不越权wewrite score做 11 项机械检查定位套话、碎句、重复节奏等风险。注意它的定位分数只提示问题是否改稿仍由 Prompt 层的编辑判断决定——这正是三层分工的缩影。State 层把用户数据移出仓库的 paths.pypaths.py 是整个 State 层的唯一枢纽所有用户状态凭证、风格、历史、学习产物、输出统一放在$WEWRITE_HOME默认~/.wewriteCLI 和 skill 都通过它解析路径。ensure_home幂等地创建output、runs、exemplars、lessons、themes等标准子目录。每篇文章再用独立任务目录隔离契约见 skills/wewrite/references/pipeline-state.md。runs/run_id/state.yaml记录步骤状态、发布授权与产物路径brief.yaml、claims.yaml、draft.md、article.md等下游模块只读当前任务内的路径多篇并行互不覆盖。三层如何协作一次「继续上次」的完整链路状态机把三层串起来跑通一次「继续上次的文章」Agent 读 skills/wewrite/SKILL.md 的路由表判断这是恢复任务而非新建Prompt 层运行wewrite run list唯一确定后wewrite run resume run_idPython 层恢复runs/run_id/state.yaml里的进度只重做失败或未完成步骤State 层步骤完成后wewrite run step name completed最终wewrite run finish封存正文并写入历史上午选完题下午说「继续上次」就能接上靠的就是这条链路。解耦带来的三个实际好处Skill 复制即用skill 目录自包含复制到任何 Agent 的 skills 目录就能工作不依赖仓库其他部分CLI 独立升级CLI 是独立 pip 包与 skill 分开安装、分开升级互不牵连换机器零成本用户状态全部在~/.wewrite/换机器只需带走这一个目录——风格、学习成果、历史文章一个不少小结关键文件路径速查WeWrite 架构的核心就是把「不确定性的判断」和「确定性的执行」放进不同层再用 State 层把用户数据彻底隔离。想深入某个环节从这些入口看起状态目录解析src/wewrite/paths.py命令调度器src/wewrite/cli.py任务状态机src/wewrite/commands/run_manager.py排版转换引擎src/wewrite/toolkit/converter.py主题系统src/wewrite/toolkit/theme.py主入口 Skillskills/wewrite/SKILL.md任务状态契约skills/wewrite/references/pipeline-state.md【免费下载链接】wewrite公众号内容全流程 Skill从热点抓取到微信草稿箱一句话跑完整条内容管道项目地址: https://gitcode.com/gh_mirrors/wew/wewrite创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表