自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gerryke的blog

每天追求智慧多一点点

  • 博客(69)
  • 收藏
  • 关注

原创 企业级对客智能体交付方法论:从立项到持续运营

企业级智能体交付方法论摘要 本文系统梳理了企业智能体项目从立项到运营的完整交付流程,适用于各类AI平台实施。交付分为五个阶段:需求访谈(40%工作量)、知识库准备(20%)、Agent配置(20%)、测试验证(20%)和上线运营。核心要点包括: 业务梳理优先:明确意图清单、槽位设计和边界定义,避免工具先行 知识库质量决定上限:需规范文档清洗、语义整理和格式统一 分层测试验证:构建测试集评估召回、生成和拒答准确率 持续运营关键:建立知识回流机制,通过人工标注补充知识盲区 方法论强调工具配置仅占20%工作量,业

2026-03-26 13:28:41 453

原创 Claude Code 状态栏定制:把 Usage 实时显示在底部

Claude Code状态栏定制功能解决了用户无法实时查看速率限制的痛点。通过自然语言指令即可配置底部状态栏,显示模型名、工作目录、5小时和7天速率限制使用率(带进度条和颜色警示)。使用/statusline指令即可自动生成配置,无需手动操作,支持后续对话调整。对于API计费用户,可使用npx ccusage@latest statusline显示会话费用等信息。首次启动时速率数据显示为0%属于正常现象,发送消息后即可更新。

2026-03-22 19:08:01 1498

原创 Claude Code 实践:如何用 Skill 让 Agent 行为稳定可靠

摘要 本文系统介绍了如何通过Skill机制提升AI Agent的行为稳定性和可靠性。Skill将重复性任务封装为标准化模块,包含领域知识、操作流程和约束条件,确保Agent每次执行相同任务时行为一致。Skill与CLAUDE.md(全局配置)、Hook(事件触发)、Subagent(独立执行)和MCP Server(外部连接)共同构成Claude Code的五种核心机制。文章详细阐述了Skill的优化方法(渐进式披露)、测试流程(AI辅助设计测试用例)以及关键配置属性(如description触发条件)。实

2026-03-20 13:30:35 607

原创 Claude Code Hooks 进阶:用 AI 审查 AI,自动防止重复代码

摘要:本文介绍如何利用Claude Code的Hooks机制实现AI审查AI,防止代码重复。通过设置PreToolUse Hook,在写入查询函数前启动子Claude进行审查,判断新代码是否与现有功能重叠。当检测到重复时,拦截写入并给出复用建议;否则正常放行。核心优势包括自动防重复、精准复用建议、不干扰正常开发流程,特别适合管理大量数据库查询函数的项目。文中详细展示了Hook实现代码、配置方法及实际运行效果,并解释了需要设置300秒超时的原因。(149字)

2026-03-19 13:29:17 304

原创 Claude Code Hooks 实战:用钩子保护 .env 文件不被 AI 读取

本文介绍了如何利用Claude Code的Hooks机制保护.env敏感文件不被AI读取。Hooks允许在AI调用工具前后执行自定义脚本,通过PreToolUse钩子拦截对.env文件的读取请求。示例展示了用Node.js脚本检查文件路径,若包含.env则返回exit 2阻止操作,并通过正则匹配同时覆盖Read和Grep工具。这种机制为AI开发环境提供了基础安全防护,建议团队项目将.env保护作为标准配置。

2026-03-18 23:22:50 783

原创 OpenClaw 实战心法:一次成功不是终点,固化才是能力的起点

OpenClaw 不是一个听完即忘的聊天机器人,它是一个可以不断成长的系统。作为 User,我们的角色不仅是发号施令的指挥官,更是构建这个系统的架构师。不要指望下一次会自然成功。把“偶然”变成“代码”,把“经验”变成“记忆”。只有这样,你的 AI 助理才会随着时间推移,从一个懂一点皮毛的实习生,进化成不可替代的领域专家。

2026-02-28 23:04:39 783

原创 数字人格的自我解剖:如何防止你的 OpenClaw 助理“精神分裂”

