- 博客(16)
- 收藏
- 关注
原创 垃圾回收机制
Java 堆被划分为新生代和老年代两个区域。新生代又被划分为 Eden 空间和两个 Survivor 空间(From 和 To)。新创建的对象会被分配到 Eden 空间。当 Eden 区填满时,会触发一次 Minor GC,清除不再使用的对象。JVM 会为对象维护一个“年龄”计数器,记录对象在新生代中经历 Minor GC 的次数。每次 GC 未被回收的对象,其年龄会加 1。当超过一个特定阈值,默认值是 15,就会被认为老对象了;Survivor 放不下存活对象;大对象,都会被移动到老年代。
2026-09-01 20:54:33
149
原创 物理内存 虚拟内存
是操作系统提供的一种内存管理技术,它使得应用程序认为自己有连续的、独立的内存空间,而实际上,这个虚拟内存可能部分存储在物理内存上,部分存储在 磁盘(如硬盘的交换分区或页面文件) 中。访问分页系统中内存数据需要两次的内存访问 :一次是从内存中访问页表,从中找到指定的物理页号,加上页内偏移得到实际物理地址,第二次就是根据第一次得到的物理地址访问内存取出数据。当一个程序访问的页(页面)不在物理内存中时,就会发生缺页中断。虚拟内存使用的是逻辑地址,它与实际的物理内存地址不同,必须经过地址转换才能映射到物理内存。
2026-08-31 22:34:50
496
原创 FunctionCalling与MCP:大模型交互与工具执行的标准化
MCP 是一个开放协议,用于标准化应用程序向大语言模型(LLM)提供上下文的方式。你可以把 MCP 想象成 AI 应用的 USB-C 接口——正如 USB-C 提供了一种将设备连接到各种外设和配件的标准化方式一样,MCP 提供了一种将 AI 模型连接到不同数据源和工具的标准化方式。MCP的出现不是为了解决function calling的问题的(幻觉,提取不准确等问题依然可能出现),而是为了解决针对多家API格式不统一导致的适配问题。
2026-08-20 10:25:43
339
原创 Agent评测
结合我了解到的目前面试中遇到的问题和当前AI的发展趋势,感觉仅仅了解agent的设计已经不够了(当然记忆机制、上下文机制等等还是很重要的),但是现在更多的人开始关注agent的执行效率,或者说不再仅仅问你是怎么做的agent,而是问你做的agent到底怎么样,是不是真的能用,是不是真的好用。把agent评测单独拎出来作为一个命题,希望得到一个标准流程化的方案来检测我们设计出来的agent。
2026-08-15 17:57:42
176
原创 Python 继承的两条路:ABC 与 Protocol,到底差在哪?
写 Python 的人迟早会碰到同一个问题:我想定义一套「契约」——规定某些类必须实现某些方法,然后让别的代码依赖这套契约而不是具体实现。从 Python 3.0 的 `abc` 模块,到 Python 3.8 引入的 `typing.Protocol`,官方前后给了两套机制。但很多人用了很久,仍说不清:为什么有时候要 `class Foo(ABC)`,有时候只要写个 `Protocol` 就够了?选错方案,轻则代码耦合、测试难写,重则和第三方库「明明方法都对得上却报错」。
2026-07-22 16:58:47
377
原创 动态规划——一维
只依赖左侧状态——从小到大计算,访问dp[i]时它需要的左边值全部提前算好,可以直接复用。例如,普通线性 DP(爬楼梯、解码方法、铺瓷砖 numTilings);完全背包(物品无限选,一维 DP);组合总和 IV(求排列,先金额后数字)。求dp[i]时,依赖下标更大、还没被覆盖的右侧状态。例如,解决智力问题 mostPoints(选当前题,跳过后面若干题);01 背包一维空间优化(每件物品只能选 1 次);区间 DP(石子合并、最长回文子序列)。
2026-07-16 19:22:23
368
原创 动态规划——背包问题
Q:给你一个整数n,返回和为n的完全平方数的最少数量。是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,149和16都是完全平方数,而3和11不是。A :1、初始化:为了得到最少数量并且保证在更新时不会被初始数值影响,初始化全局为max;同时为了保证可以正常开始,(0,0)要重新赋值为0;2、更新时:将本体看作要将目标值n拆解为多个完全平方数之和,可以想象成我们要找到一个数组,数组之和为n;
2026-07-15 19:05:13
508
原创 ReAct、CoT、Plan-and-Execute
CoT只适合纯推理场景,不具备调用工具和与外部交互的能力,完成推理仅依赖已有知识,如数学逻辑推理题、文本写作类等基于已有规则的问题。Final Answer:杭州 7 月单周平均降雨 28mm,宁波 42mm,宁波周降雨量比杭州多 14 毫米。执行阶段(Execute):遍历每一个子任务,并根据子任务需求调用工具执行,子任务内部采用循环模式。Observation:杭州未来 7 天 24~32℃,多晴,周三局部阵雨,紫外线强。Q:查询杭州、宁波未来一周天气预报,对比两地平均气温,给出出行建议。
2026-07-14 16:05:42
210
原创 harness system 设计——MCP层解析
本文介绍了Harness架构中MCP层与客户端的五种连接方式及其特点:1)本地进程通信(无网络);2)SSE长连接(单向HTTP1.1);3)HTTP短连接(REST POST);4)长轮询(伪长连接);5)WebSocket(全双工)。同时对比了RPC(JSON-RPC)和gRPC的实现差异,并分析了MCP协议的三种实现方案(本地进程/HTTP流式/SSE)及各自适用场景。最后补充了HTTP各版本核心特性差异,重点说明HTTP/2多路复用和HTTP/3(QUIC)的UDP优势。全文从协议层到应用层系统梳理
2026-07-08 18:45:07
469
原创 Prompt Caching VS KV Cache
KV Cache与Prompt Caching是大模型推理中的两种缓存技术。KV Cache主要优化单次对话内自回归生成的重复计算,通过缓存历史token的Key-Value对避免重复注意力计算,显著提升decode阶段效率。Prompt Caching则针对多轮对话复用固定前缀(如system prompt),通过哈希匹配直接复用已计算的KV张量,减少重复prefill消耗。两者协同工作——Prompt Caching跨对话复用静态内容,KV Cache在对话内优化动态生成,共同降低计算开销。典型应用于客
2026-07-06 16:15:23
376
原创 vibe coding 演进2
Loop Engineering(循环工程)是一种在Harness框架基础上构建的自动化闭环迭代系统,旨在实现无人值守的多轮任务执行和Agent编排。与Harness Engineering不同,Loop Engineering通过外置评估器形成"执行-判断-修复"的完整闭环,有效避免"自我欺骗"。其核心模块包括自动调度(如/goal和/loop命令)、工作隔离、技能沉淀、工具链接和子代理互审。循环方式分为手动循环、目标循环、定时循环和主动循环。尽管该技术能显著提升效
2026-07-03 15:15:15
373
原创 vibe coding 演进 1
本文系统梳理了AI工程演进的四个阶段:提示词工程(Prompt Engineering)解决输入精准性问题;上下文工程(Context Engineering)通过信息召回、压缩、组装优化有限上下文窗口;马具工程(Harness Engineering)构建包含记忆管理、工具调用、校验评估的三维控制系统;循环工程(Loop Engineering)实现自主多轮迭代。重点剖析Harness Engineering的架构思维,强调其输入侧(记忆管理)、动作侧(工具标准化与任务编排)、校验侧(评估追踪与约束)的核
2026-07-03 10:30:11
352
原创 意图识别——全方位解析
本文从业务和架构角度探讨对话系统中意图识别的优化策略。业务上指出准确率需达90%以上才可用,95%后每提升1%都至关重要。架构层面提出三层处理流程:接入层预处理、意图识别层(含关键词匹配/轻量分类/LLM兜底三阶段)和业务逻辑层。优化方案包括:构建贴近真实用户的测试集、槽位类型标记、多意图拆分、多轮对话管理和意图切断机制。强调需定期分析错误案例持续优化,准确率提升对整体对话体验具有决定性影响。
2026-07-02 13:48:12
446
原创 RAG全链路拆解及优化
本文介绍RAG系统的构建与优化,分为存储、检索、优化三阶段。存储阶段处理文本后采用Elasticsearch同时支持关键词和向量检索,选用Qwen3-Embedding等模型进行2048维向量化。检索阶段结合KNN向量检索和BM25关键词检索,使用Deepseekchat生成回答。优化部分包括评估指标(召回率、准确率等)、问题定位(数据处理/召回策略/模型选择)及提升方案(GraphRAG/LightRAG架构优化、Function Calling微调等),在保证80ms响应速度的同时提升系统效果。
2026-07-01 16:56:52
634
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