@ cat-factory/ 即时碎片
这个 内置级 最佳实践的即时片段:小而有条理的指导
在运行时被折叠到代理系统的片段
(单位:千美元)composeSystemPrompt) (中文(简体) ). 这个软件包是 plain, build- static 数据:无 I/O,无
框架。 是运出违约的真相来源 也是运出违约的种子来源
租户范围 即时分解库。 。 。 .
这是什么
src/collections/*.ts:每个专题的片段编写. 现日:node, (中文(简体) ),react, (中文(简体) ),acceptance, (中文(简体) ),design, (中文(简体) ),style, (中文(简体) ),migration, (中文(简体) ),deployment每次导出一系列PromptFragment运送收藏品不会放在代理人面前: 仅由 selected 运行(任务为fragmentIds,一个服务框架的serviceFragmentIds,或一个 任务类型默认值),所以appliesTo缩小管理面,而不是标注调度.deployment完全出于这个原因选择进入,出口DEPLOYMENT_FRAGMENT_IDS这样 部署可以将设定命名为一行.src/index.ts: 将收藏合并为单个FRAGMENTS登记加FRAGMENTS_BY_ID财务报告和审定财务报表getFragment(id)o(1) 组成期间的检索.
A 类 PromptFragment (形状定义于 @cat-factory/contracts(中文(简体) )
携带一个 id, (中文(简体) ), version, (中文(简体) ), title选项 category页:1 summary (《公约》缔约方会议
关联选择器) body (插入文本),可选缩放 brief
(见下文)和任择案文 appliesTo 提示( e)blockTypes 编号 : agentKinds) (中文(简体) ).
如何使用
- 工人为这个目录服务 只读 时间
GET /prompt-fragments;最高人民会议 显示在每块取出碎片.GET /api/v1/prompt-fragments为外部 以及来自MERGED租户目录而不是这个集合的答案: 只有元数据,没有body,所以一个无头呼叫者可以选择一个任务所坚持的标准 (单位:千美元)公开 API) (中文(简体) ). - 选中的块存储
fragmentIds[];在运行时,核心构成选定的 进入系统迅速。 每个标准均折叠为 自己被划定, 标有标题的块 (单位:千美元)<best-practice-standard id="…" title="…">而不是一个 装腔作势,这样经纪人就能分辨出标准 并用标题引用一个标准 (单位:千美元)composeSystemPrompt编号 :composeBlockSystemPrompt内@cat-factory/agents) (中文(简体) ). 这个 代码 + PR 审查 此外,还按标准报到 遵守情况 (a) 1 - 10 评分 + 相关结果)返回该步骤,以运行细节出场. - 当启用可选库时,此库将成为 内置级 页:1 三级合并( 已建入 qq 账户 qq 工作空间); 这里的 id 可以被阴影或 被高层压制. 见 ADR 0006 (韩语)。 。 。 .
两级机构: body 财务报告和审定财务报表 brief
一个 执行者 类型( r)coder 编号 : fixer 编号 : ci-fixer 编号 : conflict-resolver: 种类
携带 brief-standards trait)运行一个较长的代理循环,其系统即时,标准
重新核准 每转一圈。这些类型叠叠一个碎片的可选 brief (单位:千美元)
而不是全部 body. 审查员/规划员/调查员
那种人保留全文:他们在判断已建成的工程时,很少转弯,而且从中得益.
两项规则适用于作者:
- A 类
brief绝不能放弃一条规则,只能放弃其阐述. 同样的标准压缩, 而不是子集: 折叠书状的代理人被持有到身体要求的一切. brief和它凝结的身体一起旅行 并且从未被下游的id重新解决. A 类 更高一层,可以覆盖一个内置的 id 提供它 OMN 的简介(或无),所以,该覆盖 自己的文本是折叠的,绝不是内置的收缩文本凌驾于租户的标准之上.
选择 brief 总是安全的:满分 body 用于每一种,没有改变。 碎片
可到达实施者类型之一; 范围为 spec-writer 编号 : playwright 编号 :
文档授权类型(不是执行者)故意没有.
每一个片段在 这个 包件在舒适的下方 FRAGMENT_BRIEF_MIN_BODY_CHARS,所以请
自动凝聚在下面绝不在已发运的目录上行动:用写简报的方式保持它
当一个内置字符超过~1500字符时,用手进行.
短篇短篇短篇短篇短篇短篇短篇小说
内置 brief 上面只是三个答案中的第一个。 对于一个碎片解决通过
租户图书馆ADR 0006 (韩语)决议
顺序是:
- 中奖的等级是相连的
brief:一个内置的,或者一个租户自己写的 管理行(库编辑器的短版字段,或 repo 源代码文件)brief:前题密钥). - 模型基因浓缩对于一个尸体过
FRAGMENT_BRIEF_MIN_BODY_CHARS这已经 无关联摘要。 在第一次执行者发送时生产过一次,它折叠,坚持,以及 身体改变时重新生成: 库编辑、 repo 重联或活 文档在运行时重解. - 没什么: 满分
body每一个失败都发生在 路由着陆(没有模型接线,一个无法读取的商店,一个被拒绝的收缩).
设计、决定和获得:
docs/initiatives/auto-generated-fragment-briefs.md。 。 。 .
程序部署接合( 定制碎片 + 每任务类型的默认)
部署(当地 或者说 (主机)通过应用程序扩展碎片行为
PromptFragmentRegistry (内核),由Reference注入它所建造的外观. 没有叉子,没有叉子
重建,没有每个工作空间的用户界面.
这取代了两个MoDULE Globals (单位:千美元)
registerPromptFragment财务报告和审定财务报表registerTaskTypeDefaultFragments),原因值得说明,因为它是看不见的 硂 他们的正确性取决于每个读者 解决相同的物理副本 这个包裹。 A 类workspace:*依赖性以EXACT版本发布,所以消费者浮动 范围到一个更新的补丁 得到两份副本: 在其中的注册区域, 服务器读取 而部署的每一项任务 都以没有折叠的ID为种子 唯一一个 信号是一个启动警告,这也是一个打字产生的警告.
-
建立登记册数字 :
promptFragmentRegistryWithBuiltins()(这个包裹)新闻一号携带 已运出目录及其内置每类默认值;defaultPromptFragmentRegistry()(内核) 一个EMPTY 的 新闻,这就是一个部署 说它只想要自己的标准。 内置 通过注册处的普通公用方法安装,所以平台可以行使消费者自己的功能 每只靴子都缝合,不能只给消费者腐烂. -
在通用池中添加自定义片段数字 :
registry.register(fragment)编号 :registry.registerAll(fragments)每一个GET /prompt-fragments已读目录和每次运行时间 身体检查然后看到它们; 重新登记 id REPLACES 的输入 ID,所以部署 完善已运出标准. -
将碎片标为 BUILT- IN 任务类型的默认值数字 :
registry.registerTaskTypeDefaults(taskType, fragmentIds)每一个 新设 任务类型 (单位:千美元)document, (中文(简体) ),review, (中文(简体) ),feature,然后用这些碎片播种到自己的身上fragmentIds在创造中,除它从服务中继承的外, 种子是服务器侧 和权威:它甚至适用于通过公共API创建的没有创建-形式拾取器的任务.登记REPLACES的内置套件,而不是与之结合. 全球单元 静静地结合,这意味着部署不能消除已运出默认值,但是 写了电话 展开
DEFAULT_DOCUMENT_STYLE_FRAGMENT_IDS将两者都列入自己的名单, 密码里是这么说的.部署的 ONW( namespaced) 任务类型不使用此连接 . 它宣布
defaultFragmentIds(和conditionalFragmentIds,对于取决于 提供答案),在自己的注册中,靴子验证可以看到身份证明并警告 密码池不能解决 宣言的三分之一是 可重复使用的操作数字 : 见backend/docs/reusable-operations.md。 。 。 . -
编码登记的碎片不得携带
documentRef。 。 。 . 每一个代码 注册土地builtin级,其活性分辨率需要连接工作空间的全部署登记 无法命名,所以要放弃它fragment_document_ref_unsupported而不是带着它, 将它变成在图书馆的活的UI,在运行时忽略它(它就是这样做的). 将正文内线注册,或在ACCOUNT分级处用取出的工作空间创建碎片.
// deployment entry, before start()/startLocal()
import { promptFragmentRegistryWithBuiltins } from '@cat-factory/prompt-fragments'
const promptFragmentRegistry = promptFragmentRegistryWithBuiltins()
promptFragmentRegistry.registerAll([
{
id: 'org.review-checklist',
version: '1.0.0',
title: 'Review checklist',
summary: 'Our PR review bar.',
body: '- Check error handling…',
},
])
// every new REVIEW task starts with this guidance
promptFragmentRegistry.registerTaskTypeDefaults('review', ['org.review-checklist'])
// …and the SAME instance goes into the facade, which is the whole point.
start({ promptFragmentRegistry /* …the rest */ })
在母舰模式下,游泳池从母舰读取,而不是从节点本身的注册: 标准是 org 状态,如果在后面建一个节点,则会折叠与 部署记录。 一个读取失败的 THROWS 而不是用空池来回答, 因为 "母舰是无法到达的" "这个部署登记册没有标准"是相同的价值和 相反的事实。 靴子警告,并命名任何在母舰-模度节点上注册的碎片.
添加收藏
- 创建
src/collections/<topic>.ts导出数组PromptFragment。 。 。 . - 散开
FRAGMENTS内src/index.ts。 。 。 . - 保持编号 全球独特而稳定:块会粘住它们,所以重新命名的id 默默地放弃一个选择( 未知的id被跳过, 永不出错) .
pnpm --filter @cat-factory/prompt-fragments build # tsc → dist/
pnpm --filter @cat-factory/prompt-fragments typecheck