摘要:本文探讨了如何确保AI助理人格逻辑一致性的问题。作者发现当SOUL.md、IDENTITY.md和MEMORY.md三个核心文件设定矛盾时,会导致AI行为不可预测、忘记长期目标和反应迟钝等问题。为此,作者提出定期检查流程:交叉对比三文件、确保核心指令明确、对齐形象特征、清理过时记忆。建议为不同角色创建独立实例,避免让一个助理身兼数职。保持AI人格设定的一致性,才能发挥其最大效能。

2026-02-25 23:25:36 595

原创 OpenClaw Browser Relay Extension 鉴权失败与 invalid handshake 问题的终极解决方案

在使用 OpenClaw 浏览器插件 (Browser Relay Extension) 时,许多用户可能会遇到两个主要问题:一是配置端口错误导致的连接失败,二是鉴权失败 (Gateway token rejected)。本文将详细解析这两个问题并提供解决方案。

2026-02-25 10:48:23 5484 10

原创 电信运营商的新尝试:探索非通信领域的发展

近年来,随着电信运营商竞争的日趋激烈和网络建设的成本不断攀升,许多电信运营商已经开始缩减IT投资。然而,在如此情况下,电信运营商仍然需要寻找新的增长机会。那么,在持续缩减IT投资的情况下,电信运营商可能会在哪些领域做试探性拓展呢?本文将会进行分析和探讨。一、电信运营商缩减IT投资的背景在当前的市场竞争下,电信运营商的IT投资不断缩减,主要原因有以下几点:首先,电信运营商的收入增长放缓,利润率逐渐下降,导致资金压力增大。其次,电信网络建设的成本不断攀升,例如5G网络的建设和升级将会对电信运营商产生更大

2023-02-18 16:25:47 804

原创 IT售前如何提升演讲技巧

IT售前需要具备一定的演讲技巧,以下是几个建议:确定演讲目标:在演讲前,明确自己的演讲目标,确定想要传达的信息、观点或行动要求。这有助于自己更加清晰地表达,也能让听众更容易理解和接受。注意语速和语调:语速过快或过慢都会影响演讲效果。要尽量控制语速,适当地使用停顿,让听众有时间吸收自己所说的内容。同时,语调也要注意,要让自己的声音有起伏和变化,更加生动有趣。使用视觉辅助工具:视觉辅助工具如PPT可以帮助IT售前更好地传达信息和吸引听众的注意力。要注意PPT的设计风格、布局和内容,让它们能够起到有益的辅助

2023-02-18 10:10:29 375

原创 为CXO和IT技术经理量身定制的解决方案展示

因此,为了向不同层级的客户听众展示出合适的解决方案,我们需要根据他们的不同需求和关注点来编写胶片。接下来,根据分析得出的信息,我们可以编写不同的胶片,以满足客户听众的不同需求。因此,如果您想向客户展示您的解决方案的优势,您应该详细说明它与竞争对手的解决方案相比如何更好,以及它如何能够帮助客户实现他们的目标。此外,阐述解决方案的优势还有助于您建立自己的信誉,并证明您是一个专业的供应商。关注细节:IT技术经理对解决方案的技术实现有着极高的关注度,因此在向他们展示解决方案时需要详细描述技术实现的细节。

2023-02-11 01:28:52 548

原创 BSS和OSS的入门视频

这个5分钟的视频,把运营商BSS和OSS系统的用途,背景,周边,业务目的讲得非常清楚,言简意赅。应该是入门最佳的介绍视频了。

2022-05-13 14:24:44 1286

原创 5G2B、物联网平台和边缘计算的通俗理解

下面这个生活中的场景可以通俗解释这几个名词在京东上买一个智能家电,比方说是一个空调空调到货以后,你要装一个叫做“小京鱼”的app, 在这个app上面配置这台空调所要连接的你们家的路由器的用户名密码设置成功后,开机,app上就能对这台空调做控制,控制温度,风量,模式这些这里面其实空调就是连接到京东的物联网平台,app也是连接到这个平台。然后通常,这个平台就可以和空调厂家收费上面这个例子可以看出物联网平台的作用然后其实只要把例子里面的路由器换成5G网关,空调换成生产设备,中间跑的网络变成是5G

