- 博客(108)
- 收藏
- 关注
原创 如何审核 AI 写的代码?从写代码到上线,一套保证产品质量的全流程
传统流程常把人工代码审核作为提交 PR 后的一道关卡。AI 大量生成代码后,逐行人工阅读容易成为瓶颈,审核需要前移,并与上线后的检测和恢复机制衔接。
2026-11-08 14:47:45
343
原创 如何使用 AI 稳定交付一个高质量的产品
主流编程 Agent 有 Codex、Claude Code,此外还有 OpenCode、Aider、Cursor 等。只给 AI 发一条指令("给我做个笔记软件")确实能跑出软件,但交付结果往往和预期相差甚远,还可能有大量 bug。:第一版只做最核心、最必要的功能,先把主流程跑通,以低成本快速验证方向;作用:给 MVP 边界定调,后续做技术方案、写代码时都有统一依据。这两条是"让 AI 不乱来"的底层约束,也是后续流程能跑顺的前提。流程可灵活裁剪,但有。,否则文档冗长,看起来也累,保证大方向一致即可。
2026-09-11 18:30:22
300
原创 什么是Harness Engineering?——最小的Agent Harness
领域含义马具控制马的装备,让马的力量被正确引导电气工程测试套具(Test Harness)- 连接被测系统与测试设备的中间层软件测试自动测试框架,负责执行测试用例并收集结果在 AI Agent 领域,Harness 沿用了同样的隐喻:Harness = 控制 AI 能力的"挽具",让 AI 的输出被正确引导和执行为什么需要工具?模型本身不能真正读取文件、做计算它只能"请求"Harness 帮它做工具 = 模型与真实世界交互的桥梁。
2026-07-17 11:31:38
316
原创 LangChain 面试八股文
LangGraph 中 Conditional Edge 是什么?它解决了什么问题?请解释什么是 LangChain,它的核心价值是什么?请解释 LCEL 是什么,以及它的优势。什么是 RAG?在 LangChain 中如何实现检索增强生成?什么是 LangChain Agent?它和普通 Chain 有什么区别?如何在 LangChain 中集成自定义工具?你了解 Agentic RAG 吗?它和普通 RAG 有什么区别?本文整理了20 道 LangChain/LangGraph/RAG 面试高频题模块。
2026-06-22 16:03:36
518
原创 基于 LangGraph + FastAPI 搭建一个带人工审核的行业分析多智能体系统
多智能体系统的核心不只是 Prompt工作流编排比单轮调用更适合复杂任务状态管理和路由设计决定了系统是否可靠人工审核节点在真实业务里非常重要FastAPI 很适合把 Agent 工作流快速封装成服务如果只是做一个“能回答问题”的 Agent,其实并不难。真正有挑战的是:怎么让它按你设计的业务流程稳定运行,并且在关键节点允许人类接管。而这也是我觉得 LangGraph 这类框架真正有价值的地方。
2026-06-05 22:08:12
303
原创 LangGraph——从“纯手工流水线”到“全自动智能体”
昨天我们的代码里,是用 来判断并手动执行工具的。 但如果用户的问题是:“帮我查一下北京的天气,然后查一下我日历上今天的日程,根据天气和日程,帮我写一封邮件给老板请假。”在这个场景里,AI 需要连续调用3次甚至更多次工具(查天气 -> 查日历 -> 发邮件)。如果我们还用手工写 和 循环,代码会变得极其臃肿且难以维护。解决方案登场:Agent 框架 (以 LangGraph 为例)今天我们要学的,就是如何使用当今最流行的框架,把昨天的“手动闭环”变成“全自动化驾驶”。只要给 AI 一组工具,它会自动决定
2026-05-13 12:12:26
381
原创 LangChain基础实战手记:如何给大模型装上“大脑(记忆)”和“双手(工具)”?
Tools (工具) 的本质,其实就是一个传声筒。大模型想要某个数据(比如获取某个城市名称的天气),它把参数通过传声筒递给程序员;程序员用任何自己喜欢的 Python 代码(请求外部API、查本地数据库、甚至去读一个 Excel 文件)拿到真实数据后,再通过传声筒把结果塞回给大模型。这就是目前市面上所有高级 AI Agent(包括 LangGraph、CrewAI 等框架)最底层的运行逻辑。只不过高级框架帮我们省略了写这种手动判断的死代码,将整个流程变成了全自动化的流水线。
2026-05-12 15:33:25
266
原创 认识 LangChain 的“核心三剑客”
今天我们学习了 LangChain 的底层逻辑: 你不再是直接和 LLM 对话,而是通过Prompt 构建业务逻辑-> 交给Model 去处理-> 通过Output Parser 提取想要的结果。有了这个流水线 (chain),你就把一个大语言模型封装成了一个“具体的软件功能”。
2026-05-11 17:18:19
82
原创 Kimi K2.5 模型 Function Calling 实战,基于 Anthropic SDK 的适配指南
Kimi 可以变成操控电脑、查询数据库、调用 API 的‘超级大脑’。本文将带你通过 Kimi 最新发布的 K2.5 模型,实现一个全能助手。“很多人在使用 Kimi API 时还停留在简单的文本对话。这种设计模式极大地提高了代码的可扩展性,增加新功能只需修改。和增加类方法,无需动核心循环逻辑。
2026-04-21 14:38:12
136
原创 500行代码还原儿时经典 Python Pygame 制作带 AI 决策的飞行棋
这不仅仅是一个简单的绘图程序,它包含了完整的游戏逻辑状态机、一维路径坐标映射,以及一个基于启发式搜索的智能 AI 玩家。加入蒙特卡洛搜索提升 AI 难度。增加联机对战功能。丰富音效与爆炸动画。如果你觉得这个项目有趣,欢迎在评论区留言交流,或者去我的 GitHub 点个 Star!
2026-04-09 18:24:11
402
原创 Android混淆和加密技术
技术项解决的问题常用手段难度等级代码混淆逻辑阅读难度R8/ProGuard, 控制流平坦化中等数据加密数据被窃取中等Native 保护底层逻辑泄露OLLVM, JNI 隐藏高加壳加固整体反编译DEX 加密, 方法抽取, VMP极高逆向学习者的视角:看到混淆要学会耐心调试;看到加密要找Hook 点(参数拦截);看到加壳要学会脱壳(内存镜像拉取);看到 VMP 建议换个简单的 APP 练手。
2026-04-04 13:22:14
575
原创 Scrapling 爬取豆瓣电影Top250
最近在 B 站上学习了 Python 爬虫的相关知识,发现了一个非常强大且好用的现代爬虫框架 ——Scrapling。相比于传统的,它不仅内置了强大的防反爬机制(StealthyFetcher),还对提取数据的 API 做了极大的优化,甚至自带了类似 Scrapy 的异步爬虫结构,但配置却简单得多。如何用 Scrapling 爬取豆瓣电影 Top250,并一键保存为 JSON 数据。通过这次 B 站实战教程的学习,我发现Scrapling很好地弥补了 requests 太单薄、Scrapy 太笨重的问题。
2026-03-27 20:30:53
763
原创 WorkBuddy 详细安装与使用指南
侧边栏:用于切换不同的任务窗口,支持多任务并行对话/任务区域:在这里输入你的需求,并查看WorkBuddy的执行过程结果展示面板:查看和下载生成的产物,如文档、表格、PPT等。
2026-03-16 18:10:09
12297
原创 Python 八股文汇总
1. 列表(List)和元组(Tuple)的区别?2. 深拷贝 (deepcopy) 和浅拷贝 (copy) 的区别?3. 和 的区别?4. 谈谈 Python 的变量查找顺序(LEGB 规则)? 变量查找按顺序依次是:5. 什么是装饰器 (Decorator)?6. 迭代器 (Iterator) 和生成器 (Generator) 的区别?7. 什么是闭包 (Closure)? 满足三个条件即为闭包:8. 和 是什么?9. 和 的区别?10. 类方法 () 和静态方法 () 的区别?11. Py
2026-03-08 14:06:57
2170
原创 车智赢APP登录协议逆向分析(核心算法篇)
-deviceId:从本地 SP(SharedPreferences)中读取的设备ID,分析发现其常为空或固定值,可置空或使用固定值如 “358908“替代。要定位登录相关的代码,最直接的方法是搜索登录请求的URL特征或接口路径。:通过搜索,可以快速定位到处理登录请求的代码位置,通常位于某个。进行 MD5 计算,再将结果转换为小写的十六进制字符串。的登录方法中,追踪密码参数的处理。方法包含了登录的网络请求逻辑。方法的源码,确认其为标准的 MD5 算法实现,(一个已按Key排序的Map),将每个参数的。
2026-03-04 15:55:00
1142
原创 车智赢.apk 登录逆向python代码复现
0 确保手机和电脑,处于同一个路由器--》处于同一个网络1 电脑端,启动charles,确认本机电脑ip地址:192.168.71.80 88882 手机端:代理设置-->设置好电脑的ip和端口3 打开app,开始抓包4 点击登录后(此处账号密码可以随意),使用charles抓包,如下图appid:atc.android #固定值sign:5FC67BB1A8F6FB695AD0071BF74CEDD5 #像加密,需要破解appbuildcode:512 #固定的值。
2026-02-01 13:37:18
835
原创 淘宝MD5爬虫
这是一个基于Python的淘宝商品数据爬虫,通过模拟浏览器请求淘宝推荐API,获取商品信息并保存为CSV格式。代码采用了面向对象的设计,核心功能封装在Spider类中。核心方法详解。
2026-01-14 13:57:09
1087
原创 B站滑块验证码轨迹生成
图像处理: 完整的图片获取→解析→重组→识别流程行为模拟: 物理准确的轨迹生成和鼠标操作模拟反检测: 通过人性化操作模式避免被识别为机器人健壮性: 多重异常处理和等待机制。
2026-01-07 15:40:55
586
原创 Xiaomi mimo大模型API接入Claude code
昨天听闻小米的大模型出来之后,今天就马不停蹄的试了一下,确实在代码方面算是国内top级别,最主要的是目前还是免费开源的。首先mimo官网上就给了我们如何去接入Claude code教程,但是对于没有使用过Claude code 的同志们来说还是不够详细。验证安装:node --version和 npm --version。三、配置 MiMo API 密钥( PowerShell)注意:这里一定要有对应的txt,不然是无效的。1. 安装 Node.js(必需前提)一、环境准备:解决 WSL 安装报错。
2025-12-18 16:02:39
2961
原创 mitmproxy移动端拦截
mitmproxy是什么:介绍mitmproxy作为一个基于Python开发的、支持HTTP和HTTPS的交互式中间人代理工具,可用于拦截、检查、修改和重放网络流量。应用场景:移动端App API调试、数据分析、安全测试、性能监控等。准备工作:确保电脑与移动设备(手机或模拟器)连接到同一局域网。ps:这个地方真的非常容易弄错,不同的手机就对应着不同的安装方式米系手机是在设置里搜索CA证书,然后这时候里面也是空的,电脑传过来的证书看不到,这时候勾选本周就能看到通过以上步骤,您已经成功搭建了mitmproxy的
2025-12-08 12:50:20
996
原创 Mitmproxy基础配置与替换Js浏览器
你应该能看到一个显示不同操作系统图标的页面,而不再是 “traffic is not passing through Mitmproxy” 的错误提示。:这是一个 mitmproxy 的“钩子函数”,每当 mitmproxy 接收到服务器返回的响应时,这个函数就会被调用。现在代理和证书都配置好了,你可以开始实现图片中描述的核心功能:拦截并修改 JS 文件。这段代码完善了图片中的示例,功能是拦截百度返回的响应,并将其中的所有。按图中设置好配置,打开开关按钮,点击保存,现在就成功打开手动网络代理了。
2025-12-04 14:13:40
838
原创 Web Js常见压缩和混乱
了解Web开发中JavaScript代码的压缩和混淆,对于提升应用性能和增加代码逆向难度很有帮助。下面我们梳理一下核心概念、常用工具和注意事项。
2025-11-25 18:20:19
857
原创 Selenium的使用
Selenium 是一个强大的开源工具,主要用于自动化 Web 浏览器。它允许你通过编写代码来模拟用户在浏览器中的各种操作,例如点击按钮、填写表单、刷新页面等。Selenium 的核心价值在于它能够处理动态内容,特别是那些通过 JavaScript 加载的数据,这使得它在自动化测试和数据爬取领域都非常受欢迎。
2025-11-12 17:37:02
530
原创 BeautifulSoup库使用指南
BeautifulSoup 提供一些简单的、Python 式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。BeautifulSoup 自动将输入文档转换为 Unicode 编码,输出文档转换为 utf-8 编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时你仅仅需要说明一下原始编码方式就可以了。
2025-11-07 12:40:59
1003
原创 AST反混淆基础
在不改变程序功能的前提下,将混淆代码解析成对应的AST(也就是抽象语法树),然后对AST节点进行增删改查等操作,最后将处理后的AST生成对应的源代码,得到可读性和可调试性更强的源代码,从而能更好的分析理解混淆代码逻。3.大致步骤:混淆代码——解析生成对应的AST——对AST节点进行增删改查——将处理后的AST转换成对应的源代码(程序功能与混淆代码等价,可读性和可调试性更强)1.代码混淆分为字面量混淆和逻辑混淆。
2025-11-04 15:28:33
221
原创 scrapy爬取豆瓣电影
在李玺老师《爬虫逆向进阶实战》中了解到scrapy后,本意是打算利用b站上更详细的教程爬取一下豆瓣网站国产高分电影的列表。但是最后爬取出来的结果并没有成功分出国产这一栏目。在ai帮我调试了好几次也没有做好。
2025-10-21 21:06:38
229
原创 Python异步IO——使用aiohttp
用在服务器端,例如Web服务器,由于HTTP连接就是IO操作,因此可以用单线程+首先在终端安装aiohttp:pip3 install aiohttp。可以实现单线程并发IO操作。如果仅用在客户端,发挥的威力不大。使用aiohttp时,定义处理不同URL的。以asyncio的机制启动整个处理流程。函数实现多用户的高并发支持。直接运行就能得到首页。
2025-10-17 14:52:52
161
原创 Python异步IO——使用asyncio
库是处理异步 I/O 操作的利器,它能让你用同步代码的写法,写出高效的异步程序,特别适合网络通信、文件读写等存在大量等待的场景。为了简化并更好地标识异步IO,从Python 3.5开始引入了新的语法。换成真正的IO操作,则多个并发的IO操作实际上可以由一个线程并发执行。是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。看成是一个耗时1秒的IO操作,在此期间,主线程并未等待,而是去执行。函数了,因此可以实现并发执行。中执行,就实现了异步IO。是并发执行的,并且可以拿到。
2025-10-16 16:56:13
242
原创 Python异步IO——协程
使用async def来定义一个协程函数:await asyncio.sleep(1) # 模拟一个异步I/O操作,睡眠1秒。
2025-10-16 15:16:32
327
原创 Python Web开发——使用模版
后端开发者专注于业务逻辑和数据处理(Model 和 Controller),而前端开发者则专注于页面的呈现与交互(View)。模板引擎作为桥梁,负责将数据动态填充到模板中,生成最终的 HTML 页面。总结:有了MVC,我们就分离了Python代码和HTML代码。和Web框架类似,Python的模板也有很多种。(例如:标题、图片、文本等),允许开发者或设计师通过编辑这些区域来创建具有独特性的网站。基于 Zope 的模板语言,支持 ZPT 标准。最后,一定要把模板放到正确的。 代码片段,以及。
2025-10-15 13:47:44
530
原创 Python Web开发——使用Web框架
Python Web 框架能帮你高效地构建网站和 Web 应用。下面是一个关于如何使用 Python Web 框架的概述,以及一些主流框架的简单介绍和选择建议。特性/框架FlaskDjangoFastAPI轻量级、灵活、可扩展全功能、现代、、异步支持较低,适合初学者中等,提供完整解决方案中等,需理解异步概念小型项目、API服务、开发、内容管理系统(CMS)、高集成度项目、微服务、实时应用通过扩展(如Flask-SQLAlchemy)
2025-10-14 18:03:29
295
原创 Python Web开发——WSGI接口
WSGI(Web Server Gateway Interface,Web服务器网关接口)是 Python 中连接 Web 服务器和 Web 应用程序或框架的重要规范。它旨在提升 Web 应用开发的可移植性。下面这个表格汇总了 WSGI 的核心信息,帮你快速了解它:方面说明Python 中 Web 服务器与应用程序或框架之间的 (服务器), (应用程序), (中间件)解耦 Web 服务器与 Web 应用框架,使开发更加灵活。
2025-10-14 17:38:32
943
原创 Python Web开发——HTML简介
CSS是Cascading Style Sheets(层叠样式表)的简称,CSS用来控制HTML里的所有元素如何展现,比如,给标题元素<h1>JavaScript虽然名称有个Java,但它和Java真的一点关系没有。JavaScript是为了让HTML具有交互性而作为脚本语言添加的,JavaScript既可以内嵌到HTML中,也可以从外部链接到HTML中。如果我们希望当用户点击标题时把标题变成红色,就必须通过JavaScript来实现:点击标题就变红色了!
2025-10-13 20:05:07
408
原创 Python Web开发——HTTP协议简介
HTTP 的全称是 超文本传输协议。它是一种用于分布式、协作式和超媒体信息系统的应用层协议。简单来说,HTTP 是万维网(WWW)的数据通信基础,它定义了客户端(例如 Web 浏览器)和服务器之间请求和响应的格式与规则。没有 HTTP,我们就无法通过点击链接或输入网址来浏览网页。HTTP 是互联网应用最广泛的协议,是 Web 浏览的基石。它通过简单的请求-响应模型,实现了客户端与服务器之间的高效通信。
2025-10-13 19:48:07
603
原创 Python访问数据库——使用MySQL
由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。这个时候只能借助ai一点点摸索。安装完并且配置好环境之后,我们就该和python连接了。如果这里是使用的python3,那么就该是pip3.配置环境真的是一件很考验耐心的事情。
2025-10-12 22:41:16
154
原创 Python访问数据库——使用SQLite
在Python中操作数据库时,要先导入数据库对应的驱动,然后,通过Connection对象和Cursor对象操作数据。要确保打开的Connection对象和Cursor对象都正确地被关闭,否则,资源就会泄露。
2025-10-10 15:21:26
413
原创 Python电子邮箱——POP3收取邮件
Python 使用 POP3 收取邮件的过程清晰分为两步:先用poplib模块将邮件的原始文本下载到本地,再用email模块解析这些文本,将其转换为可阅读的邮件对象。
2025-10-10 13:35:36
315
原创 Python电子邮箱——SMTP发送邮件
SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用于发送邮件。Python 的smtplib模块提供 SMTP 客户端会话,用于通过 SMTP 服务器发送邮件。而email模块则负责(内容、主题、附件等),smtplib负责。
2025-10-09 18:12:11
397
原创 Python网络编程——UDP编程
UDP 是一种、但的传输层协议。为了更清晰地理解它与 TCP 的区别,请看下表:特性UDPTCP无连接 (直接发送)面向连接 (需三次握手)不可靠(不保证数据必达、有序、不重复)可靠(保证数据正确、有序送达)数据报文(有消息边界)字节流(无消息边界,可能粘包)(头部开销小,仅8字节)相对较慢(头部至少20字节,有复杂控制机制)无流量控制、拥塞控制有流量控制、拥塞控制、超时重传支持一对一、一对多、多对多只能是点对点。
2025-10-09 17:33:00
288
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