news 2026/9/12 17:42:20

Reflex Build Knowledge 机制详解:用项目知识与应用指令为 AI Agent 建立跨提示词的记忆

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Reflex Build Knowledge 机制详解:用项目知识与应用指令为 AI Agent 建立跨提示词的记忆

Reflex Build Knowledge 机制详解:用项目知识与应用指令为 AI Agent 建立跨提示词的记忆

【免费下载链接】reflex🕸️ Web apps in pure Python 🐍项目地址: https://gitcode.com/GitHub_Trending/re/reflex

在 Reflex(Web apps in pure Python)的 AI 构建平台 Reflex Build 中,Knowledge(知识)是让 AI agent 在多次生成中保持一致性的关键机制:它提供可复用的上下文,使同一批规则能指导不止一个提示词,而不是每次对话都要重新口头叮嘱。Reflex Build 把「项目级知识」与「仅作用于当前应用的应用指令」明确分层管理。读完本篇,你能掌握三层上下文的职责划分(项目知识 / 应用指令 / 设计系统)、各自的入口位置与维护实践,并对照 Reflex 仓库源码理解 Reflex 在「仓库级 agent 记忆」(AGENTS.md / CLAUDE.md)上落地的同源设计思想。

为什么需要 Knowledge:跨提示词的持久上下文

Reflex Build 的工作流是:用自然语言描述需求,agent 制定计划、修改 Python 源码、运行应用并在Preview中展示结果(参见 What Is Reflex Build)。但自然语言提示词是「一次性」的:如果团队约定了术语表、架构规则或数据命名规范,而每次只靠临时提醒 agent,生成结果就会在不同应用、不同成员之间漂移。

Knowledge 的定位正是解决这个问题:为 agent 提供应作用于多个提示词的、可复用的上下文。Reflex Build 将这类上下文分为两类,分别挂在不同的作用域上:

层级名称作用范围典型内容
项目Project Knowledge(项目知识)同一项目下的所有应用产品术语与受众、组织级架构与安全规则、共享数据概念与命名规范、各团队都应使用的链接或参考资料
应用App Instructions(应用指令)仅当前应用文案用词偏好、状态管理方式约束、UI 必备状态要求等

这种分层的意义在于:共享的、跨应用的规则沉淀在项目层,避免在每个应用里重复维护;只跟某个应用产品形态相关的规则则留在应用层,避免污染同项目里的其他应用。

项目知识(Project Knowledge):全项目共享的指导原则

项目知识用于存放同一项目内多个应用共同遵守的指导内容。官方文档给出的适用场景包括:

  • 产品术语与受众(Product terminology and audience)——例如统一「workspace」与「tenant」的叫法、明确目标用户是内部运营还是外部客户;
  • 组织级架构或安全规则(Organization-wide architecture or security rules)——例如「所有对外 API 必须走统一网关」「密钥只能存放于 Secrets」;
  • 共享数据概念与命名规范(Shared data concepts and naming conventions)——例如表名、字段命名、时间戳时区约定;
  • 每个应用团队都应使用的链接或参考资料(Links or references that every app team should use)——例如内部组件规范、品牌文档地址。

管理入口

  • 项目侧边栏中的Knowledge入口:在这里直接创建和管理整个项目共享的知识条目;
  • 应用的Knowledge面板中提供的 project-knowledge 链接:在应用上下文里也能跳转到项目知识进行查看与维护。

从产品结构设计看,这种「项目侧栏入口 + 应用面板快捷链接」的双入口布局,正是为了让两种作用域的上下文都能被方便地发现和编辑,减少「规则写在 A 处、却在 B 处失效」的维护盲区。

应用指令(App Instructions):只约束当前应用的规则

应用指令存放只应作用于当前应用的规则,与项目知识互为补充。

添加步骤

  1. 打开目标应用;
  2. 点击应用右上角的 more 菜单(更多菜单);
  3. 选择Knowledge,在面板中录入应用指令。