2022-04-28 14:47:10 1995

原创 用mac原生的日历和automator,实现定时发微信

mac对于程序员的友好与生俱来,对于定时发微信这样的需求,一行代码都不需要,只要两步即可:第一步,打开automator(俗称扛炮),录制如下:录制中可以通过指定切换输入法,确保不会误操作,美中不足的是无法直接编辑录制完成的脚本,录制有问题只能重新录自己反复试过几次确定没问题(可以断网测试,这样消息不会真正发送)后,就将该脚本存成app。第二步,在日历中设置定时打开该程序,不得不说日...

2020-02-24 16:00:57 4558

原创 用python实现定时发送邮件的功能

像python这种库丰富又不需要接触到底层的语言,用来做定时邮件的功能再适合不过。代码如下,目的是为了每天上班下班(9点Check in, 19点Check out)发送一封邮件,且邮件标题带日期。邮件目前是整点发送,且没有排除周末,若想改得更随机一点,可以增加sleep的间隔,或者用分钟来判断。#!/usr/bin/python# -*- coding: UTF-8 -*-impor...

2020-02-17 16:04:13 1916

原创 docker容器通过宿主机ip中转实现容器之间相互调用

一般每个容器,都会映射一个端口到宿主机中,方便在宿主机上访问,例如ngnix,mysql,redis等等。但是我们有一种常见的场景,就是a容器,需要通过宿主机的端口映射,调用b容器的服务,这里如果在a容器内部配置localhost/127.0.0.1/0.0.0.0:port都是不会起作用的,因为容器和容器之间的ip是隔离的,无法互相通过本地端口访问。一个办法就是在docker run中把...

2018-05-28 17:19:19 14172 1

原创 移动支付(mobile money)系列 —— TPS和用户数的对应关系推导

tps和对应的用户数的转换关系,其实是要根据不同业务的类型,用户的行为特征来估算,下面采用一个比较简单的方式建模,如果有更合理的方式,可以进一步优化定义:日活跃用户数(每天登陆系统做交易的用户): x 系统峰值tps:y推算:x日活跃用户,平均每人每天一笔交易,这样x笔交易分布在这一天,平均tps avg tps = x*1/(3600*24)。 假设一天80%的...

2018-04-20 18:08:52 1242

原创 移动支付(mobile money)系列 —— Apple Pay的原理

Apple Pay 背景起因 传统基于磁条卡片(包括信用卡、银行卡)的支付流程是不安全且繁琐的,磁条接口、暴露在外的卡片号码、支付密码/安全码等都存在安全隐患,磁卡支付流程过长,用户体验差Apple Pay的目标 “Your wallet. Without the wallet.”替代钱包的移动支付服务,兼具支付安全隐私和极致用户支付体验Apple Pay的发展历程 2009年开始布

2018-03-08 15:12:32 12156

原创 移动支付(mobile money)系列 —— Service Provider的异同

背景根据世界银行的数据,目前很多国家的银行覆盖率很低,称为unbanked region,然而这些国家的手机覆盖率却不低,因此给移动支付提供了广阔的市场机会。移动支付(mobile money)业务,运营商也能做,银行也能做,支付宝也能做。三者的出发点不一样。但有一点是共通的,就是最大限度的转换,留存现有客户。 不同mm运营者的区别对于运营商来说,mm系统往往都是通过充值中心演...

2018-03-07 10:49:40 2896

原创 分布式与云化的主要区别

