Junie's Blog

全部文章

文章
96
分类
7
字数
15.5 万

202669 篇

  1. 岗位数据怕被爬,限流从固定窗口改成可恢复的额度

    Job Market Monitor 准备上线前,我想防止别人批量抓取岗位数据,又不想让正常求职者碰到限流。第一版是游客只看第一页加按分钟和小时计数的固定窗口,在我追问“正常用户到底会用多少”之后,改成了会随时间恢复的额度,只限制持续的高速读取。

    Backend2304 字阅读 – 次

  2. 地点筛选勾选太多导致网址过长,页面报 431 的排查记录

    Job Market Monitor 的岗位页在筛选工作地点时报 HTTP 431。原因是“全选后取消几项”会把几百个地点逐项写进网址,超出了 Web 服务约 16 KB 的限制。第一版修复改用 POST 请求体和紧凑网址,真实页面验证又暴露出慢查询,最后在我的追问下干脆取消了筛选分享。

    Frontend1825 字阅读 – 次

  3. 为 Agent 设计的命令行,输出要精简到什么程度

    Auto Email Sender 有一个主要给 AI Agent 调用的命令行。第一轮审查在全部测试通过的情况下复现了 6 类边界问题,第二轮换成 Agent 的视角,发现问题不在输出太长,而在重复的协议信息占了篇幅,真正影响下一步决策的信息反而缺失。

    AI / Agent2194 字阅读 – 次

  4. 清理 AI 写出的过度防御代码,哪些该删,哪些必须留

    两个全程由 Codex 写出来的项目,积累了大量重复校验、兜底分支、锁死文案和目录结构的测试,以及永远写不完的计划文档。我让另一轮会话来清理,一次下来净减少了两三千行。这里记下判断删不删的标准,以及清理之后真正改变了行为的几个地方。

    AI / Agent1933 字阅读 – 次

  5. 开启代理工具后,爬虫的安全检查误把正常网站当成内网地址,排查记录

    本地爬虫开启 Clash 等代理工具的 Fake-IP 模式后,27 个大学教师主页全部被 SSRF 校验拒绝。本文介绍如何在不放松安全边界的前提下,处理透明代理与内网防护之间的冲突。

    Backend1747 字阅读 – 次

  6. 大模型 Batch API 打五折,算下来反而比实时调用更贵,成本复盘

    批量任务改用 Batch API 后可以享受五折,但输入中有 94% 是固定的系统提示词。这种情况下,不支持上下文缓存的 Batch 比实时调用贵了约 70%。

    AI / LLM1974 字阅读 – 次

  7. Python 并发调大模型上不去,原因是默认线程池限制了并发

    把 asyncio 信号量调到 48 后,吞吐仍停在每分钟 70 条左右,单次请求延迟升到 32 秒。排查发现是 run_in_executor 的默认线程池在 2 核容器里只有 6 个线程。

    AI / LLM1497 字阅读 – 次

  8. 让大模型自己找证据来验证结论,并不能防止胡编乱造

    为防止大模型胡编乱造,我们要求它在输出每个分类标签时附上原文引用作为证据。但在几千个真实岗位上跑完之后,结果表明这种做法并不能提供真正的保障。

    AI / LLM1788 字阅读 – 次

  9. URL 不变但内容会变:爬虫抓取动态分类名单的实践

    某化学学院的师资页面有两百多位老师,爬虫却只抓到 3 位。页面地址始终不变,名单内容通过 Tab 点击异步切换。本文介绍如何让大模型和无头浏览器配合,抓取同一 URL 下的全部名单。

    Backend1619 字阅读 – 次

  10. 一次网页抓取流量异常的排查记录

    从 Auto Email Sender 的一次流量异常出发,记录一次批量抓取中 10 GB 的下载量如何被追查到浏览器使用、资源加载和重复抓取。

    Backend3029 字阅读 – 次