当前位置: 首页 > news >正文

LangGraph 图初始化;FastAPI(Starlette)内置的通用容器;Skill 创建与维护

LangGraph 图初始化 & app.state

图初始化:两种写法

写法1:跟 lifespan/ctx 绑定

优点:启动即校验连接。
缺点:新增图要同步改 4 处(lifespan、路由、worker startup、handler)。

写法2:模块级异步单例

优点:随处 await get_adaptive_rag_graph() 调用。
缺点:首次调用才建连接,启动阶段发现不了问题。

取舍:图不多、不追求启动即校验 → 写法2;严格要求可靠性的大项目 → 写法1。

FastAPI(Starlette)内置的通用容器

app.state是FastAPI(Starlette)内置的通用容器,用来存放跨请求共享的数据(连接池、图对象等)。

app.state.redis = await create_pool(...)
# 路由里:request.app.state.redis

这个内置的通用容器app.state规模小时直接用没问题;东西多了可以考虑用 dataclass 集中管理字段。

Skill 创建与维护

结构

skill-name/
├── SKILL.md          # 必需:YAML frontmatter + Markdown 正文
├── scripts/          # 可选:可执行脚本
├── references/       # 可选:详细文档,正文超 500 行时拆出来,按需加载
└── assets/           # 可选:模板、素材

渐进式加载三层:name+description 常驻上下文(约100 token/个)→ 正文按需加载 → references/assets 按需加载。这意味着可以多装几个 skill 而不必担心占满上下文。

Frontmatter 写法

name: 技能名(简短、唯一)
description: 做什么 + 什么场景触发。这是唯一决定智能体会不会调用它的字段,正文里再详细也没用。写具体关键词、具体场景,宁可写得"push"一点,避免该触发时没触发。
argument-hint: 一句示例用法(可选)
user-invocable: true

新建一个 skill 的步骤

  1. 明确场景:这个 skill 解决"哪类反复出现的任务",不要泛泛而写。
  2. 收集事实来源
    • 优先在有代码库访问权限的环境(Claude Code / Cowork)里生成,让内容直接来自源码,天然可信。
    • 如果只能在网页对话里整理(没有仓库访问),要在文档里明确标注"待核实",并列出需要贴哪部分代码来核实。
  3. 正文写成可执行指令,不是背景介绍。反例:"X 是一个 Y 模型";正例:"调用 X 时必须用 A 方式,不要用 B 方式,否则会导致 C 问题"。
  4. 正文控制在 500 行以内,超了就拆到 references/,正文里写清楚"什么情况下该去读哪个 reference 文件"。

多个 skill 共存时的组织原则

  • 一个 skill 只管一件事,按项目/子系统边界拆分,不要塞成大杂烬。
  • 避免内容重叠:两个 skill 描述同一件事,会导致触发时互相抢,智能体可能读错那一个。
  • 标注可信度等级:核实过源码的 vs 对话整理待核实的,在文档开头写明,方便自己和协作者判断该信到什么程度。

排查"触发不准"

  • 该触发没触发 → 通常是 description 写得不够具体、关键词覆盖不够,补充用户可能的实际问法。
  • 触发了不该触发的场景 → description 和别的 skill 重叠,或者写得太宽泛,收窄场景描述。
  • skill 数量较多(5-6 个以上)时,值得用官方 skill-creator 流程做系统性的触发准确率评估,而不是靠感觉一条条改。

维护习惯

  • 每次相关代码/架构有重大改动后,顺手更新对应 skill,或者明确告知哪部分可能已过时。
  • 定期(如每月)粗过一遍所有 skill,处理"待核实"清单里堆积的条目。
  • 用 git 管理所有 skill 文件夹,网页端 Customize → Skills 里的上传只当作"部署",不当作版本记录。
http://www.jsqmd.com/news/1181811/

相关文章:

  • 16K上下文长度优势:DeepSeek-R1-Distill-Qwen-7B在长文本处理中的表现
  • 别再盲信官网参数!2026年6月真实AI模型排名曝光:3大国产模型逆袭进前5,但存在隐性幻觉风险(附检测脚本)
  • 三步免费解锁WeMod Pro:终极Wand-Enhancer使用指南
  • 实验总翻车?试试云克隆全自研 ELISA 试剂盒稳住批间差
  • 终极指南:如何让2007-2017年的老款Mac电脑免费升级最新macOS系统
  • Kimi-K2-Thinking-MXFP4-AttnFP8模型评估:量化损失与精度恢复策略
  • 2026 徐州市鼓楼区防水、防水公司推荐|屋面防水、楼顶防水、卷材防水、厂房屋面防水、办公楼屋面防水、屋面防水修缮公司哪家好?TOP5 权威推荐 + 避坑指南 - 万至防水
  • 5种平衡方法对比:balance中的CBPS与IPW谁更优?
  • Loop:革命性的macOS窗口管理工具,让桌面布局变得优雅高效
  • 香奈儿CF、LV老花包怎么卖?2026北京名包回收最新估价标准全公开 - 全国奢侈品回收中心
  • tchMaterial-parser:离线教材下载的完整解决方案
  • 卡地亚保养费用透明吗?2026 年 7 月揭秘:假网站低价引流的收费陷阱 - 卡地亚中国售后中心
  • mlx-community/Qwen3.5-2B-OptiQ-4bit的6大核心优势解析:为什么选择这个量化版本
  • 如何3分钟搞定网易云QQ音乐歌词下载:免费批量提取神器完全指南
  • 终极指南:gemma-4-e4b-it-OptiQ-4bit视觉组件集成与optiq_vision.safetensors使用详解
  • 2026年乌鲁木齐财务软件如何选不踩雷?5家实测对比与避坑推荐 - 中国华商产业观察网
  • 口腔溃疡愈合慢、总反复?从黏膜修复效率看产品选择逻辑
  • 福州黄金变现 3 个筛选标准,6 大回收渠道对比少踩坑 - 小蝶回收测评
  • 重庆旧金手链回收拆解,正规商家不压低黄金纯度价 - 每日生活报
  • 2026龙岩暴雨多发!楼顶外墙阳光房阳台窗边漏水如何彻底解决? - 宅安选房屋修缮
  • 主打复古中古风,2026无锡爱格可丽芙定制榜单 - 设计本
  • 海外红人营销执行中,如何判断达人内容是否值得复用?
  • Ultimate Vocal Remover技术架构深度解析:AI音频分离的神经网络实现
  • 适配 UI 设计师工作场景的导航对比|兼顾职场办公 + 设计全流程工具
  • 海门如皋区2026南通黄金回收避坑指南:实测两家靠谱老店 - 观金堂黄金回收
  • 计算机毕业设计之jsp山青景区客流统计平台
  • 计算机毕业设计之基于springboot宿舍管理系统的设计与实现
  • 安徽哪家文武学校好?2026安徽有名文武学校盘点,芜湖家长闭眼入 - 全国文武学校招生
  • 解锁4K上下文长度:Phi-3.5-mini-instruct_rai_1.7.1_npu_4K在AMD NPU上的高效应用指南
  • 福建外墙仿石漆厂家推荐:仿石漆老牌厂家实力与深度解析 - 优企甄选