官方文档给出的应用指令示例,非常典型地展示了「短、具体、可执行」的写法:

Use "workspace" instead of "tenant" in user-facing copy. Keep state transformations in State methods rather than UI components. Every data table must include loading, empty, and error states.

三条指令分别对应文案约定(用 "workspace" 替代 "tenant")、Reflex 框架层面的实现约束(状态转换放在State方法中而非 UI 组件里,这与 Reflex 的事件-状态模型一致)、以及 UI 完整性要求(数据表必须包含加载中、空态、错误态)。

保存行为与质量原则

  • 保存时机:应用指令在你切换到另一个控件时自动保存,没有显式的「保存」按钮,编辑后切换焦点即生效;
  • 质量原则:文档明确要求指令保持short, specific, and current(简短、具体、常新维护)。相互矛盾或已过时的指令会让生成结果变得不可预测——这是使用应用指令时最重要的一条约束:随着应用演进,要及时删除失效规则,而不是只增不减。

与设计系统(Design Systems)的职责划分

Knowledge 不是 agent 上下文的唯一载体。Reflex Build 还专门提供了 Design Systems,用于承载可复用的视觉指导:颜色 token、排版、间距、组件样式等品牌规则。两者必须各司其职:

  • 放入 Design System:视觉层面的可复用规范(颜色、字体、间距、组件模式)。设计系统归属项目,可被项目内所有应用复用,且同一时刻只有一个处于激活状态;
  • 放入 Knowledge:行为规则与架构规则(例如「状态转换放在 State 方法中」「表格必须有 loading/empty/error 三态」)。这类内容不属于视觉范畴,混入设计系统会模糊每种上下文的用途。

划分原则可以概括为一句话:让每一种上下文来源都有清晰的目的(each source of context has a clear purpose)。视觉规则进设计系统,行为与架构规则进 Knowledge,agent 在生成时才不会在两类信息之间混淆。

源码印证:Reflex 如何处理「agent 的持久记忆」

平台侧的 Knowledge 功能(项目知识/应用指令)运行在 Reflex Build 服务中,但 Reflex 仓库本身实现了同一设计哲学的另一个落点:给本地仓库里的 AI 编码助手(Cursor、Claude Code、Codex 等)提供持久上下文。对照阅读这两处实现,能更完整地理解 Reflex 对 agent 记忆的分层策略。

仓库级指令文件:AGENTS.md 与 CLAUDE.md

按 AGENTS.md and CLAUDE.md 文档 的说明:

  • AGENTS.md被遵循 AGENTS.md 约定 的 agent(Cursor、OpenCode、OpenAI Codex 等)读取,CLAUDE.md被 Claude Code 读取;
  • 一个 Reflex 项目应在项目根目录、rxconfig.py旁至少放置其中一个文件;
  • reflex init默认会在项目根写入一个 starterAGENTS.md(可用--no-agents关闭),Claude Code 用户还会得到一个通过@AGENTS.md语法导入的CLAUDE.md

受管区块(managed section)的实现细节

这个机制的核心是「受管标记区 + 用户自定义区」的文件结构,与平台侧 Knowledge 的「共享条目独立维护」异曲同工。相关实现:

  • 标记常量定义在 config.py:
BEGIN_MARKER = "<!-- reflex managed begin (do not edit inside this block; add custom content outside the markers) -->" END_MARKER = "<!-- reflex managed end -->"
  • 刷新逻辑在 frontend_skeleton.py 的initialize_agents_md(L126-L160):先拉取规范内容,再用_plan_agents_md决定写哪个文件、以何种动作写入,最后由_apply_agents_md_action落地;

  • _apply_agents_md_action(L86-L123)的行为值得注意:

    • 若文件中已有合法的 begin/end 标记对,只替换标记区之间的内容,标记外的用户内容原样保留;
    • 若标记缺失、不配对或顺序错误,则丢弃游离标记、把受管区块前置写入,同样保留用户内容。

    这意味着重复执行reflex init既能刷新官方维护的 Reflex 约定,又不会破坏用户在标记外补充的项目专属规则(内部约定、lint/测试命令、目录布局等)。

  • 网络容错:initialize_agents_md中拉取规范AGENTS.md失败只记录 warning 而不中断 init(L147-L152),离线时项目初始化依然成功。