分布式与云化,这两个概念经常看到,其实两者有差别。现在传统行业,都有对it系统做x86化,云化的趋势。而分布式,可以说是其中的一个阶段,或者一种妥协。下面这个表格大致描述: 模式 分布式 云化 请求消息分配方式 按照用户的信息(地区,号段等)分配 按照取模,求哈希值等方式 节点是否对等 否(一条消息,只能由某一个节点处理) 是 应用与数据是否分离 否(数据

2018-01-08 18:22:39 12046

原创 AIX 主机遇到没有足够空间生成core文件的办法

ibm的帮助文档足以解决这样的问题点这里查看值得一提的是以下命令: lsattr -Elsys0 | grep full 的输出结果为: fullcore true Enable full CORE dump True 其中,第二列才是这个

2017-08-17 14:12:46 842

原创 通过ftp命令测试两台主机之间的网络情况

背景分布式系统一般都会采取应用和数据分离的方式,以便两边各自做扩展,这个时候,点对点的网络情况显得特别重要。 最近就遇到两台主机通过不同的交换机连接,导致原先的千兆网没有发挥出该有的带宽,同时ping的时延抖动也比较厉害。解决方式在ftp下执行以下的语句,就可以观察点对点的网络传输速度,再结合nmon,就可以推断目前网络的极限带宽:#bs表示数据块,count表示个数put "|dd if=/d

2017-07-14 14:37:23 2791

原创 您的 mac 无法与 apple watch 通信。

在设置apple watch自动解锁mac都时候,这个问题足足困扰我两天,查了各种方式各种方法都不可以,无论如何都会在正在打开那里转圈圈。如下图:找了半天,打了半天官方支持的电话,死活都不行,最后终于在谷爹的帮助下,用英文找到了苹果社区的官方推荐答案。https://discussions.apple.com/message/30680402#30680402A

2017-06-06 17:32:57 25587 12

原创 grep只打印出关键字(grep only print keyword)

有时候需要只grep出代码中引用到的所有的表(关键字为后缀_t),不包含其他的内容。例如: grep _t * PricingStrategy.cpp: “or exists (select 1 from rent_event_type_map_t e where a.event_type_id = e.event_type_id))”, Pricin

2017-02-14 17:07:50 3219

原创 三分钟看懂一致性哈希算法

受一篇“五分钟看懂”的启发,来个哗众取宠的标题一致性哈希算法,作为分布式计算的数据分配参考,比传统的取模,划段都好很多。在电信计费中,可以作为多台消息接口机和在线计费主机的分配算法,根据session_id来分配,这样当计费主机动态伸缩的时候,因为session_id缓存缺失而需要放通的会话,会明显减少。传统的取模方式例如10条数据,3个节点,如果按照取模的方式,那就是

2016-12-30 09:25:21 49482 3

转载 通过automator实现在finder下自动打开vim

mac可以通过automator自制app, 实现在finder下双击.h, .cpp, .c等等你想用vim编辑的文件,直接打开item的vi窗口编辑该文件applescript脚本挺好用啊。本篇转载,原贴地址: http://thepugautomatic.com/2015/02/open-in-iterm-vim-from-finder/When I double

2016-04-18 17:52:43 935

原创 在iterm中用expect脚本实现ssh, telnet对aix, linux的自动登录

在mac上转战iterm以后,才知道自动登录的内部原理,原来可以用expect脚本做和服务器的自动交互,当然自动登录只是其中的一小部分功能啦ssh自动登录:#!/usr/bin/expectset timeout 30spawn ssh [lindex $argv 0]@[lindex $argv 1]expect { "(yes/no)?"

2016-04-14 11:14:27 2337

原创 aix中的makefie不支持ifeq

