Ajax Zhan's Blog

Welcome!This is Ajaxzhan.
坚信:品味优先于执行,价值驱动下创造、系统工程保安全
持续跟进AI前沿研究,持续思考技术、产品与思维。

解一个问题,然后在解这个问题的过程中学习和探索,不断获得环境反馈和奖励信号,然后调整自己的策略,更新自己的“激活知识”,整个过程是一个探险的过程。不管解不解得出来,整个过程都更新了“激活参数”,锻炼了肌肉,将主体往正向状态拉。

一种错误的思维方式是:想要一次性解决一个问题,想要直接追求结果奖励,企图通过现有的知识将整个问题给覆盖住。整个过程尽管会不断的试错,但都是无用功,只会不断的探索错误路径,单纯做 sampling 而不做learning,逐渐陷入死循环,感到绝望。

最近越来越发现心态的重要性。要把自己从第二种错误思维方式纠正过来。

Kimi K2.6使用下来太失望了,今天一直并行开发/修复三个小项目,没有一个能正常做好。

第一个是卡在Dockerfile不会修,重复迭代给反馈了4-5次都没解决,CodeX一下子就解决了。

第二个是让他写一个Obsidian同步插件,也是疯狂出问题,给截图给反馈就是修复不好,真的是把我蠢到了,估计还不如DeepSeek-V4,本来是看着他有多模态才买的套餐,失望了。

第三个让美化一下UI,跑了2个多小时,美化的点我基本看不出来。

总结:Kimi K2.6比较拉,远不如CodeX,但是Token卖的并不便宜。。。

Kimi Code不如CodeX好用,今晚一个Dockerfile的问题解决了好几轮都没好,一般来说CodeX这种问题交互个2-3轮就好了。可见Agent好不好用还有一个关键问题——能否分析日志后fix bug以及在多轮迭代中找出真正bug的能力,而不是仅仅是搭建一些前后端代码的事情。Kimi在这方面显然不如CodeX,出现问题的次数和频率比较高。

1、Context浪费与Harness的重要性:(1)OpenClaw带来的问题:Context管理一塌糊涂,Token浪费十分严重。Claude Code则通过大量的工程优化提升了Token利用率。(2)外部工具的可靠性决定Agent是否经常试错,决定了Context利用效率。

2、Agent互联网的特点:(1)工具调用是高频、短请求、高并发的特点。(2)Agent上网不一定有合适的“CDN”,导致资源的不可缓存与浪费(3)缺乏针对Agent的身份鉴权机制。相关创业思考:(1)时间窗口很短,估计5-10年成型。(2)市场规模很大,Agent带来的算力消耗是巨大的。

酒神时代诚不我欺,Claude code源码泄漏,今天一堆公众号在讨论和分析,算是今年的一个必学项目了,在我看来这比龙虾关键多了,现在还有多少人讨论龙虾?好可怕的迭代速度。

这是AI时代,也是一个酒神时代——新技术、新产品、新SOTA层出不穷,从传统大厂到创业公司到OPC到每个个体——每个人都在拼了命想赶上这波浪潮。

神奇的是,在感性和理性的拉扯中,我的理性在这一个月里面变得淡了许多,几乎没有占据过主导地位,感性倒是久不散去,给我带来了许多欢乐和痛苦。

只需要将VPN改成虚拟网卡模式,再打开Cursor的HTTP2.0模式就不会有模型被拦截的问题了,很神奇。解决了HTTP1.1网络环境太差的问题。

最近开始意识到一种很重要的能力——幽默,当然这种幽默不仅仅是对别人,更多是对自己的一种幽默。如果一个人都无法进行自嘲和对生活中的事情进行解构,那么这个人绝对会获得特别痛苦和憋屈,更不用说会产生什么有价值的思考了。所以保持一种对自己冷幽默的态度还是很重要。

兼具深度与启发性的分析,能有效帮助培养更敏锐的Research Taste:关于大海捞针是一个很好的评估长上下文的指标——https://www.zhihu.com/question/654570878/answer/1965228622118888157

Go语言修炼(五):搞清楚Go语言中的那些“空”们

本文深入剖析Go语言中的“空”概念及接口底层实现。接口值底层由`iface`(非空接口,含`tab`和`data`)和`eface`(空接口,含`_type`和`data`)构成,类型断言依赖`itab`记录的类型与方法信息。空结构体非`nil`,常用于节约内存(如Hashset的Value、channel信号);`nil`是六种类型(指针、channel等)的零值,且具有类型。空接口仅当`_type`和`data`均为空时才为`nil`。核心要点:`nil`有类型,空结构体非`nil`,接口`nil`需类型与数据同时为空。

Go语言修炼(四):面试官问我sync.Map的底层实现

Go语言原生map在并发读写时存在安全隐患,因扩容机制可能导致数据不一致,引发“concurrent map read and map write”错误。sync.Map通过双map结构(read与dirty)分离读写与追加操作:正常读写访问read map,避免锁竞争;新增操作则锁定dirty map,并通过misses计数触发dirty提升为read,优化性能。其设计解决了map并发问题,适用于写多读多但追加较少的场景,性能优于加锁map。

Go语言修炼(三):Go语言中的Map到底是怎么实现的