对照总结:Reflex 的三层 agent 上下文

载体作用范围维护方式
平台项目层Project Knowledge项目内所有应用侧边栏 Knowledge 面板集中管理
平台应用层App Instructions单个应用应用 more 菜单 → Knowledge,焦点切换即自动保存
本地仓库层AGENTS.md/CLAUDE.md进入仓库的 AI 编码助手reflex init写入受管区块,标记外内容受保护

三层分别服务「浏览器里用自然语言构建的 agent」与「在 IDE/CLI 中改源码的编码助手」,但设计原则一致:上下文按作用域分层、共享内容单点维护、矛盾与过时的指令要及时清理。

实践清单

综合文档与源码实现,管理 Reflex agent 上下文时的建议:

  1. 先定边界再写规则:跨应用共享的进 Project Knowledge,单应用的进 App Instructions,纯视觉的进 Design Systems;
  2. 指令写成祈使句短规则:如 "Keep state transformations in State methods rather than UI components",避免长篇叙述;
  3. 定期清理:矛盾或过时的指令会让生成不可预测,应用形态变化时同步修订知识条目;
  4. 本地仓库配套维护AGENTS.md:把内部代码规范、测试命令写入受管标记之外,并依赖reflex init的受管区块刷新机制保持 Reflex 通用约定常新。

更多 Reflex Build 的提示与评审技巧,可继续参考 Reflex Build Best Practices。

【免费下载链接】reflex🕸️ Web apps in pure Python 🐍项目地址: https://gitcode.com/GitHub_Trending/re/reflex

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

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

Arm-2D静态工程落地全链路:从源码精读到量产约束

1. 项目概述&#xff1a;为什么一个静态工程评测能决定嵌入式GUI项目的生死线Arm-2D不是个新名字&#xff0c;但真正把它当“生产级图形加速引擎”来用的团队&#xff0c;十有八九在项目中期踩过坑——UI卡顿、内存爆掉、编译失败、调试器连不上、甚至烧录后黑屏。我见过最典型…

作者头像 李华
网站建设 2026/9/12 17:34:52

MSO算法在机器人路径规划中的优化与应用

1. 项目概述&#xff1a;MSO算法在路径规划中的创新应用二维栅格地图路径规划是机器人导航和智能物流领域的核心问题&#xff0c;传统算法如A*和Dijkstra在动态复杂环境中表现欠佳。海市蜃楼搜索优化(MSO)算法作为一种新兴的元启发式方法&#xff0c;通过模拟光线折射现象实现全…

作者头像 李华
网站建设 2026/9/12 17:34:06

Flexoo印刷天线:柔性物联网设备的天线设计与集成实战解析

去年夏天我们做一款智能手环的改版&#xff0c;结构团队把整机厚度从9.5毫米硬生生压到了7毫米&#xff0c;天线部分首当其冲被砍。当时项目组里传着一句话&#xff1a;“只要天线还活着&#xff0c;这产品就还没黄。”传统方案一个个试过来——陶瓷贴片碎了两次&#xff0c;FP…

作者头像 李华
网站建设 2026/9/12 17:32:47

OpenClaw+优云智算+Coding Plan:构建AI Agent自动化工作流

1. 这个自动化框架到底要解决什么问题 先说结论&#xff1a;OpenClaw、优云智算、Coding Plan这三样东西放在一起&#xff0c;拼出来的是一条“从想法到成品”的无人值守流水线。 我去年有很长一段时间陷入一个特别拧巴的循环&#xff1a;脑子里冒出一个选题&#xff0c;先在文…

作者头像 李华