Breaking Dependencies: The SOLID Principles0 码力 | 96 页 | 2.14 MB | 1 年前3
微服务的设计原则与⽣态系统 - 王磊## 微服务的设计原则 与生态系统 王磊 ## 关于我  Ruby Gems 开发实战 传统视角下的智能体 在当前大语言模型(Large Language Model,LLM)的热潮出现之前,人工智能的先驱们已经对“智能体”这一概念进行了数十年的探索与构建。这些如今我们称之为“传统智能体”的范式,并非单一的静态概念,而是经历了一条从简单到复杂、从被动反应到主动学习的清晰演进路线。 这个演进的起点,是那些结构最简单的反射智能体(Simple Reflex Agent)。它们的决策核心由工程师明确设计的“条件-动作”规则构成,如图1 是到达公司,智能体会基于地图数据(世界模型),通过搜索算法(如A*算法)来规划(Planning)出一条最优路径。这类智能体的核心能力体现在了对未来的考量与规划上。 更进一步,现实世界的目标往往不是单一的。我们不仅希望到达公司,还希望时间最短、路程最省油并且避开拥堵。当多个目标需要权衡时,基于效用的智能体(Utility-Based Agent)便随之出现。它为每一个可能的世界状态都赋予一个效用值 循环,我们需要一套明确的交互协议(Interaction Protocol)来规范其与环境之间的信息交换。 在许多现代智能体框架中,这一协议体现在对智能体每一次输出的结构化定义上。智能体的输出不再是单一的自然语言回复,而是一段遵循特定格式的文本,其中明确地展示了其内部的推理过程与最终决策。 这个结构通常包含两个核心部分: Thought(思考):这是智能体内部决策的“快照”。它以自然语言形式0 码力 | 633 页 | 58.72 MB | 1 月前3
2019-2021 美团技术年货 前端篇大的性能问题,主要体现在以下两方面: - 首屏渲染时间长。即使使用了 FutureBuilder 把业务代码拆分成 xxx.part.js 之后,main.dart.js 体积依然维持在 1.1M。单一文件加载、解析时间过长,且静态资源缺少 CDN 化的支持,势必会影响首屏的渲染时间。 - 滚动性能较差。Flutter Web 自身实现了一套页面滚动机制,在页面滚动过程中,会频繁的创建 Canv 后)、图片文件。直接应用这些资源到项目中,会遇到以下问题: - 功能无法及时更新:浏览器对同名文件的缓存,可能导致程序代码不被及时更新或者出现执行错乱。 - 首屏渲染性能差:main.dart.js 文件过大,单一文件加载、解析时间过长,势必会影响首屏的渲染时间。 - 无法使用 CDN:Flutter 仅支持相对路径的加载方式,无法使用当前域名以外的 CDN 域名,导致无法享受 CDN 带来的优势。 为此,在加载部分我们对 默认仅支持相对域名的资源加载方式,无法使用当前域名以外的 CDN 域名,导致无法享受 CDN 带来的优势; - 首屏渲染性能不佳:虽然我们进行了 SDK 瘦身,但 main.dart.js 文件依然维持在 0.7M 以上,单一文件加载、解析时间过长,势必会影响首屏的渲染时间。 针对文件 Hash 化和 CDN 加载的支持,我们在 flutter_tools 编译流程中对静态资源进行二次处理:遍历静态资源产物,增加文件 Hash(文件内容0 码力 | 738 页 | 50.29 MB | 2 年前3
DeepSeek从入门到精通(20250204)步骤,反而可能限制其能力)。 2 ## 通用模型 - 需显式引导推理步骤(如通过CoT提示),否则可能跳过关键逻辑。 • 依赖提示语补偿能力短板(如要求分步思考、提供示例)。 ## 关键原则 ## 模型选择 1 优先根据任务类型而非模型热度选择(如数学任务选推理模型,创意任务选通用模型)。 ## 提示语设计 2 - 推理模型:简洁指令,聚焦目标,信任其内化能力。(“要什么直接说”)。 忽视AI输出可能带来的伦理影响。 ## 应对策略: ·了解界限:熟悉AI系统的基本伦理准则和限制。 · 合法合规:确保你的请求符合法律和道德标准。 ·伦理指南:在提示语中明确包含伦理考虑和指导原则。 · 影响评估:要求AI评估其建议或输出的潜在社会影响。 ## 提示语设计检查清单 · 目标明确性 ·信息充分性 · 结构合理性 ·语言中立性 ·伦理合规性 · 可验证性 ·迭代空间 |灵活调整|可根据中奖结果随时调整后续提示|实时调整需要较高的判断和决策能力| ## 提示语链的设计原则 提示语链的设计需要遵循一定的原则,以确保其在任务执行中的有效性和连贯性。这些原则为提示语链的构建提供了清晰的指导,帮助系统地组织和引导任务的分解与处理,以下是设计提示语链时应该考虑的关键原则:  ## 划分限界上下文 ## 如何进行事件风暴? 1. 确定要进行事件风暴的业务场景,场景需要单一而且清晰; 2. 用“XXX已XXX”的格式在橙色便利贴上写下事件,工作坊参与者需要对事件定义达成一致; 3. 根据时间顺序把事件便利贴贴到白板上; 4. 如果一个事件有同步发生的其它事件,把其它事件放在事件下方; 如果不能独立访问应该需要通过哪个领域模型来访问?当前领域模型就是与该可独立访问的领域模型为同一个聚合 2. 将命令贴在聚合的左面,是聚合的输入;事件贴到聚合的右面,是聚合的输出。 3. 再根据聚合的原则(下一页描述)来检验上面的划分结果是否匹配,如不匹配则基于划分原则并结合业务重新调整聚合。 ## 聚合示例 添加商品 编辑 商品 商品已创建 商品已编辑 创建订单 商品销售 $ ^{↑} $ 格已编辑 商品 编辑销售 上下文:场景、环境;所以限界上下文是在某个场景或环境下的业务边界。该边界就是业务上的职责。 ## 为什么使用限界上下文? 业务的扩展会产生越来越多的领域模型,任何大型项目都会存在很多的领域模型。当不同领域模型对应的软件代码被放在一起后,软件就变得庞大且复杂,代码难于理解、且容易出现bug,所以需要通过限界上下文来明确定义领域模型的范围和职责。 ## 寻找聚合 platform”的准确含义。查阅“The Web platform: what it is”和维基百科“Open Web Platform” ## 2016 前端开发回顾 - UI 组件和组件树被用于构建复杂 UI。 - 组件由单一文件构成,在单个文件中可能同时包含 HTML、CSS 和 JS 不再有违主流开发思想。 - React、Redux、Webpack、ECMAScript 2015(也叫 ES6)和 Babel 被 UI/交互设计。团队成员通过接手重叠部分的职责,来担任多于单人的职责,这并不是稀罕的事。 假设上述团队是由项目经理或一些项目委托人(也就是参与人、项目管理者、项目经理等等)来指挥。 大型 web 团队可能包含下列岗位,这些岗位尚未提及: • SEO 策略师 运维工程师 • API 开发者 · 数据库管理 • QA 工程师/测试者 注意: 一个小趋势似乎正在发生:“全栈开发者”同时担任前端和后端开发者的职责。 # 全能型人才/全栈神话 按照 Google Developers 网站的说法,(渐进式 Web 应用)包含以下特征: 渐进式-(应用)对每个用户都可用,(开发者)不必关心用户选择何种浏览器。因为应用是以渐进增强作为核心原则构建的。 - 响应式-适应于任何形式的设备:桌面、移动、平板或者还未出现的设备形式。 - 独立的连接 - Service workers 允许应用离线工作,或者在低质量的网络环境下工作。 类应用0 码力 | 164 页 | 6.43 MB | 2 年前3
共 725 条
- 1
- 2
- 3
- 4
- 5
- 6
- 73













