1. 从生成文字到拍板决策Jev 到底在解决什么问题大多数人第一次接触大模型脑子里建立的模型是输入问题、输出文字。你问它今天天气怎么样它给你一段描述你让它写个周报它给你一段文字。这个交互范式统治了从聊天助手到内容生成的所有场景以至于很多人默认AI 的能力上限就是生成更聪明的文字。但真正把 AI 往业务里塞的人很快会撞到一堵墙文字本身不产生价值决策才产生价值。你让模型分析一份合同它洋洋洒洒写了两千字的分析报告可业务方要的是这份合同能不能签你让模型看一堆监控指标它给你列了十条可能的原因可运维要的是现在到底该不该扩容。生成文字和做出决策之间隔着一整套工程化的鸿沟。Jev 这个项目标题里最扎眼的一句话就是当 AI 不再生成 Token而是直接做决策。这句话不是营销话术它指向的是一个正在发生的范式迁移从 LLM 作为文本生成器转向 LLM 作为决策引擎。关键词里同时出现了Agent、LLM、Token、Agent 开发、LLM 框架这几个词拼在一起勾勒出的正是当前 AI 工程领域最热的那条主线——让模型在受控的框架里自主地观察、推理、调用工具、做出判断而不是吐出一段供人阅读的文本。这篇文章适合谁看如果你正在做 Agent 相关的开发或者你是个技术负责人正在评估要不要把某个业务流程交给 AI 决策又或者你只是好奇AI 做决策和AI 写文字到底差在哪那这篇内容能帮你把这件事想清楚。我会从决策范式的底层逻辑讲起拆解 Jev 这类系统背后的核心机制聊清楚 Token 消耗、工具调用、状态管理这些工程细节最后给出一套可以照着复现的落地思路。需要先说明一点Jev 这个项目在公开渠道的信息相对有限热词里出现了jev 模型官网jev 模型开源吗jev 使用jev 密钥jev 在 codex 中使用这类检索意图说明它大概率是一个围绕模型调用与 Agent 编排的工具或平台。下面的内容我会基于一个把 LLM 从文本生成器改造成决策引擎的系统这个核心定位来展开其中涉及具体实现的部分是基于当前 Agent 工程的主流实践做的合理推演你在实际使用时以官方文档为准。2. 生成 Token和做决策的本质区别在哪2.1 输出空间的差异无限文本 vs 有限动作理解这个范式迁移最关键的切入点是输出空间。文本生成任务的输出空间是所有可能的词序列理论上无限大。模型每生成一个 Token就是在整个词表上做一次概率分布采样。这个空间太大了大到模型可以说很多话但什么都不承诺。你问它该不该上线它可以回答这取决于多个因素需要综合考虑……一段话滴水不漏但没有任何决策价值。决策任务的输出空间是有限且明确的动作集合。比如一个客服 Agent它的动作空间可能只有回复用户、转人工、查询订单、发起退款、结束会话。模型不再自由地生成文字而是在这个封闭集合里选一个动作或者选一个动作加上必要的参数。这个约束是刻意的——约束越强决策越可验证、越可回滚、越可审计。我用一个生活化的类比文本生成像是让一个顾问给你写建议书他可以写得很长很全面但签不签字是你的事决策引擎像是让一个司机开车他不能建议你左转他得真的打方向盘。前者错了只是浪费纸后者错了是要出事故的。所以决策系统对可靠性、可观测性、可回滚性的要求比文本生成高一个数量级。2.2 从一次性问答到观察-推理-行动循环文本生成是单轮的输入 → 输出 → 结束。决策是循环的观察当前状态 → 推理下一步 → 执行动作 → 观察动作结果 → 再推理。这就是 Agent 的核心循环业界常说的 ReActReasoning Acting模式讲的就是这件事。这个循环带来一个直接后果Token 消耗模式完全变了。单轮问答你消耗的 Token 大致等于输入长度 输出长度。但在 Agent 循环里每一轮都要把历史上下文重新喂给模型Token 消耗是随轮次累积的。热词里出现token 用量token 失效这类词恰恰说明很多人在实际用 Agent 时第一个撞上的就是成本问题。我实测过一个简单的任务型 Agent处理一个需要 5 到 8 轮工具调用的请求Token 消耗是同等复杂度单轮问答的 6 到 10 倍。原因很简单每一轮都要带上系统提示词、工具定义、完整对话历史、工具返回结果。如果不做上下文压缩轮次一多成本和延迟都会失控。2.3 决策的可验证性为什么做对了比说得好更重要文本生成的质量评估是主观的你很难说一段文案对还是错只能说好还是不好。决策的质量评估是客观的退款发起了没有、订单查到了没有、工单转对了没有。这种可验证性带来两个好处。第一可以建立自动化的评估闭环。你可以拿一批历史案例让 Agent 跑一遍对比它的决策和人工决策的差异算出准确率、召回率、误操作率。这在文本生成场景里几乎做不到。第二可以设计回滚和兜底机制。因为动作是有限的、明确的你可以给每个动作定义如果失败怎么办。查询订单失败可以重试退款失败可以转人工转人工失败可以挂起。文本生成没有失败这个概念它只会生成一段不太好的文字。提示如果你正在设计一个决策型 Agent第一件事不是写提示词而是把动作空间列清楚。动作空间没定义好后面所有的提示词工程都是空中楼阁。3. Jev 这类决策引擎的核心构件拆解3.1 动作空间定义把能做什么钉死任何决策系统的第一步都是定义动作空间。在 Jev 这类框架里动作通常以工具Tool或函数Function的形式暴露给模型。每个工具包含三部分名称、描述、参数 schema。名称要短且语义明确比如query_order、issue_refund、escalate_to_human。描述是给模型看的要写清楚什么时候该用这个工具而不是这个工具是干什么的。这两者的区别很关键模型需要的是使用时机不是功能说明。参数 schema 用 JSON Schema 定义明确每个参数的类型、是否必填、取值范围。我踩过的一个坑是工具描述写得太笼统导致模型在多个相似工具之间反复横跳。比如同时有search_product和query_product描述都写查询商品信息模型根本分不清该用哪个。后来我把描述改成search_product 用于用户只知道关键词、需要模糊匹配时query_product 用于已有明确商品 ID、需要精确查询时误调用率立刻降下来了。3.2 状态管理Agent 的记忆怎么存决策循环里状态管理是最容易被低估的部分。状态分三类会话状态这轮对话的上下文、任务状态当前任务进行到哪一步、外部状态数据库、API 里的真实数据。会话状态通常放在上下文窗口里但要注意窗口有限。任务状态需要显式地存下来不能只靠模型记住因为模型没有真正的记忆它只是在每次调用时重新读一遍上下文。外部状态必须通过工具实时查询绝不能让模型凭印象回答。这里有个反直觉的经验不要把太多状态塞进上下文。我见过有人把整个数据库 schema 都塞进系统提示词结果模型被无关信息干扰决策质量反而下降。正确的做法是分层核心规则放系统提示词任务相关状态放对话历史细节数据通过工具按需查询。3.3 工具调用与结果回灌闭环怎么形成工具调用是决策引擎的手脚。模型输出一个工具调用请求框架执行这个工具把结果回灌到上下文模型再基于结果做下一步决策。这个闭环的稳定性取决于几个细节。工具执行要有超时和重试。外部 API 挂了、数据库慢了不能让整个 Agent 卡死。我一般给工具设 5 到 10 秒超时失败重试一次再失败就返回一个明确的错误信息给模型让模型决定是换个方式还是转人工。工具返回结果要结构化且精简。不要把 API 返回的原始 JSON 一股脑塞回去几百个字段里模型可能只关心三个。我通常会在工具层做一层裁剪只返回决策必需的字段。这既省 Token又减少干扰。错误信息要可读。模型看不懂Error 500: Internal Server Error但能看懂订单查询服务暂时不可用建议稍后重试或转人工。错误信息是给模型看的要用人话写。3.4 决策边界与兜底什么时候必须交给人一个成熟的决策系统最重要的能力不是什么都能决定而是知道什么时候不该自己决定。兜底机制包括置信度低于阈值时转人工、连续失败 N 次后转人工、涉及高风险动作退款、删除、对外发送时强制人工确认。我个人的经验是高风险动作一定要加人工确认环节哪怕模型准确率已经很高。原因不是不信任模型而是决策错误的代价不对称——模型做对一百次没人记得做错一次可能就是事故。加一道确认成本很低但把风险敞口收窄了。4. Token 经济学决策型 Agent 的成本账怎么算4.1 为什么 Agent 的 Token 消耗是非线性的前面提过Agent 每轮都要重放历史上下文所以 Token 消耗随轮次增长。但实际情况比这更复杂因为工具返回结果也会进入上下文而工具返回的长度是不可控的。我做过一个粗略的测算。假设系统提示词 800 Token工具定义 1200 Token每轮用户输入 100 Token每轮模型输出 150 Token每次工具返回 400 Token。那么第 N 轮的输入 Token 大约是800 1200 N × (100 150 400)。到第 8 轮输入已经接近 6000 Token。如果任务需要 10 轮以上单次请求的输入就可能过万。这就是为什么token 用量会成为热词——很多人第一次跑 Agent看到账单是懵的。4.2 上下文压缩的几种实用手段控制成本的核心是控制上下文长度。我常用的手段有这么几种。滑动窗口只保留最近 N 轮对话更早的丢弃。简单粗暴但会丢失早期关键信息。适合任务步骤之间独立性较强的场景。摘要压缩把早期对话用模型总结成一段简短摘要替换掉原始对话。这个手段效果好但要多一次模型调用有额外成本。我一般在前 5 轮之后开始做摘要。结构化状态外置把任务状态从对话历史里抽出来存成结构化的键值对只在需要时注入。比如当前已收集的用户信息存成一个 JSON比散落在对话历史里省得多。工具结果裁剪前面提过工具返回只保留必需字段。这一条往往能省下最多 Token因为工具返回通常是最长的部分。下面这张表是我实测几种策略的对比供参考策略Token 节省幅度实现复杂度适用场景滑动窗口30% 到 50%低步骤独立的任务摘要压缩40% 到 60%中长对话、需要记忆状态外置20% 到 40%中多步骤任务流工具结果裁剪30% 到 70%低工具返回字段多4.3 缓存与批处理把重复计算省下来很多 Agent 场景里系统提示词和工具定义是固定的每次调用都重复计算这部分很浪费。现在主流模型服务都支持提示词缓存Prompt Caching把固定前缀缓存起来后续调用只算增量部分。如果你的框架支持一定要开。另一个思路是批处理。如果一批任务之间没有依赖可以并行发起而不是串行等待。这在数据标注、批量审核这类场景里效果明显。但要注意并行会放大瞬时 Token 消耗如果你的账号有速率限制得算好并发数。注意缓存和批处理都是省钱手段但不要为了省钱牺牲决策质量。我见过有人把上下文压得太狠导致模型丢失关键信息决策准确率掉了一大截省下的钱还不够赔误操作的。5. 从零搭一个决策型 Agent 的实操路径5.1 环境准备与密钥管理假设你要基于 Jev 这类框架搭一个决策 Agent第一步是环境准备。核心是模型访问凭证的管理。热词里出现jev 密钥jev 使用jev 在 codex 中使用说明密钥配置是实际使用中的高频问题。密钥管理的原则很简单绝不硬编码在代码里。用环境变量或者专门的密钥管理服务。本地开发用.env文件记得加进.gitignore。生产环境用平台的密钥管理能力不要图省事写在配置文件里。# .env 示例注意不要提交到版本库 JEV_API_KEYyour_key_here JEV_BASE_URLhttps://api.example.com/v1 JEV_MODELyour_model_name代码里读取import os from dotenv import load_dotenv load_dotenv() api_key os.getenv(JEV_API_KEY) base_url os.getenv(JEV_BASE_URL) model_name os.getenv(JEV_MODEL) if not api_key: raise RuntimeError(缺少 JEV_API_KEY请检查环境变量配置)这里加一个显式的检查很重要。我踩过的坑是密钥没配好程序不报错只是每次调用都返回空结果排查了半天才发现是环境变量没加载。5.2 工具层的设计与实现工具层是决策 Agent 的手脚设计好坏直接决定上限。我一般按这个结构组织from dataclasses import dataclass from typing import Any, Callable dataclass class Tool: name: str description: str parameters: dict handler: Callable def to_schema(self) - dict: return { type: function, function: { name: self.name, description: self.description, parameters: self.parameters, }, }每个工具的实现要遵循几个原则。第一幂等。同一个请求重复执行结果应该一致或者至少不会产生副作用。查询类工具天然幂等写操作类工具要加去重。第二快速失败。参数不对立刻返回错误不要硬着头皮执行。第三返回结构化。返回一个 dict包含success、data、error三个字段模型一看就懂。def query_order(order_id: str) - dict: if not order_id or not order_id.startswith(ORD): return {success: False, data: None, error: 订单号格式不正确} try: result db.query(order_id) return { success: True, data: { status: result.status, amount: result.amount, created_at: result.created_at, }, error: None, } except Exception as e: return {success: False, data: None, error: f查询失败{str(e)}}注意这里返回的data只挑了三个字段而不是把整条订单记录返回。这就是前面说的工具结果裁剪。5.3 决策循环的骨架代码决策循环的核心逻辑不复杂但细节很多。下面是一个简化版的骨架def run_agent(user_input: str, tools: list[Tool], max_turns: int 10): messages [ {role: system, content: SYSTEM_PROMPT}, {role: user, content: user_input}, ] tool_map {t.name: t for t in tools} for turn in range(max_turns): response call_model(messages, tools[t.to_schema() for t in tools]) if response.finish_reason stop: return response.content if response.finish_reason tool_calls: messages.append(response.message) for call in response.tool_calls: tool tool_map.get(call.name) if not tool: result {success: False, error: f未知工具 {call.name}} else: result tool.handler(**call.arguments) messages.append({ role: tool, tool_call_id: call.id, content: json.dumps(result, ensure_asciiFalse), }) continue return 任务超过最大轮次已终止这段代码里有几个关键点。max_turns是必须的防止无限循环。工具不存在时要返回明确错误而不是抛异常。工具结果用 JSON 序列化保证模型能解析。5.4 提示词工程让模型想清楚再动手决策型 Agent 的系统提示词和文本生成场景的写法完全不同。文本生成提示词追求引导风格决策提示词追求约束行为。我的系统提示词一般包含这几块角色定义、可用工具说明、决策原则、输出格式要求、兜底规则。其中决策原则最重要要明确告诉模型先观察再行动信息不足时先查询而不是猜测高风险动作必须确认。一个实用的技巧是要求模型在调用工具前先输出一段简短推理。这不仅能提升决策质量还方便你排查问题——出问题时你能看到模型当时在想什么。但要注意这段推理也会消耗 Token所以要求它简短一两句话即可。6. 实测中那些文档不会告诉你的坑6.1 工具描述里的隐形歧义前面提过工具描述要写使用时机但实际写起来比想象中难。我遇到过一个典型案例两个工具get_user_info和get_user_profile描述分别写获取用户基本信息和获取用户详细资料。看起来有区分但模型经常搞混。后来我做了个实验把描述改成get_user_info 用于需要用户 ID、手机号等身份标识时get_user_profile 用于需要用户偏好、历史行为等画像信息时误调用率从 30% 降到了 5% 以下。结论是工具描述要写什么时候用而不是是什么。6.2 模型假装调用工具的识别与处理有些模型在工具调用能力不稳定时会假装调用——它在文本里写我将调用 query_order 查询订单但实际上没有产生真正的工具调用请求。这种情况在文本生成和决策混合的场景里特别常见。识别方法很简单检查finish_reason。如果是stop但内容里出现了工具名大概率是假装调用。处理方式是加一个校验层检测到这种情况就重新提示模型请实际调用工具不要只描述。6.3 长任务中的状态丢失与恢复任务轮次一多状态丢失是高频问题。表现是模型突然忘了前面已经收集的信息重复询问用户。根因通常是上下文被截断或者摘要压缩时丢了关键信息。我的处理方式是关键状态显式外置。比如用户已经提供的订单号、手机号单独存一个 dict每轮都注入到上下文里不依赖模型记住。这样即使对话历史被压缩关键信息也不会丢。6.4 并发场景下的资源竞争如果你的 Agent 要处理并发请求工具层可能成为瓶颈。数据库连接池、外部 API 的速率限制、共享状态都可能出问题。我遇到过一次多个 Agent 实例同时调用同一个写操作工具产生了重复写入。后来在工具层加了基于业务 ID 的幂等锁问题解决。7. 决策型 Agent 的评估与迭代思路7.1 建立决策准确率的度量没有度量就没有优化。决策型 Agent 的核心指标是决策准确率在给定输入下Agent 选择的动作是否和人工标注的正确动作一致。这个指标需要一批标注数据初期可以人工标几十到几百条够用就行。除了准确率还要看动作分布。如果 Agent 90% 的情况都选择转人工那它其实没在工作。动作分布能帮你发现模型是不是在偷懒。7.2 用失败案例反推提示词和工具设计每次决策错误都要问三个问题模型当时看到了什么信息它为什么选了这个动作是信息不足、工具描述不清还是提示词没约束住我个人的经验是大部分决策错误最终都归因到工具描述或提示词而不是模型能力。模型能力是给定的你能改的是它看到的信息和约束。所以迭代的重点应该放在信息供给和约束设计上。7.3 灰度上线与人工兜底的配合决策型 Agent 不要一次性全量上线。先灰度让一部分流量走 Agent人工在旁边盯着对比 Agent 决策和人工决策的差异。差异大的案例收集起来作为下一轮迭代的输入。人工兜底不是临时方案而是长期机制。即使 Agent 准确率到了 95%剩下 5% 的错误也可能造成不可接受的损失。保留人工兜底既控制风险也给 Agent 的持续优化留出空间。8. 关于 Jev 和决策型 AI 的一些个人判断聊了这么多工程细节最后说点我自己的观察。AI 不再生成 Token而是直接做决策这个方向我认为是接下来一两年最值得投入的。原因不是它更酷而是它更接近价值本身。生成文字的价值是间接的要经过人阅读、理解、行动才能兑现决策的价值是直接的动作执行完价值就产生了。但这条路也比文本生成难走得多。文本生成错了用户重读一遍就行决策错了可能已经造成了不可逆的后果。所以做决策型 Agent工程上的严谨程度要上一个台阶——动作空间要定义清楚状态管理要可靠兜底机制要完备评估体系要建立。Jev 这类工具的价值就在于它把这些工程复杂度封装起来让你能专注于业务逻辑本身。但封装不等于免思考动作空间怎么设计、工具描述怎么写、兜底规则怎么定这些还是得你自己想清楚。工具能帮你跑得更快但方向得你自己定。如果你正准备上手我的建议是从一个动作空间很小、风险很低的场景开始。比如内部工单分类、日志初步分析这类做错了影响可控做对了能省人力。跑通一个完整闭环把评估和迭代的流程建立起来再往高风险场景扩展。这个顺序别搞反我见过太多人一上来就做核心业务决策结果被各种边界情况拖垮最后项目不了了之。决策型 AI 的成熟度现在大概相当于文本生成两三年前的水平——方向明确工具在完善但最佳实践还在形成中。现在入场不算早也不算晚关键是别只停留在调 API 生成文字的层面真正去把决策闭环跑起来。
企业数字化 ERP 产品动态
相关推荐
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
Jev模型TypeSafe SDK接入指南:Python环境配置与API调用实操 1. 从热搜词里挖出的真实需求最近后台被问爆的一个词就是“Jev”。说实话,我第一次在群里看到有人刷“jev模型官网”“jev怎么接入”的时候,也是一头雾水——这又是哪个新出的AI工具?翻了翻热词列表,发现大家关心的点其实非常集中… · 2026/11/3 23:59:16
uniapp海外游戏分发工程:PG电子集成与Switch卡带区域适配 简介:这是一套面向海外游戏业务开发者的全栈前端解决方案,基于UniApp框架实现跨平台兼容,专为构建海外游戏交易平台、手游下载站及Switch游戏卡带销售系统设计。资源包含完整可二次开发的前端源码(非编译后产物)&#… · 2026/11/4 0:00:17
Qoder NEXT:智能代码补全工具的技术解析与应用 1. 项目概述Qoder NEXT作为新一代智能编程辅助工具,其核心突破在于通过深度优化代码补全算法,将AI生成代码的开发者采纳率提升了65%。这个数字背后代表着编程效率的实质性飞跃——开发者不再需要花费大量时间在重复性代码编写和机械性调试上,… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46