Go语言Map采用拉链法实现哈希表,底层通过hmap结构管理桶数组(buckets)及溢出桶。每个桶存储8组键值对,通过哈希值前8位(tophash)加速匹配,冲突时链接溢出桶。访问时,根据哈希值后B位定位桶,再匹配tophash和key完成查找。当装载因子超6.5或溢出桶过多时触发扩容:等量扩容整理稀疏数据,翻倍扩容增加桶数。扩容采用渐进式驱逐,写操作时增量迁移旧桶数据,避免性能抖动,确保O(1)时间复杂度的存取效率。

Go语言修炼(二):Go语言字符串和切片底层探索

本文深入剖析Go语言string与切片的底层原理。string底层由`stringStruct`(含指针与长度)构成,长度表示字节数而非字符数,采用UTF-8编码,遍历依赖`runtime/utf8.go`自动解码为rune,切分需先转rune数组。切片底层为`slice`结构体(含指针、长度、容量),创建方式有字面量(编译期完成)与`make`(运行时调用`runtime.makeslice`),扩容规则为:长度<1024时容量翻倍,≥1024时增25%,且扩容并发不安全。掌握这些原理对优化内存、提升代码性能与稳定性至关重要。

Go语言修炼(一):Go语言编译与运行过程浅探

Go语言(Golang)以简洁、快速、安全的设计哲学,在云计算、微服务等领域备受青睐。其核心特点包括:跨平台编译生成二进制文件,无虚拟化损失;自带runtime支持内存管理、垃圾回收及原生并发能力,简化开发。编译过程涵盖前端词法/句法/语义分析,后端生成SSA中间码(便于问题定位)及机器码;启动时通过runtime初始化协程调度,最终在协程中执行用户main函数,兼顾高效性与便捷性,成为现代开发的高效选择。

Ascend C入坑笔记

本文记录了AscendC学习笔记,涵盖从基础概念到算子开发的完整流程。核心内容包括:AI Core的达芬奇架构(物理结构含Cube/Vector/Scalar单元,逻辑结构为SIMD);AscendC编程对象GlobalTensor(外部存储)与LocalTensor(内部存储),以及Queue队列通信机制;Vector算子开发遵循分析、核函数定义、三阶段任务(CopyIn/Compute/CopyOut)的范式;Host侧实现涉及Tiling数据切分、Shape推导及算子注册。通过Add算子实例,展示了静态形状下多核并行(SPMD)与单核流水(Stage)的开发实践。

思悟与三省(I):摒弃投机,走向自我觉知

现代人常因忙碌陷入精神空虚,需反思行动与内在的关系。作者提出三点核心思悟:其一,承认“小我”的存在,避免否定或放任,通过统一“身口意”(所思、所言、所行)实现内在和谐;其二,以“如实”面对内在与外在,避免脱节导致的内耗,让行为真实反映生命需求;其三,以“觉知”修行,超越任性真实,在“事上炼”中保持生命鲜活,用天性而非习性生活。最终,回归生命源头,用状态而非观念活出真实与生机。

重与耐:《曾国藩领导力十二讲》读书札记(一)

本文围绕《曾国藩领导力十二讲》中“重”字诀,从外在与内在两方面展开。“重”外在体现为举止稳重,需沉稳不慌乱、每遇大事有静气,避免浮躁失威严;内在则为深思熟虑,强调心、气、神、体的安定,尤其心定方能言行中肯。领导者需以“重”驭“轻”,在浮躁环境中保持战略定力,平衡张扬个性与稳重内涵。学习此书亦为反观领导思维、带领团队及提升个人领导力,以“重”为根基,涵养深沉厚重的领导品格。

操作系统复习笔记(III):虚拟内存

虚拟内存基于局部性原理,通过多次性、对换性、虚拟性特征,解决了传统存储管理“一次性装入”“驻留性”导致的内存浪费问题。其实现以离散分配为基础,主要采用请求分页、请求分段等方式,依赖页表机制、缺页中断机构等硬件支持。页面置换算法(如LRU、CLOCK)旨在减少缺页率,分配策略包括固定/可变分配、全局/局部置换。页面调入分预调页和请求调页,需考虑对换区与文件区选择。频繁页面调度(抖动)需通过驻留集大于工作集缓解。内存映射文件则将文件映射至虚拟地址空间,由OS自动处理数据读写,支持进程共享。

操作系统复习笔记(II):内存管理

内存管理核心功能包括空间分配回收、地址转换(逻辑到物理)、内存扩充(覆盖/交换技术)、共享与保护。进程内存映像含代码段(只读共享)、数据段、堆(高地址扩展)、栈(低地址扩展)等。链接分静态、装入时动态、运行时动态;装入分绝对、静态重定位(需一次性分配内存)、动态重定位(支持内存移动,需重定位寄存器)。连续分配有单一(单任务,利用率低)、固定分区(内部碎片)、动态分区(外部碎片,算法有首次/最佳/最坏适应)。非连续分配包括分页(页表映射,快表加速,两级页表解决页表过大)和分段(按逻辑段划分,二维地址),段页式结合两者优势。内存保护通过上下限寄存器或重定位+界地址寄存器实现。