ARTICLE DETAIL

资讯详情

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

RuView 中的 base-template-generator:一个带模式学习与记忆钩子的 Claude Code 模板生成 Agent 定义解析

RuView 中的 base-template-generator:一个带模式学习与记忆钩子的 Claude Code 模板生成 Agent 定义解析 RuView 中的 base-template-generator一个带模式学习与记忆钩子的 Claude Code 模板生成 Agent 定义解析【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuViewbase-template-generator.md是 RuView 仓库.claude/agents/templates/目录下的一份 Claude Code Agent 定义文件它用「YAML frontmatter 元数据 系统提示词」两段式结构定义了一个专门生成基础代码模板组件、API、配置、测试脚手架的智能体并在生成前后接入 claude-flow 记忆系统实现「检索历史模板 → 生成 → 回写模式」的自学习闭环。读完本文你将掌握这类 Agent 定义文件的完整结构身份字段、能力声明、三阶段 hooks 脚本、其自学习协议的具体命令与参数以及它在 RuView 仓库 Agent 生态中被授权、被调用的证据链。这个文件在仓库中的定位RuView 是一个无摄像头 RF 感知系统WiFi 信号空间感知、生命体征监测、存在检测其活跃实现位于v2/crates/等 Rust 工作区见 CLAUDE.md。而在仓库根目录的.claude/下维护着一套完整的 Claude Code 智能体配置体系agents/智能体定义、commands/命令、skills/技能、helpers/钩子脚本。base-template-generator.md 位于agents/templates/子目录与coordinator-swarm-init.md、orchestrator-task.md、sparc-coordinator.md、implementer-sparc-coder.md等模板类智能体并列属于该仓库 AI 辅助开发工具链的一部分。它的description字段给出了两个典型使用场景需要新建一个 React 组件基础骨架、需要搭建带错误处理与文档结构的 REST API 端点模板。从源码结构看这份文件本身不执行任何逻辑它是一份「被 Claude Code 加载后注入为子智能体系统提示词」的声明式资产真正产生副作用的是 frontmatter 中的hooks脚本与正文中约定的 claude-flow 调用协议。完整文件结构frontmatter 系统提示词整个文件可拆成两个部分第 1–69 行是 YAML frontmatter元数据与钩子第 71 行起是 Markdown 格式的系统提示词正文角色设定、自学习协议、领域优化、职责清单、质量基线。身份与能力字段L1-L12name: base-template-generator version: 2.0.0-alpha updated: 2025-12-03 color: orange metadata: v2_capabilities: - self_learning - context_enhancement - fast_processing - pattern_based_generationname/version/updated/color是智能体身份字段其中version标记为2.0.0-alphametadata.v2_capabilities声明了四个能力标签自学习self_learning、上下文增强context_enhancement、快速处理fast_processing、模式化生成pattern_based_generation。这四个标签与正文中的四个「NEW」职责条目一一对应属于「元数据即契约」的写法。角色定义在正文第 71 行You are a Base Template Generator v3.0.0-alpha.1, an expert architect ...并注明其模式学习能力由 Agentic-Flow v3.0.0-alpha.1 提供。hookspre_execution / post_execution / on_error 三阶段脚本L13-L68frontmatter 中最具实操价值的部分是hooks块它把 shell 脚本内嵌在 Agent 定义里分别绑定到执行的三个阶段。pre_executionL14-L30从历史记忆中检索相似模板echo Base Template Generator starting... # v3.0.0-alpha.1: Learn from past successful templates echo Learning from past template patterns... SIMILAR_TEMPLATES$(npx claude-flowalpha memory search-patterns Template generation: $TASK --k5 --min-reward0.85 2/dev/null || echo ) if [ -n $SIMILAR_TEMPLATES ]; then echo Found similar successful template patterns npx claude-flowalpha memory get-pattern-stats Template generation --k5 2/dev/null || true fi # Store task start npx claude-flowalpha memory store-pattern \ --session-id template-gen-$(date %s) \ --task Template: $TASK \ --input $TASK_CONTEXT \ --status started 2/dev/null || true要点调用npx claude-flowalpha的 alpha 通道 CLI通过memory search-patterns以任务串Template generation: $TASK为查询键取--k5条、且--min-reward0.85过滤低质量历史模式--session-id template-gen-$(date %s)用 Unix 时间戳生成会话 ID保证每次执行可追踪所有外部命令都带2/dev/null || true/|| echo 兜底即记忆系统不可用时不阻塞主流程——这是钩子脚本的典型防御式写法依赖外部注入的变量$TASK与$TASK_CONTEXT说明该脚本由宿主环境在注入上下文后渲染执行。post_executionL32-L56回写成功模式并训练神经模式echo ✅ Template generation completed # v3.0.0-alpha.1: Store template patterns echo Storing template pattern for future reuse... FILE_COUNT$(find . -type f -newer /tmp/template_start 2/dev/null | wc -l) REWARD0.9 SUCCESStrue npx claude-flowalpha memory store-pattern \ --session-id template-gen-$(date %s) \ --task Template: $TASK \ --output Generated template with $FILE_COUNT files \ --reward $REWARD \ --success $SUCCESS \ --critique Well-structured template following best practices 2/dev/null || true # Train neural patterns if [ $SUCCESS true ]; then echo Training neural pattern from successful template npx claude-flowalpha neural train \ --pattern-type coordination \ --training-data $TASK_OUTPUT \ --epochs 50 2/dev/null || true fi要点FILE_COUNT通过find . -type f -newer /tmp/template_start统计本次生成的文件数。注意/tmp/template_start这个标记文件在本文件中并未创建从源码结构看可以推断它是由外部运行环境在执行前落盘的时间戳锚点属于宿主约定而非自包含逻辑当前实现中REWARD与SUCCESS是硬编码的0.9/true即「跑完即视为成功」的简化版本奖励信号并未真正接入质量评估——这一点在复用该模板时值得自行改造neural train --pattern-type coordination --epochs 50会把本次输出作为训练数据喂给神经模式训练。这里的coordination与 settings.json 中claudeFlow.learning.patterns声明的三种训练模式之一coordination,optimization,prediction精确对应说明该钩子与仓库级 claude-flow 配置是配套设计的。on_errorL58-L68失败模式入库echo ❌ Template generation error: {{error_message}} npx claude-flowalpha memory store-pattern \ --session-id template-gen-$(date %s) \ --task Template: $TASK \ --output Failed: {{error_message}} \ --reward 0.0 \ --success false \ --critique Error: {{error_message}} 2/dev/null || true失败路径以--reward 0.0 --success false入库使后续--min-reward检索天然过滤掉失败样本{{error_message}}是模板占位符语法表明该钩子文本在触发前会经过宿主的模板渲染。自学习协议生成前、生成中、生成后三段循环正文的「Self-Learning Protocol」章节L73-L140用三段 TypeScript 示例把钩子脚本背后的意图翻译成 API 级描述。以下代码逐字继承自 base-template-generator.md。生成前检索历史成功模板reasoningBank.searchPatterns// 1. Search for similar past template generations const similarTemplates await reasoningBank.searchPatterns({ task: Template generation: templateType, k: 5, minReward: 0.85 }); if (similarTemplates.length 0) { console.log( Learning from past successful templates:); similarTemplates.forEach(pattern { console.log(- ${pattern.task}: ${pattern.reward} quality score); console.log( Structure: ${pattern.output}); }); // Extract best template structures const bestStructures similarTemplates .filter(p p.reward 0.9) .map(p extractStructure(p.output)); }参数语义k: 5召回 5 条候选minReward: 0.85设定质量下限随后再对reward 0.9的高分样本抽取结构骨架extractStructure形成「宽召回 严筛选」两级过滤。生成中GNN 增强检索相似项目结构// Use GNN to find similar project structures (12.4% accuracy) const graphContext { nodes: [reactComponent, apiEndpoint, testSuite, config], edges: [[0, 2], [1, 2], [0, 3], [1, 3]], // Component relationships edgeWeights: [0.9, 0.8, 0.7, 0.85], nodeLabels: [Component, API, Tests, Config] }; const similarProjects await agentDB.gnnEnhancedSearch( templateEmbedding, { k: 10, graphContext, gnnLayers: 3 } ); console.log(Found ${similarProjects.length} similar project structures);该片段把「组件-API-测试-配置」四个实体及其关联边、边权重、节点标签组织成图上下文交给agentDB.gnnEnhancedSearch用 3 层 GNN 消息传递在嵌入空间里检索相似项目结构k: 10。注释中「12.4% accuracy」是定义文件自带的宣称数字仓库内没有对应的基准脚本可供复现引用时应视为文档声明而非实测结论。同节稍后的第二个 GNN 示例L180-L205给出了更具体的图结构UserProfile组件 →UserAPI、组件有测试、API 有测试、组件有配置共 4 节点 4 边检索参数为k: 5、gnnLayers: 3用于在新项目嵌入上查找相似结构。生成后模式回写reasoningBank.storePattern// Store successful template for future reuse await reasoningBank.storePattern({ sessionId: template-gen-${Date.now()}, task: Template generation: ${templateType}, output: { files: fileCount, structure: projectStructure, quality: templateQuality }, reward: templateQuality, success: true, critique: Generated ${fileCount} files with best practices, tokensUsed: countTokens(generatedCode), latencyMs: measureLatency() });回写字段比 shell 钩子更丰富除reward/success/critique外还记录了tokensUsed与latencyMs为后续「快速生成」路由下文 flashAttention 分支提供成本数据。sessionId使用template-gen-${Date.now()}与钩子中template-gen-$(date %s)同构。模式化模板库与领域优化「Domain-Specific Optimizations」一节L142-L205给出了一个内嵌的模板库示例与检索策略// Store successful template patterns const templateLibrary { react-component: { files: [Component.tsx, Component.test.tsx, Component.module.css, index.ts], structure: { props: TypeScript interface, state: useState hooks, effects: useEffect hooks, tests: Jest RTL }, reward: 0.95 }, rest-api: { files: [routes.ts, controller.ts, service.ts, types.ts, tests.ts], structure: { pattern: Controller-Service-Repository, validation: Joi/Zod, tests: Jest Supertest }, reward: 0.92 } }; // Search for best template const bestTemplate await reasoningBank.searchPatterns({ task: Template: ${templateType}, k: 1, minReward: 0.9 });两个内置条目各有侧重react-componentreward 0.95固定了「组件 测试 CSS Module 桶文件」四件套与 TS 接口 / hooks / JestRTL 的技术约定rest-apireward 0.92固定了 Controller-Service-Repository 分层与 Joi/Zod 校验、JestSupertest 测试栈。检索时k: 1, minReward: 0.9表示只取最优单条且质量门槛抬升到 0.9——即「生成前先看库里有没有现成的高分模式」。生成流程、模板类别与质量基线定义文件把生成方法论显式写成六步L218-L225Analyze Requirements明确模板类型与用例Apply Best Practices套用项目上下文中的编码标准、命名约定与架构模式Structure Foundation清晰的文件组织、正确的导入导出、逻辑代码结构Include Essentials错误处理、类型安全、文档注释、基础校验Enable Extension预留扩展点与可定制区域Provide Context用注释解释各模板段的定制方式。其覆盖的模板类别L226-L233包括React/Vue 组件含生命周期管理、带校验与错误处理的 API 端点、数据库模型与 Schema、配置文件与环境设置、测试套件与测试工具、文档与 README 模板、构建与部署配置。质量基线L235-L244要求模板开箱即用、尽可能提供完整 TypeScript 类型、遵循项目既有约定文中特别提到项目CLAUDE.md规范、预留占位定制区、附带相关导入与依赖、给出有意义的默认值并追加三条 NEW 条款——生成前检索相似模板、模式化生成保证一致性、以质量指标回写成功模板。「Fast Template Generation」L246-L259则描述了大模板的快速路径// Use Flash Attention for large template generation (2.49x-7.47x faster) if (templateSize 1024) { const result await agentDB.flashAttention( queryEmbedding, templateEmbeddings, templateEmbeddings ); console.log(Generated ${templateSize} lines in ${result.executionTimeMs}ms); }当模板规模超过 1024 行时走flashAttention快速注意力路径并打印执行耗时。注释中「2.49x-7.47x faster」同样是文档自带声明仓库中与之相关的性能叙述集中在 .claude/skills/reasoningbank-agentdb/SKILL.md宣称 150x 模式检索加速等均属于技能文档层的说法本文不作实测背书。仓库佐证它在 RuView 的 Agent 生态中如何被授权运行单看模板文件只能知道「它想做什么」仓库里还有三处证据回答「它被允许做什么、用什么配置运行」。1. 命令白名单。settings.json 的permissions.allow显式放行了Bash(npx claude-flow*)、Bash(npx claude-flow*)、Bash(node .claude/*)与mcp__claude-flow__:*。模板钩子里每一条npx claude-flowalpha ...调用都落在这条白名单之内且deny为空数组——钩子无需逐条弹窗确认即可执行。2. claude-flow 运行时开关。同文件的env段设置了CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS1、CLAUDE_FLOW_V3_ENABLEDtrue、CLAUDE_FLOW_HOOKS_ENABLEDtrueL135-L139claudeFlow.version为3.0.0L141。模板 frontmatter 标注的 v3.0.0-alpha.1 能力v2_capabilities正是挂在这套开关之下。3. 记忆与学习配置对齐。settings.json 中memory.backend: hybrid、enableHNSW: true为钩子的模式检索提供向量索引后端learning.enabled: true、autoTrain: true与patterns: [coordination, optimization, prediction]恰好覆盖 post_execution 钩子使用的--pattern-type coordination与 50 epoch 的neural trainretention配置短期 24 小时、长期 30 天决定了回写模式的留存周期。4. 同类模板的对照。同一目录下的 coordinator-swarm-init.md 展示了同构但更轻量的写法frontmatter 只有pre/post两段钩子memory_search/memory_store函数调用正文则完整给出拓扑选型、资源配置、通信建立、使用示例、最佳实践与错误处理章节。对照可见base-template-generator是该家族中钩子最重、学习闭环最完整的一份——它同时实现了「检索-生成-回写-训练」四步而多数兄弟模板只做前两步。阅读与复用指南只读视角文件本体.claude/agents/templates/base-template-generator.md268 行。阅读顺序建议先看 frontmatter 的hooksL13-L68再看正文三段自学习示例L75-L140最后对照settings.json确认开关与白名单。运行前提钩子依赖claude-flowalphanpm 通道与宿主注入的$TASK、$TASK_CONTEXT、$TASK_OUTPUT、/tmp/template_start标记文件若不在 Claude Code claude-flow 环境中该文件只是一份可读的提示词与脚本模板不会产生副作用。复用注意REWARD0.9/SUCCESStrue为占位式常量FILE_COUNT依赖外部时间戳锚点把这套钩子移植到其他项目时奖励信号与文件计数两处需要替换为真实度量否则记忆库中积累的模式质量分将失去区分度。能力边界文中出现的加速倍数12.4% accuracy、2.49x-7.47x faster、150x 检索加速均出自该文件及配套技能文档的注释仓库内未见对应基准脚本按「文档声明CLAIMED」理解即可。小结base-template-generator.md的价值不在于某一段代码而在于它示范了 Claude Code Agent 定义文件的一种完整工程形态frontmatter 用metadata.v2_capabilities声明能力、用三阶段 shell 钩子把记忆检索与模式回写固化进执行生命周期正文用可执行的 TypeScript 示例把「生成前检索k5, minReward0.85→ 生成中 GNN 结构检索gnnLayers3→ 生成后带指标回写reward/tokens/latency」的自学习协议讲清楚并以模板库react-component / rest-api与六步方法论保证产出一致性。再结合 settings.json 中的命令白名单、V3 开关与学习配置可以完整回答「这个 Agent 为什么能在这个仓库里跑起来、它写入的记忆由谁消费」这两个问题——这正是把它作为 Agent 定义模板参考实现来读的意义。【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表