
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
【状态模式】状态模式主要解决的是当控制一个对象状态转换的条件判断过于复杂时,把判断逻辑转移到表示不同状态的一系列类中,从而简化复杂的逻辑判断。(如果状态转换条件判断很简单,就没必要用状态模式了)【FSM的相关概念】输入:在上一篇文章中,我们并没有显式给状态机输入,在这个实现中给显式的输入,我们暂且认为所有输入都是string类型的。在实际运用中,可以写一个输入类。状态:表示对象的某种形态,在当前形
结合具体的实际需求来:假设有这样一个NPC,绕着固定的某个点以半径20米随机巡逻,让主角进入时,开始朝着主角攻击,距离主角3米时,开始攻击主角,如果距离主角超过10米,则重新巡逻。实际上应该有更多的节点来保证逻辑的正常,我们再后面的文章中结合实际来添加更多节点。如何做状态划分是任意的,划分的原则是尽可能让状态更少,这里将NPC的四个行为分成巡逻和追击两个状态。前后对比可以发现:真正的执行动作的代码
这里要对控制节点做特殊处理,控制节点会控制自身的子节点运行,其状态受子节点影响,当打断存在时,子节点可能不需要再次运行,因此控制节点在控制子节点运行前需要知道当前是否被打断。为了解决该问题,就需要给动作节点引入一些事件,当特定事件发生时,在动作节点内接收该事件,直接结束动作节点的运行,返回失败。需要将打断动作节点及节点的逻辑做成单独的Conditional节点,这些节点接收消息或监听变化,以决定是
黑板模式的数据管理本质还是通过键值对的方式,为处理不同的情况,我们需要对每种情况提供不同的Key。因此,在实现动作节点时,属于其他模块的直接调用其他模块的接口或在其他模块内实现,属于角色行为的在动作节点内实现。在黑板中,我们需要根据这些参数生成唯一的Key,这里自然而然的就会需要对参数做封装,用泛型,用对象池。根据行为树ID,节点ID,数据ID,方法ID可以实现不同的数据获取,程序只需实现方法ID
【基本概念】有限状态机(finite-state machine,FSM)可以解决有限个状态转换的问题。具体的定义和相关的概念先不说,我们直接通过例子来理解。我们知道一个角色通常会至少有idle,walk,jump,attack,dead这五种状态,我们在操作角色时角色会根据我们的操作转换为不同的状态,那么角色如何根据输入转换为相应的状态呢,这就是状态机的要解决的问题。【我们的需求】按I键,角色变
MCP(模型上下文协议)是一种开源标准协议,用于统一大语言模型与外部数据源、工具的连接方式。它采用Host-Client-Server架构,通过JSON-RPC实现标准化通信,支持本地(Stdio)和远程(HTTP)两种传输方式。MCP的核心价值在于降低适配成本、增强安全管控,并扩展模型能力。协议包含数据层(定义通信规范)和传输层(管理通信通道),MCPServer提供资源、工具和提示三类功能。开
在现代基于大模型(LLM)的智能代理(agent)架构中,LLM是AI Agent的“大脑”,负责思考和规划,Skill(技能)是"手脚",负责执行和行动,通常指一组封装好的、面向特定功能的可调用单元(函数、API、服务或子代理),这些单元可以被Agent在推理过程中动态调用以完成具体任务。在某些框架中也被称为Tools或Plugins,
搜索最基本的思路是穷举搜索,例如广度优先和深度优先搜索,但当搜索空间过大,也即可能性太多时,最好可以提供一种方式,对可能性做筛选,减少搜索空间,进而提高搜索效率。常用的说法是cost,从一个点到另外一个点的成本,通常成本就是距离的度量,在机器学习中,还会加上其他因素的度量,寻路算法中只有距离度量。通常来说,搜索是一步步进行的,每一步会将新的可能加入到待处理队列中,如果每一步都从当前可能中选择一个最
数据加密分为单向加密、对称加密和非对称加密。单向加密常用算法有MD5和SHA系列,对称加密常用算法有DES、3DES、AES,非对称加密常见算法有RSA、ECC这里的数据可以是用户名、密码、文本、图片、PDF,小到几百b,达到几十G。一般而言,如果不是搞信息安全的,了解这些加密方式的优缺点和适用场景即可,不用去看其实现原理。(更详细的直接看参考链接)







