Junie's Blog
全部文章
- 文章
- 96
- 分类
- 7
- 字数
- 15.5 万
202669 篇
岗位数据怕被爬,限流从固定窗口改成可恢复的额度
Job Market Monitor 准备上线前,我想防止别人批量抓取岗位数据,又不想让正常求职者碰到限流。第一版是游客只看第一页加按分钟和小时计数的固定窗口,在我追问“正常用户到底会用多少”之后,改成了会随时间恢复的额度,只限制持续的高速读取。
Backend2304 字阅读 – 次
地点筛选勾选太多导致网址过长,页面报 431 的排查记录
Job Market Monitor 的岗位页在筛选工作地点时报 HTTP 431。原因是“全选后取消几项”会把几百个地点逐项写进网址,超出了 Web 服务约 16 KB 的限制。第一版修复改用 POST 请求体和紧凑网址,真实页面验证又暴露出慢查询,最后在我的追问下干脆取消了筛选分享。
Frontend1825 字阅读 – 次
为 Agent 设计的命令行,输出要精简到什么程度
Auto Email Sender 有一个主要给 AI Agent 调用的命令行。第一轮审查在全部测试通过的情况下复现了 6 类边界问题,第二轮换成 Agent 的视角,发现问题不在输出太长,而在重复的协议信息占了篇幅,真正影响下一步决策的信息反而缺失。
AI / Agent2194 字阅读 – 次
清理 AI 写出的过度防御代码,哪些该删,哪些必须留
两个全程由 Codex 写出来的项目,积累了大量重复校验、兜底分支、锁死文案和目录结构的测试,以及永远写不完的计划文档。我让另一轮会话来清理,一次下来净减少了两三千行。这里记下判断删不删的标准,以及清理之后真正改变了行为的几个地方。
AI / Agent1933 字阅读 – 次
开启代理工具后,爬虫的安全检查误把正常网站当成内网地址,排查记录
本地爬虫开启 Clash 等代理工具的 Fake-IP 模式后,27 个大学教师主页全部被 SSRF 校验拒绝。本文介绍如何在不放松安全边界的前提下,处理透明代理与内网防护之间的冲突。
Backend1747 字阅读 – 次
大模型 Batch API 打五折,算下来反而比实时调用更贵,成本复盘
批量任务改用 Batch API 后可以享受五折,但输入中有 94% 是固定的系统提示词。这种情况下,不支持上下文缓存的 Batch 比实时调用贵了约 70%。
AI / LLM1974 字阅读 – 次
Python 并发调大模型上不去,原因是默认线程池限制了并发
把 asyncio 信号量调到 48 后,吞吐仍停在每分钟 70 条左右,单次请求延迟升到 32 秒。排查发现是 run_in_executor 的默认线程池在 2 核容器里只有 6 个线程。
AI / LLM1497 字阅读 – 次
让大模型自己找证据来验证结论,并不能防止胡编乱造
为防止大模型胡编乱造,我们要求它在输出每个分类标签时附上原文引用作为证据。但在几千个真实岗位上跑完之后,结果表明这种做法并不能提供真正的保障。
AI / LLM1788 字阅读 – 次
URL 不变但内容会变:爬虫抓取动态分类名单的实践
某化学学院的师资页面有两百多位老师,爬虫却只抓到 3 位。页面地址始终不变,名单内容通过 Tab 点击异步切换。本文介绍如何让大模型和无头浏览器配合,抓取同一 URL 下的全部名单。
Backend1619 字阅读 – 次
一次网页抓取流量异常的排查记录
从 Auto Email Sender 的一次流量异常出发,记录一次批量抓取中 10 GB 的下载量如何被追查到浏览器使用、资源加载和重复抓取。
Backend3029 字阅读 – 次