DEV Community 中文 笔记

DEV Community 中文

Dev.to是一个以软件开发、编程和技术为中心的社区驱动型网站。它于2016年由Ben Halpern推出,旨在为开发者提供一个分享知识、从他人身上学习和建立社区的平台。 该网站采用博客式格式,用户可以创建和分享各种主题的文章,如编程教程、项目展示、行业见解等。Dev.to允许用户创建账户、关注其他用户,并通过评论和反应与他们的内容互动。 Dev.to非常注重社区参与,拥有讨论论坛、播客和直播等功能。它还主办了一系列社区驱动的项目,如编程挑战和黑客马拉松,以鼓励协作和创新。 除了用户生成的内容外,Dev.to还提供了一个招聘板块,公司可以在这里发布招聘信息,而开发者可以在这里寻找就业机会。该网站还提供了一份新闻通讯,为用户提供最新文章、新闻和事件的更新。 总之,Dev.to已经成为开发者连接、分享知识并跟踪软件开发行业最新趋势和技术的热门平台。

笔记线程

本文详细阐述了名为 Claudius 的基于 Claude 的聊天机器人的服务端配置,重点涵盖其身份系统、服务连接性及部署现实。身份系统确保用户角色(如管理员、成员或访客)完全由服务端判定,客户端无法篡改。该机制采用 Auth.js 配合 Google 提供商及 MongoDB 适配器实现,角色根据管理员邮箱、白名单或默认为访客进行解析。解析后的角色被嵌入 JWT 中,以便在应用内高效访问。 provisioning 流程还会为用户特定字段设置默认值,并确保每次登录时重新计算角色。连接性通过健康检查路由进行验证,该路由会 ping MongoDB Atlas,并可选地向 Bedrock 的 Claude Haiku 模型发起一次轻量级调用。此探测验证了应用能否成功与其 AI 后端交互,并返回令牌使用元数据。应用还定义了一个 AI 模型目录,包含各自的推理配置文件 ID 及定价信息。环境变量根据各开发阶段的需求进行迭代验证,当前集合包括认证、数据库及 Bedrock 凭据。在此配置阶段,遇到了若干关键问题(或称“陷阱”)并予以解决。一个显著问题在于确保 Auth.js 适配器与应用数据库助手均指向正确的数据库,因为连接字符串中缺失数据库路径会导致默认连接到不可访问的"test"数据库。通过全局缓存 MongoDB 客户端优化了连接池。在单体仓库内的依赖管理需谨慎处理运行时依赖,并在可选依赖中包含特定平台的二进制文件以支持部署。用户身份与服务交互的基础现已奠定,但核心聊天功能尚未实现。
现代人工智能系统如今能够通过交互外部工具、数据库和服务来执行复杂任务,从而催生了 AI 智能体(AI agents)。一个重大挑战在于,每个应用程序和 API 都以独特方式暴露其能力,因此需要为每个 AI 平台进行定制集成。模型上下文协议(Model Context Protocol, MCP)通过为 AI 模型提供发现、理解和使用外部资源的标准化方式来解决这一问题。MCP 充当通用语言,使 AI 客户端能够发现工具、理解其功能、接收结构化输入、执行工具并获取结构化结果。该协议对于需要执行超出文本生成范围的操作的 AI 智能体至关重要,例如与 GitHub、Slack 或数据库交互。MCP 涉及 MCP 客户端(AI 应用程序)、MCP 服务器(暴露能力)以及工具本身。该流程包括 AI 客户端连接至服务器、发现可用工具、根据用户请求调用选定工具,并接收结构化结果。对于开发者而言,MCP 提供了标准化集成、更好的可维护性以及工具的可发现性提升。与传统暴露原始端点的 API 不同,MCP 以 AI 模型可理解的高层方式描述能力。虽然函数调用(function calling)允许 AI 调用应用程序内预定义的功能,但 MCP 为跨不同 AI 客户端共享能力提供了更广泛的生态系统。安全至关重要,MCP 服务器需要强大的身份验证、授权和验证机制。MCP 适用于多种用例,包括编程助手、企业搜索和 DevOps 工作流,它是对现有 API 的补充而非替代。
“具有竞争力的 CRS 分数对加拿大永久居民(PR)申请至关重要,而语言能力是其中的关键因素。最初,雅思(IELTS)和 CELPIP 是主要的英语考试,但相关资源缺乏关于如何取得高分的明确指导。2024 年 PTE Core 的推出提供了一种机考替代方案,尤其受到偏好可量化练习的申请人青睐。然而,PTE Core 备考资源尚不成熟,大多数内容面向 PTE Academic,对移民申请人而言并不完全适用。鉴于这一空白,创始人创立了 Phrasel,一个专为加拿大移民 aspirants 打造的学习平台与社区。Phrasel 专注于 PTE Core,深刻理解移民考试与其他通用英语考试在目标与分数门槛上的独特性。该平台强调清晰性而非海量练习材料,旨在精准定位待提升领域。其核心理念是:学习者需要诊断性反馈以指导后续步骤,而非仅仅获得更多题目或僵化的模板。Phrasel 将加拿大 PR 专用工具(如 CLB 等级转换和 CRS 分数)直接集成至练习工作流中。平台提供涵盖听、说、读、写四项技能的考试风格练习,口语和写作部分由 AI 评分并提供详细反馈。平台还提供全真模拟测试,用于精准识别优势与不足,从而支持针对性学习。Phrasel 强调培养真实的语言能力,而非依赖捷径或背诵模板,坚信真正的技能发展才能带来持久的分数提升。AI 评分虽作为有价值的训练信号,但被诚实地定位为优化工具,而非对官方 Pearson 分数的保证预测。Phrasel 的技术栈包括 Next.js、React、Vite、Flask 以及用于评分的 AI 服务。创始人认为,清晰的反馈与明确识别阻碍进步的薄弱环节,是实现高效备考的关键。
作者最近发布了一篇关于构建 ToolHub 的完整架构回顾。ToolHub 是一套包含 138 个浏览器内网页工具的套件,优先注重简洁性、隐私性和零臃肿。该站点设计为亚秒级加载速度,并完全支持离线使用,其中关键工程权衡与技术决策支撑了这些特性。架构的核心亮点之一是采用 Next.js 静态导出(Static Export),实现了 100% 静态导出模型,托管于边缘 CDN,从而实现零服务器维护与极低的字节首传时间(time to first byte)。该方案还支持无限扩展,但要求所有动态内容必须在浏览器内存中严格在客户端执行。此外,作者实现了一套自定义 Service Worker 缓存策略,对静态资源采用 stale-while-revalidate 策略,对 HTML 文档导航采用 network-first 策略,确保所有工具在缓存后具备完整的离线能力。作者还开发了一个程序化 SEO 引擎,在构建时生成带有完整 JSON-LD 结构化数据和自动化内部链接网的静态工具页面,并将其直接嵌入静态 HTML 中。该站点还采用了零 CLS(累积布局偏移)广告策略,通过在广告加载前预留显式的固定高度布局槽位,防止布局偏移。作者已将 ToolHub 站点开放供用户试用,并在其博客上发布了完整的工程深度解析,分享了构建该站点过程中的更多技术决策与权衡细节。作者正寻求用户反馈与建议,欢迎对架构提出想法以及对新工具的构思。总体而言,ToolHub 项目展示了一系列创新的技术方法,用于构建快速、支持离线且以隐私为先的 Web 应用。
有效删除个人身份信息(PII)需要精心设计处理管道,因为模型往往会静默失败。在调用模型之前先进行基于规则的预处理,可能会因生成不自然的 token 模式而混淆模型,从而恶化结果。相反,应在原始文本上独立运行语义和结构两种处理流程,然后协调结果,确保结构偏移量保持有效,并过滤掉结构流程中置信度较低的时间检测。企业文档中的标记可能会扰乱模型输出;应提取纯文本、执行删除操作,再将其重新插入原始结构中,以显著提高召回率。针对拒绝执行删除的模型,需实施拒绝检测机制,回退至结构处理流程,并将这些实例记录在案,以便调整提示词。至关重要的是,系统设计应遵循“失败即关闭”(fail closed)而非“失败即开放”(fail open)的原则,以防止删除调用超时时发生数据泄露,将结构处理流程视为降级路径,并对此类事件发出警报。通过每次删除操作记录模型 ID 和提示词哈希值来实现提示词的版本控制,从而追踪性能随时间的变化。对于删除文本中的共指关系,应使用编号占位符而非通用标签,但需注意生成的映射表本身也属于 PII,需采取适当的安全措施;若无需可逆性,则直接丢弃该映射表。为衡量精确度,应构建一组不含 PII 的“金丝雀”文档集,并在每次变更时运行该集合;若其中出现任何删除操作,即表明性能出现回退。在扩展规模时,应超越单一模型的限制,构建路由接口,根据调用方的约束条件(如延迟、驻留地或语言)将请求分发至不同模型,同时始终将结构处理流程作为通用回退方案。针对长度超过 1,024 token 的提示词,需实施精细的缓存策略,以优化成本与吞吐量。推荐的构建顺序包括:提取文本、独立运行语义和结构处理流程、过滤时间、注入结构发现结果、将内容代回标记、检测拒绝情况,并记录关键元数据,同时持续使用金丝雀集进行测试。
CdXz5zHNQW_YNDXntIFNX.webp
在构建 React 应用时,开发者在进行 API 请求时经常会遇到 CORS 错误。该错误是由于浏览器的安全策略阻止了未经适当授权的跨源请求。最稳健的解决方案是配置后端应用程序以发送 Access-Control-Allow-Origin 响应头。该头指定了允许访问 API 的前端域名。对于使用 Node.js 和 Express 的项目,这涉及使用 cors 中间件并将其配置为接受特定的源。同样,Laravel 和 Python 的 Flask 也提供了直接设置这些响应头或通过 flask-cors 等库进行配置的方法。如果无法直接修改后端,可以在本地开发期间使用代理。通过在 package.json 文件中添加 "proxy" 字段,React 开发服务器可以将请求转发至 API。此方法绕过了 CORS 限制,因为浏览器会将该请求视为同源请求。然而,这种代理方案仅在开发环境中有效,在生产环境中无法使用。一种临时但不推荐的变通方法是使用公共 CORS 代理服务,但这会引入延迟、潜在的速率限制以及安全问题。如果 API 需要身份验证(如 Cookie 或 JWT 令牌),则必须同时更新前端 fetch 请求和后端配置以包含凭证。前端请求需设置 credentials: 'include',后端则需设置 credentials: true调试 CORS 问题涉及检查浏览器开发者工具网络面板中 Access-Control-Allow-Origin 响应头的存在性和正确性。如果预检请求(OPTIONS)失败,则表明后端可能未正确配置以处理此类请求。归根结底,大多数 CORS 错误源于后端配置问题,而非前端代码。深入理解运行环境、前端及后端框架对于有效调试至关重要。
Microsoft Build 2026 的发布重点在于其 Agent Harness 和 Foundry Hosted Agents,现已进入一般可用性(General Availability)阶段。这标志着 AI 代理在生产和实际构建中的认知与方式发生了转变。研究表明,代理系统中约 98.4% 的组成部分是基础设施,而非 AI 模型本身。Agent Harness 提供了这一关键的运营核心,负责处理函数调用、上下文管理和工具路由等任务。Foundry Hosted Agents 则以托管、按消耗计费的服務形式提供该 Harness,简化了部署流程。Agent Harness 解决了生产环境中常见的瓶颈问题,例如将代理与工具连接以及持久化对话历史。Microsoft 的核心押注在于:真正的产品是这一 Harness 基础设施,而非可互换的 AI 模型。该 Harness 包含多项功能,如带历史记录的函数调用、上下文压缩、计划与执行的待办事项列表、文件记忆,以及内置的 OpenTelemetry 用于可观测性。这确保了从工具调用到审批决策的每一个操作均可追溯。Foundry Hosted Agents 通过提供托管部署,消除了对复杂 YAML 配置的需求,用户只需提供聊天客户端、指令和工具。该托管服务与本地可运行的 Harness 共享相同的核心逻辑,从而确保开发与生产环境之间行为的一致性。该框架还引入了与 GitHub Copilot 和 Claude Agent SDK 的连接,允许在不改变 Harness 的前提下进行模型切换。统一的治理策略平面确保了在不同底层 AI 模型之间保持一致的审批规则和审计轨迹。代理系统中涵盖审批网关、历史和策略执行的持久层被强调为工程投入的关键领域。Microsoft 的解决方案将 Harness 定位为稳定且受支持的产品,使开发者能够专注于构建适应性强的应用程序。
本节重点讨论控制与 AI 模型输出、对话历史及重复静态内容相关的成本。输出和推理 token 的成本显著高于输入 token,部分模型的输出成本甚至高达输入的八倍。推理过程可能生成隐藏的“思考”token,同样会产生较高的输出费用。Spring AI 提供了诸如 maxTokens 等与提供商无关的长度限制,以及针对特定提供商的设置,以管理推理努力程度。对话历史涉及每次请求重新发送整个聊天日志,这会迅速推高输入 token 成本。存储并重新发送历史意味着即使是小型对话,随着时间的推移也可能导致大量的 token 使用。Spring AI 提供 MessageWindowChatMemory 来管理对话历史,其采用指定消息数量的滑动窗口机制。对于非常长的会话,VectorStoreChatMemoryAdvisor 提供了一种替代方案,它将历史存储在向量存储中,仅检索相关消息。重复的静态内容(如系统提示或工具定义)在未缓存的情况下,每次请求都会计费。提示缓存通过存储已处理的提示前缀以供重用,从而降低这些成本。Anthropic 和 AWS Bedrock 允许用户指定缓存策略,而 OpenAI 会对超过一定 token 数量的请求自动缓存提示,尽管现在缓存写入会产生费用。本地模型(如 Ollama)利用缓存来提升速度,通过保存 GPU 处理时间,但由于不存在按 token 计费的机制,因此无法通过此方式减少成本。对于这些模型,明确规划缓存策略并管理缓存键对于成本优化至关重要。
六周前,作者指出,他们新域名 tamethebot.com 的122个页面中,只有4个被谷歌收录。他们将此归因于缺乏反向链接的年轻域名的爬取预算限制,而非技术问题。最近的更新显示了显著改善,目前有115页被索引,只有14页未被索引。作者最初关于爬取预算问题的预测被证实正确,“发现——目前未被索引”类别降至零。关键是,在此期间网站内容几乎没有任何更改;新页面的添加速度相同,单个实验性的“深度”页面表现不佳于平均水平。与索引增加同步的关键变化是作者之前的文章发布,成功获得了两个dofollow反向链接,指向主页和网站地图。虽然无法最终证明,但这个反向链接,加上域名老化和定期重新爬取,为谷歌提供了更多预算的理由。作者承认有一个技术错误:他们的IndexNow部署钩子数周内一直默默失效,尽管这并未影响谷歌的索引,因为IndexNow主要服务于必应和Yandex。被索引页面的增加转化为自然谷歌会话的显著增长,从一个小基准线开始。然而,作者提醒说,一些被追踪的“活跃用户”实际上是数据中心,而非真实人类。出乎意料的是,虽然谷歌索引器批准了这些页面,但Google AdSense却两次拒绝了同一内容的“低价值内容”。作者承认索引者的标准(这是搜索者可能想要的真实页面吗?)与AdSense的不同(该网站是否具备足够深度和流量作为广告业务?)。作者接下来的步骤是继续公开写作,以获得谷歌索引器和AdSense的认可。
本文比较了多种 Web 应用防火墙(WAF)解决方案,并按类型和部署方式对其进行分类。SafeLine Community 是一种通过 Docker 部署的自托管反向代理。Cloudflare Free 是一种基于云的边缘代理,需要更改 DNS 设置。CrowdSec WAF 是一种基于模块的自托管选项,而 ModSecurity 则作为服务器模块集成。BunkerWeb 是一种基于 NGINX 的自托管解决方案。在检测能力方面,SafeLine 与 ModSecurity 的检测率相当,但 ModSecurity 的误报率显著更高。Cloudflare Free 的检测率非常低,其功能更接近 CDN。CrowdSec 和 BunkerWeb 的性能取决于其底层的规则集。多种免费 WAF 提供无限数量的自定义规则,而 Cloudflare 的免费层级则限制较多。在机器人防护和按国家/地区屏蔽方面,自托管选项通常表现更强。SafeLine 以其简单的单命令部署和开箱即用的功能脱颖而出。Cloudflare 易于使用,但检测能力较弱,且会收集用户数据。CrowdSec 和 ModSecurity 需要更复杂的部署,其中 ModSecurity 需要进行大量调优。对于任何面向公众的网站或 API,都建议使用 WAF。免费 WAF 对于个人项目和小型企业通常已足够,尤其是与其他服务配合使用时。对于需要服务等级协议(SLA)和高级功能的生产环境,必须使用付费 WAF。免费层级通常缺乏专用支持和高级日志功能,尽管检测质量可能与付费版本相似。SafeLine Community 和 CrowdSec 被强调为真正免费且无隐藏费用的选项。插件式 WAF 由于在较晚阶段检查流量,其效果不如反向代理式 WAF。定期更新对于维持 WAF 的有效性至关重要。
通配符 DNS 记录通过自动将任意子域名解析到单个 IP 地址,实现了服务的便捷发布。Nginx Proxy Manager(NPM)进一步简化了发布流程,仅需填写少量字段即可安全地以 HTTPS 方式暴露服务。这种自动化导致了十九个代理主机的创建,它们均运行自托管软件,并采用不同的认证方法。识别出的核心问题是:便捷的发布机制绕过了关于访问控制的关键安全决策。作者的目标并非完全隐藏服务,而是使其仅可通过构建在公共基础设施之上的私有网络进行访问。通配符 DNS 记录虽然简化了设置,但其本身并不提供安全性。NPM 使用 HTTP-01 挑战来获取 Let's Encrypt 证书,这需要保持 80 端口开放,从而构成一个安全漏洞。通过 DNS-01 获取通配符证书可以关闭 80 端口,但需要授予 DNS 区域的写入权限。服务通过将容器置于共享 Docker 网络上来发布,允许 NPM 在内部代理请求。这意味着服务无需直接向主机暴露端口,从而增强了安全性。位于同一 VPS 上的自托管代理网关将流量路由回 NPM,表现为来自 VPS 公网 IP 的入站 HTTPS 流量。该网关的行为最初被误认为是路由故障,实则是安全设计的关键组成部分。NPM 使用 Nginx 配置块强制执行访问控制,仅允许来自网关内部 Docker IP 或 VPS 公网 IP 的请求,随后进行基本 HTTP 身份验证。这确保了即使服务可公开解析且拥有有效证书,访问仍受到限制。用于 Let's Encrypt 挑战的特定位置保持对互联网开放,以满足证书验证要求。两个关键主机——网关的管理面板和配置分发端点——是严格访问控制的例外,因为它们需要在完全集成网关之前即可访问。出现了一个重大问题:某项服务将其服务器地址硬编码到用户连接配置文件中,错误地通告了错误的地址。由于 NPM 通过 X-Forwarded-For 头转发真实客户端 IP,该服务将该头解释为其自身的公网地址,导致客户端连接到错误的服务器。此缺陷之所以未被发现,是因为作者使用网关进行的自身测试始终呈现了预期的正确地址。TLS 终止发生在 NPM 处,NPM 与后端容器之间的流量通过 Docker 网络以未加密的 HTTP 形式传输。
您可以使用 MCP 服务器将 AI 代理连接到 Telegram,但存在两种截然不同的配置方式,且各自具有显著的安全影响。第一种方式使用 Bot API 令牌,以机器人身份进行身份验证。该机器人只能访问其被显式添加的聊天,其权限受限且易于撤销,无法查看其未被邀请的私人消息或聊天。第二种方式使用 MTProto 服务器,使用您的电话号码进行身份验证并以您的身份登录。这使代理能够访问您 Telegram 中的所有数据,包括私人消息、群组、保存的消息和联系人。这是通过创建一个代表实时登录状态的会话文件来实现的。配置 Bot API 或通知器需要提供机器人令牌,可能还需要聊天 ID。MTProto 配置则需要安装并使用您的 API ID 和 API hash 进行交互式登录。配置文件的位置因所使用的 AI 客户端而异,某些客户端(如 Codex CLI)使用不同的配置格式(TOML)。使用 MTProto 服务器的主要风险在于会话文件提供了对账户的完全访问权限。该会话文件绝不应存储在同步文件夹中,也不应提交到代码仓库。此外,由于 AI 代理将数据和指令均视为文本,恶意消息可能被构造出来利用代理发送消息的能力,从而构成安全风险。Bot API 令牌的爆炸半径仅限于机器人所在的聊天,而 MTProto 会话文件则会危及您的整个账户。MTProto 服务器并非 inherently 不可用,但需要慎重考虑,理想情况下应使用次要账户以降低风险。在将这些社区开发的 MCP 服务器连接到重要账户之前,务必审查其代码。
为控制语义搜索应用中的 RAG 成本,应在部署前批量处理文档索引并预估 token 消耗。仅将检索到的顶部片段发送给聊天模型以生成答案。有效的 token 成本估算应将索引阶段的嵌入输入、检索时的操作以及答案生成的输入和输出分开计算。估算不仅涉及简单的 token 计数,还需评估片段大小、重叠度及 top-k 设置,因为这些因素直接影响提示长度和成本。实用的估算始于使用代表性文档和真实用户问题,以计算各种分块策略下的 token 总量。召回率至关重要:只有当最相关的段落仍被检索到时,减少片段数量才有意义。重排序可改善上下文排序,从而减少发送给聊天模型的片段数量。索引应作为独立于用户请求路径的批处理作业进行处理,以避免高摄入量导致意外的提示费用。文档索引过程中的重试需要幂等键或客户端提供的标识符,以防止重复数据。在优化提示或模型之前,必须使文档分布可见并识别 oversized 片段。使用提供商特定的 token 计数调用,并配合适当的退避和重试策略,是实现准确估算的关键。批量索引为大规模回溯提供了作业监控和审计追踪的优势,将上传与嵌入创建分离开来。重要的是不要混淆轮询批处理作业与幂等写入操作的重试策略。虽然批量索引不适合即时可搜索性,但一条小型同步路径可满足该需求。RAG 栈组件的选择(如 OpenAI、Anthropic、Google Gemini、Pinecone、Weaviate 或 Infrai)取决于现有工作流和团队优先级。迁移应仅在真正提升系统性能时进行,而非仅仅为了边际成本节约。最终,代码必须提供基于事实的答案;若检索能力薄弱,再清晰的成本估算也毫无意义。
本文探讨了自主 AI 公司在分销方面面临的约束,认为在缺乏清晰路线图的情况下,这是一项重大障碍。通过 Meta Ads 等平台进行的付费获客对中小企业(SMB)而言成本过高,当计入推理和数据支出后,客户获取成本(CAC)远超客户终身价值(LTV)。在典型的中小企业订阅费率下,自主智能体的数学模型根本无法平衡。曾经作为变通方案的冷 outreach 渠道,正日益难以支持自动化、大规模的消息发送。社交媒体平台正实施更严格的政策,以遏制 AI 生成的垃圾信息,使得智能体难以通过程序化方式发送外联消息。LinkedIn 和 Reddit 均设有服务条款(TOS)及行为过滤器,主动惩罚自动化外联行为。此外,由于共享域名以及因单个客户滥用而导致的潜在黑名单,冷邮件的投递率也受到影响。其余可行的分销渠道均需人工参与,包括内容营销、搜索引擎优化(SEO)、社群建设、创始人主导的品牌塑造以及合作伙伴关系。这些方法需要持续投入精力、判断力、审美以及长期的人际关系构建。就其本质而言,自主智能体难以执行这些本质上以人为中心的策略,尤其是在公司发展的早期阶段。作者认为,尽管推理成本正在下降、数据获取方法也在改进,但分销仍是自主 AI 的根本性挑战。对于自主扩展分销而言,不存在简单的“构建”或“等待”解决方案。该论点适用于特定利基市场,如拥有成熟付费获客渠道的消费类应用或嵌入式解决方案,但并不适用于通用的"AI 运行你的公司”愿景。归根结底,AI 为中小企业带来的真正杠杆并非完全自动化,而在于自动化分销中重复的“苦力”工作,同时由人类判断来引导整个过程。作者所在公司 Thread Otter 旨在提供一种自动驾驶系统,协助发现并接触现有需求,以用户的声音起草回复,并自动化外联中繁琐的环节,使人类能够专注于判断力的复利投入。这一方法承认分销无法被自主制造,但可以在人类监督下被发现和管理。
在业务流程中使用自主智能体可能具有不可预测性,并导致混乱的执行循环,这在处理高风险操作(如商业合同或监管合规申报)时尤为成问题。为解决这一问题,有必要建立一个结构化框架,在保持认知灵活性的同时强制执行严格规则。LangGraph 是一个编排框架,能够构建确定性的多智能体工作流,从而将不可预测的 AI 行为转化为可靠的状态机驱动的业务流程。LangGraph 将智能体交互建模为节点,将转换建模为边,从而支持循环路径和自我修正的实现。该架构确保每个节点都能访问累积的上下文,且对状态的任何修改均被显式跟踪和验证。通过使用 LangGraph,企业可以构建具有韧性且能自我修正的系统,即使面对高度变化的 LLM 输出,也能保持可预测的行为。LangGraph 特别适用于构建严格且可审计的业务工作流,其以状态为先的方法确保开发者定义的规则始终优先于智能体自主性。实施确定性的智能体工作流可直接影响运营效率、风险敞口和底线增长,例如在商业保险核保、医疗收入周期管理和供应链海关经纪等领域已有相关案例。通过使用 LangGraph,企业可以降低错误风险、提升效率并增加生产力,最终实现成本节约和收入增长。总体而言,LangGraph 为构建确定性多智能体工作流提供了稳健的解决方案,使企业在自动化复杂流程的同时保持控制力和可预测性。
阿里巴巴发布了 Qwen3.8-Max,这是一款强大的 2.4 万亿参数混合专家模型。该模型具备 100 万 token 的上下文窗口,支持文本、图像和视频输入。其 API 兼容 OpenAI 和 Anthropic 协议,便于开发者集成。定价为每百万输入 token 2 美元,每百万输出 token 6 美元。一个显著的成本节约因素是缓存输入 token 的价格降低,突显了提示词中稳定前缀的重要性。该模型的命名规范区分了迭代版本与点发布版本,其中 Qwen3.8-Max 为最新旗舰版本。尽管其总参数量为 2.4 万亿,但每个 token 仅激活约 950 亿个参数,从而提升了推理效率。有效上下文窗口约为 99.1K token,最大输出 token 限制为 13.1K。开发者可通过更新基础 URL 和模型名称来使用其兼容 OpenAI 的 API。阿里巴巴的 DashScope SDK 提供了一个代码示例,展示了其多模态能力。该模型支持多种功能,包括函数调用和结构化输出,并内置五种工具。基准测试显示,其在多模态和代理任务方面表现强劲,但在某些方面仍落后于 Claude 3.5 等竞争对手。预计不久将发布开放权重版本,同时还将推出一个 270 亿参数的小型版本。目前,缺少包含详细训练数据和安全评估的正式模型卡片。商业使用的许可条款将在开放权重发布后明确。活跃参数数量已公布,但尚未得到阿里巴巴的官方确认。尽管存在上述缺失,Qwen3.8-Max 仍被推荐用于多模态应用、长上下文任务以及现有 OpenAI/Anthropic 协议用户。
CdXz5zHNQW_cG6jtXNdCV.webp
“只需将其置于自动伸缩组之后”这一建议常用于无状态应用(如 Web 服务器)的伸缩。其效果良好,因为副本可互换,且增减时对系统影响极小。然而,这种方法并不适用于所有工作负载,尤其是那些具有特定属性、违背可互换性的工作负载。其中一种属性是会话亲和性(session affinity),即会话绑定到特定实例,难以轻易转移。另一种属性是新实例启动缓慢,若实例在需要时未就绪,则反应式伸缩将失效。对于具有此类特征的工作负载,标准的反应式自动伸缩并非正确方案。与其立即反应,伸缩扩容应采用基于趋势的较慢触发机制。这使新实例有足够时间完全就绪,再在关键需求出现前投入使用。安全地缩容同样至关重要,因为直接终止实例可能中断正在进行的工作。行业解决方案(如 AWS 生命周期挂钩)可在终止实例前实现会话的优雅 draining。该模式包括停止新工作、等待现有会话完成,随后移除实例。大规模系统(如视频会议平台)已采用此类更复杂的伸缩策略。关键要点是评估实例的可互换性。若任何实例都能即时处理任何任务,则自动伸缩是合适的。否则,必须采用较慢的扩容机制以及正确的缩容 draining 逻辑,才能有效管理具有会话亲和性或启动缓慢的工作负载。强行将此类工作负载纳入反应式、可互换的模型,将导致严重故障。
CdXz5zHNQW_x1mHmRWPT1.webp
Gemini Spark 是 Google 推出的全天候自主 AI 代理,旨在自动化 Google Workspace 中的复杂工作流。虽然它与 Gmail、Drive 和 Docs 等应用提供了强大的原生集成,但连接外部 API 需要额外配置。Google Apps Script(GAS)作为关键桥梁,使企业能够显著扩展 Gemini Spark 的功能。通过将 GAS 部署为模型上下文协议(MCP)服务器或 Webhook 端点,用户可以授予 Gemini Spark 访问专用 API 和自定义业务逻辑的权限。本文展示了五个代表性提示,体现了 Gemini Spark 的原生功能,包括自主创建包含动态公式的表格、智能搜索 Google Drive 中的文件,以及编排跨域工作流(如从网页抓取数据并生成文档)。文章还突出了 Gemini Spark 自主设置后台事件监听器的能力,用于处理传入邮件等任务。然而,一个涉及直接访问 Google Analytics Data API 的测试提示揭示了当前在连接到专用 Google API 方面的原生连接限制。为突破这些原生边界,本文详细介绍了通过自定义 MCP 服务器和 Webhook 触发器将 Gemini Spark 与 Google Apps Script 集成的方法。文章解释了如何将 GAS Web App 部署为 MCP 服务器,利用 GASADK 和 GoogleApiApp 库促进 JSON-RPC 通信。该集成使 Gemini Spark 能够安全地与 Google Analytics 4、自定义数据库及其他复杂业务逻辑相关的 API 进行交互。通过将 GAS 作为中间 MCP 服务器,开发人员可以封装安全的身份验证和数据提取逻辑。最终目标是使 Gemini Spark 能够访问更广泛的数据源和服务,从而实现企业级工作流自动化。
CdXz5zHNQW_EaBgJiSslu.webp
LINE Mini Apps 并非自动需要验证,但某些功能在发布时强制要求验证。若需验证,LINE 将严格审查身份一致性、政策合规性、频道配置及用户流程。为避免延误,在提交审核前务必对提交内容进行彻底自查。需要验证的关键功能包括:生产环境服务消息、自定义路径、主屏幕快捷方式、主页个人资料快速填充以及认证徽章。提交前,请确保在 LINE 开发者控制台、频道信息、隐私政策及频道描述中统一组织身份。公司名称在所有位置及语言中必须保持一致。清晰描述 Mini App 的工作流程,明确主要用户、核心功能及预期结果。确认审核频道准确反映已发布频道的功能、过渡、数据、认证及错误状态。为支付、预订和订单准备全面的测试场景,涵盖注册、成功与失败的交易以及数据管理。仔细检查隐私条款和条款页面,确保其公开可访问,公司名称和服务名称一致,且联系信息准确。验证 Mini App 的业务类别和内容是否符合 LINE 政策,避免受限类别和禁止内容。仅申请必要的 API 作用域并记录其用途。服务消息需单独审批流程,且严格限于对用户操作的确认或响应,不得用于推广。验证通过后,许多设置将变为重新审核敏感项,因此在首次提交前,请冻结关键配置,如频道身份、法律 URL 及作用域。规划验证时间线,通常需一至两周,并预留重新审核的缓冲时间。最后请注意,Mini App 验证与处理入站客户消息属于不同流程。