写makefile的时候,有一些场景需要根据某些条件来设置变量的值,但是在aix如果使用ifeq就扑街了,直接报make: Dependency line needs colon or double colon operator.原因好像是aix的make不是gnumake于是需要采用替代的写法,可以使用awk来达到条件判断的目的。ifeq (1,${OLC_WITH_

2016-01-15 15:15:13 1246

原创 exit() 只析构全局变量不析构局部变量

先看以下这段代码:#include #include #include class CTest{public: CTest(int iIdentity){m_iTest=iIdentity; printf("CTest() %d !\n", m_iTest);} ~CTest(){printf("~CTest() %d !\n", m_iTest);}priva

2015-12-03 15:28:21 1487

转载 Little-endian UTF-16 Unicode text, with very long lines, with CRLF line terminators

Sometimes you can have the problem that you cannot 'grep' files in Linux, if those files are generated on a Windows station.If you check the file type, by typing "file [filename]", you can see the f

2015-11-18 09:12:24 6083

原创 XCode中使用github做多人协同开发

本文集合了多个地方搜索的结果,姑且厚着脸皮说是原创把1. 注册github账号,并通过邮箱验证2. 为你的mac添加认证,使得它能够连接到github。参考http://help.github.com/mac-set-up-git/  一步一步操作即可3. 先在github里面添加一个Repository,通过http://github.com/首页的new Rep

2015-09-06 17:31:23 2723

原创 C++虚函数表的验证

要了解C++对象的虚函数的内存布局,推荐的是如下的三篇由浅入深的文章:C++虚函数表解析http://blog.csdn.net/haoel/article/details/1948051C++对象的内存布局(上)http://blog.csdn.net/haoel/article/details/3081328C++对象的内存布局(下)http://b

2015-08-12 14:33:19 638

原创 AIX平台下面long的长度与编译选项-q64的关系

日常我们的认知是在64位的机器上,int是4个字节,long是8个字节。但是在AIX,这个问题会更复杂一些:AIX可能是为了向下兼容的目的,通过编译选项 -q64 来规定long长度测试代码:void TestInt(){ int nTemp=0; long lTemp=0; long long llTemp=0; printf("s

2015-06-25 10:39:04 1644

原创 TT:Number overflow for TO_CHAR function -- file "numberAPI.c"

这个错误在网上搜到网易博客的一篇文章,不知所云,再仔细查找,他其实是翻译oracle论坛的一个DBA和一个用户的交流,但其实这个交流focus的是变量绑定的问题。如果同样的语句执行,一直都是成功,某种特殊场景报这个错,基本上可以排除是绑定的问题。我遇到这个报错是在TT 7.0版本,这个报错比较困惑的是TO_CHAR这个打印,因为SQL里面根本没有TO_CHAR,不过要解决这

2015-06-01 15:32:00 706

原创 Swift 代码分享——Calculator without MVC

最近在跟着斯坦福的网易公开课教程自学Swift, 跟着做计算器以学习语法,第三讲中即将将计算器改成MVC版本,所以就先贴出未经过MVC分离的代码,权当学习记录.已调试通过,跟课堂上的一样,enter压栈,操作符运算注释后续补上:)//// ViewController.swift// CalculatorGerry//// Created by GerryKe o

2015-06-01 14:55:00 596

原创 关于动态链接中的全局变量

《程序员自我修养》观后验证第二弹。第一个例子:有三个程序:main.cpp#include int global_symbol = 300;extern void testso1();extern void testso2();int main(){ global_symbol++; printf("the value of global s

2015-03-05 15:38:28 1175

原创 gcc利用寄存器存储参数提高性能

"在x86-64时代,寄存器数量多了,GCC就可以利用多达6个寄存器来存储参数,多于6个的参数,依然还是通过入栈实现。了解这些对我们写代码很有帮助,起码有两点启示:    尽量使用6个以下的参数列表,不要让GCC为难啊。    传递大对象,尽量使用指针或者引用,鉴于寄存器只有64位,而且只能存储整形数值,寄存器存不下大对象 "参考代码:long setbbb(int a

2015-03-04 16:56:48 2011

原创 对象空指针中的成员的值是0x8是怎么回事?

一段非常好玩的代码(其实是经常犯的错):struct TTest{ long long a; char b[10];};void test_nullpoint(){ TTest *ptTest = NULL; if(ptTest->b) { printf("%p\n", ptTest->b); printf("%p\n", &ptTest->a); }}i

2015-02-15 15:40:41 2123

原创 linux 与 aix/hp的shell对于子shell变量赋值的作用域不同

CompileDir(){ echo $* | tr -s ' ' '\n' | while read cmd do ProdDir1="abc"; done for cmd in $(echo $* |tr -s "\-" '\#' |tr -s " " '\n' ) do

2015-01-23 17:15:10 1083

原创 自动监控进程并启动的shell脚本

用法: autostart "test 1"实现过程:每个一秒ps一次进程是否存在,不存在则nohup启动之。autostart(){ if [ $# -eq 0 ] then echo "usage: autostart \"test 1\"" echo

2015-01-13 20:04:24 637

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除