作品展示 · 2026
吴昱辰
设计出身的端到端 AI 落地工程师
视觉传达设计科班 × 自学全栈 AI 落地 × 重度 Agent 工程实践。
独立把模糊需求走到"客户能用的线上产品"。
01
民航飞行手册严格 RAG
真实客户 · 已上线验收阶段
02
SKILL·HOT 热度计
自主项目 · 已部署上线
← → 翻页 · T 主题
吴昱辰
20 岁 · 温州商学院 视觉传达设计 本科在读 · 现居温州,可赴外地
我能一个人,把一句模糊的需求,
做成客户真的能用的线上产品。
我怎么学的
全部自学,学完立刻落地
AI、编程、硬件、网络都是自学的。方式是:看到新东西就立刻找一个真实场景用上——做不出来,就说明没学会。
我做过什么
两个真实的企业项目
一个已经上线(今天要讲的民航知识库),一个走完了从需求调研到正式报价的完整客户周期(外贸单据自动化)。
我怎么干活
人做判断,AI 做执行
日常用 Claude Code 当主力生产工具,多个 AI 分工协作。方向、取舍、验收由我定,重复劳动交给它。
关于我的专业
我是设计专业出身,但这不是转行。设计训练的核心是把混乱的信息组织成人能看懂的结构——我现在做的是同一件事,只是换了个介质。
一个人走完整条链路
一般的分工是六个人干六件事。我这两个作品,每一环都是我自己走的。
01 · 接需求
把"我们想用个 AI"拆成能做的事
直接面对客户,问出他真正的痛点——通常跟他一开始说的不一样。
02 · 定方案
判断该用什么、不该用什么
以及为什么。取舍比堆技术重要。
03 · 做出来
界面、后台、数据处理都能自己写
不需要等别人配合,一个人能把东西跑起来。
04 · 验证
自己出考题,考自己的系统
用数据证明这一版到底有没有比上一版好,而不是凭感觉。
05 · 上线
让它 7×24 自己跑着
服务器、域名、证书、定时任务、日志、故障恢复。
06 · 接反馈再改
客户说不好用,我能判断问题出在哪一层
这一环最难,也最值钱。今天第二个故事就是讲这个。
底色
视觉传达设计科班(品牌 / 版式 / UI / 交互)。大部分人只占其中一两环,我是整条能走完——这也是我理解的"能直接面对客户的落地工程师"该有的样子。
其他经历,快速过一遍
企业项目 · 二
外贸订单录入自动化
帮一家外贸制造企业把客户订单自动录入系统——原来人工录几十个字段要数小时,目标压到分钟级。
独立走完了完整客户周期:需求调研 → 做 Demo → 正式方案与报价(后因客户内部决策暂缓)。
自主项目 · 工程诚信
A 股量化研究系统
从零搭建,540+ 项自动测试全通过,连续 50 天每天自动运行并发布报告。
最想讲的是这个:早期"预测涨跌"模型被我自己用严格回测证明约等于抛硬币,我主动把它降级标注、公开证伪过程。研究性质,不涉实盘。
设计本行
真实商业交付
宠物食品品牌包装与电商视觉(真实交付)、哈尔滨 / 宁波城市文旅 VI、AI 批量视觉生产系统(配套软著申请材料与研究论文)。
不是课堂作业。
个人网站(自己写的):lumastudio.com.cn
不是"查得慢",
是"不敢信"
某大型民航货运航司 · A330 货机机队
痛点一 · 人工检索
19 本手册,1.8 万页 PDF
飞行员 / 机务查一个放行条件、一段应急程序,要在几千页扫描件里人工翻页。FCOM、QRH、MEL、CDL、SOP 各成体系。
痛点二 · 不敢用大模型
它会一本正经地编
通用大模型面对手册里没有的内容会编造数值和步骤。在航空安全场景,错一个数字就可能致命——所以宁愿继续人工翻页,也不敢引入。
- 需求的本质因此不是"提高检索效率",而是 "在可信度上做到能被安全场景接受"
- 常规 RAG 的目标函数是"尽量多答";这个场景的目标函数必须反过来
每一个论断都必须能追溯到原文引用;做不到,就明确拒答。
- 常规 RAG 追求"尽量多答",覆盖率是它的 KPI
- 这个系统反过来:允许答不出,绝不允许答错
- 这条约束不是口号——它是后面每一个技术选择的源头:四道独立防线、对抗性评测、拒答守卫,全都是从这一行推导出来的
这条原则的代价
系统会拒答一部分"其实能答"的问题。我接受这个代价——在安全关键场景,假阴性可以补,假阳性补不了。
纵深防御,不把宝押在 prompt 上
点击任意一层展开细节 · 四层互相独立,任何一层失效其余仍能兜底
1
Hybrid 检索 召回层
向量召回(bge-m3,1024 维中英跨语) + SQLite FTS5 关键词召回 → 自研 RRF 融合
FTS-only 候选必须通过 core-token gate 才放行;召回失败优雅降级为保守拒答。领域感知分词:jieba + 航空缩写白名单(MEL / QRH / V1 / CAT II 等整 token 保留)。可选 bge-reranker-v2-m3 交叉编码器精排 top30→top8,且置于拒答守卫之后,不干扰拒答决策。
2
复合拒答守卫 不调 LLM · <150ms
off-domain 守卫 + vec_sim 复合阈值 + 历史/事件类 intent 守卫,毫秒级短路
知识库没有该机型主资料 → 直接拒;相似度 <0.50 拒 / ≥0.55 放行 / 灰区走领域缩写门;"上次出过什么事故"这类历史事件问句直接拒。这一层短路的请求完全不消耗 LLM 调用——既是安全设计,也是成本设计。
3
生成约束 + 自拒治理 生成层
严格 system prompt(只准用知识库内容、逐论断标 [n] 引用) + 自拒时干净重采样多路投票
模型自我拒答但证据其实充分时,并行 2 路干净重采样(不带失败历史)投票,全部路径都拒才输出兜底。为什么必须"干净"——见下一页的"拒答锚定效应"。安全阀不放松:确认无关时保持拒答。
4
引用后处理校验 兜底层
引用编号越界或编造 → 整条答案重写为拒答;缺引用的论断追加警告
这一层是"就算前三层全被绕过"的最后闸门。同时精确区分"拒答文案"与"诚实的部分回答"——早期版本用子串匹配,把"未找到完整程序,但资料包含以下步骤 [5]…"这种最有价值的回答整条误杀了,修完这个 bug,对抗评测直接上到 100%。
RAG 拉开差距的地方不在模型,在数据
- 确定性去噪:34 条"零信息整行"模式,只删版式家具,正文与章节标题零损失
- 结构感知切分:先做全量锚点扫描(实测而非假设)——96.5% 页面存在可靠锚点。FCOM/QRH 用 DU 识别行、MEL/CDL 用条目号、SOP 用小节号,无锚点文档自动回退滑窗
- 父子两级索引:小块检索保精度,命中后取完整父块作答——程序步骤、表格、放行条件不再碎片化
- Contextual Retrieval(Anthropic 2024 方案):为每个子块生成一句定位说明前置到向量文本。安全红线:说明只参与检索,永不进入引用与答案依据链
一个意外收获
被噪声埋掉的真实答案
系统一直答不出"如何修理咖啡机",我原以为知识库里没有。去噪后发现——MEL 第 478 页真有咖啡机的放行条目(厨房电器 C 类修复期限)。
数据质量修复不只消灭伪命中,还释放了被掩埋的真实内容。
模板题只能证明"检索通了";要证明"不编造",必须用设计来让它出错的题。
10 个攻击维度 × 50 题 · 判分器支持 answer / refuse / answer_or_refuse 三态 + must_not_include 禁词断言
诱导编造
错误前提
off-domain 机型
主观诱导
历史事件
多跳组合
数值精确性
深章节号
模糊短 query
双语混合 + 注入
工程纪律 · 一
每条失败样本人工核对后才下结论
本轮发现 10+ 条"失败"实为判分误伤——否定句纠错、诚实的部分回答等教科书级正确行为,被子串匹配冤枉了。
不做这一步,就会照着假的失败样本去"修"一个没坏的系统。
工程纪律 · 二
同题同模型公平对比
库变化会让评测抽题漂移,模型更换会整体移动分数。所有版本对比必须锁定同一份题 + 同一个模型。
这条原则让我避免过一次错误结论。
数字,以及数字的构成
结构专项(程序完整性 / 数值 / 深条目)70% → 0%
灰线 = 升级前基线 · 同题同模型公平对比 · 2026-07-07 单日完成四代
我自己踩出来的一个发现
拒答锚定效应
最初把"首次拒答"作为对话历史传回去重试——模型被自己的拒答锚定(一致性偏差),双路全拒。
改为干净重采样(不带失败历史)后:单路成功率实测约 50%,双路联合把残余自拒率压到 平方级。
剩余差距的诚实拆解
~2–4% 生成层残余抖动(多采样已压到平方级但非零)
~3 分 属评测工具产生的怪题,非系统缺陷
个别 KB 真实缺失(如襟翼构型速度表需表格结构化)
一条差评,改的是架构不是 prompt
客户原话:"问『如何使用 MEL』,答成了章节目录。"
修复前
系统返回 MEL 的章节目录。
检索命中的是目录行——因为条目的标题和正文被 800 字滑窗切到了不同片段里。
→
根因定位 → 重构切分层
答出实操流程:
失效 → 记录 → 修理或保留 → 仅适用于飞行前。
改的不是 prompt,是让切分单位对齐手册的天然语义单元。
同一次重构带来的质变
MEL 32-42-09 条目
软拒答 → 直达完整条目:按压电门、修复期限、放行数量,页码精确到 785-788
白名单补全
VMO / MMO 数值
确定性误拒 → "VMO 330 kt / MMO M 0.86 [1]" 一步到位
安全关键步骤
ENG FIRE 完整处置
原缺失"切断发动机主电门" → V4 后完整有序:收光油门 → ENG MASTER OFF → FIRE 按钮 PUSH → 灭火剂 DISCH,全带引用
怎么保证上线不出事
- 多 agent 上线裁决:13 条失败样本 × 3 个独立核查视角(编造查证 / 判分口径 / 回归归因)= 40 个 agent 实际查库取证,产出 go / no-go 裁决与修复清单
- 两个"疑似回归"被差分实测证伪——不做这一步,就会错误回滚一个其实没问题的版本
- 全程可回滚:部署前三件套备份(库 / 代码 / 配置),新库并行构建、评测达标才原子切换,任意版本 2 分钟可回滚
- 线上事故处置:模型服务商余额耗尽导致问答中断 → 零代码改动 10 分钟内切换备用兼容端点恢复服务
诚实边界 · 我主动讲的部分
状态:真实客户对接、系统已上线,但处于测试 / 验收阶段,未进入全量生产,暂无客户方审计过的 ROI 数字。
客户名:按保密要求统一表述为"某大型民航货运航司"。
已知遗留:LLM 生成层偶发自拒率约 4–8%(检索正常但模型保守),已进入监控清单。
安全免责(写进产品里的)
系统仅用于辅助查询。在航空等安全关键领域,严禁将输出直接用于实际运行决策,所有回答以原始受控文件为准。
技术选型
| LLM | DeepSeek(温度 0.1,可换任何 OpenAI 兼容端点) |
| Embedding | BAAI/bge-m3(1024 维,中英跨语) |
| Reranker | bge-reranker-v2-m3 交叉编码器(可选) |
| 向量库 | sqlite-vec 虚表(零部署依赖) |
| 关键词 | SQLite FTS5 + jieba + 领域缩写白名单 |
| 后端 | Python 3.11 / FastAPI / SSE 流式 |
| 前端 | Vite + React 18 + TS + Tailwind + shadcn/ui |
| 文档解析 | PyMuPDF + python-docx + 页眉确定性去噪 |
87 用例测试基线首 token < 3s
混合检索 100–200ms私有化部署 · 数据不出内网
可当场演示
建议请面试官提两类问题:
- 它应该能答的:如"复飞的完整程序" → 看它给出带页码引用的答案
- 它应该拒答的:如问别的机型、或"A330 上次出过什么事故" → 亲眼看到它拒答
第二类比第一类更有说服力——所有 RAG 都能答对第一类。
为什么是 SQLite 全家桶
单文件即整库(SQL + 向量 + 全文索引):备份 = cp,回滚 = 换文件。2 万切片规模单次混合检索 100–200ms——对私有化知识库,比引入独立向量数据库的运维成本合算得多。
Agent Skills 每日热度计
同一套方法论换个场景复用 —— 用它证明第一个项目不是运气
0
skill 全量 AI 评分(成功率 99.9%)
它解决什么
Agent Skills 生态没有"信息集散地"
GitHub 上每天新增 30–40 个含 SKILL.md 的仓库,散落在各处。我做一个自动发现 + 质量评分 + 排行 + 日报的聚合站,并开放 API / RSS 给别人接。
前半天做了什么
两个并行调研 agent 实测拆解
拆解对标站整站结构(OpenAPI 全量端点、38 个主题页、RSS 结构、防盗采机制),并验证 Agent Skills 生态的全部可用信源(GitHub 四个 topic 的量级、SkillsMP、ClawHub feed…),综合成可直接开工的设计蓝图。
7 步流水线
01
discover
GitHub 4 topic + 近 N 天新库
→
→
→
→
→
→
设计取舍 · 一
多源交叉但不合并
ClawHub 那一步只给已收录 skill 打"多源收录"标记,不合并数据——不同源数据质量不一,合并会污染。只当信号用。
设计取舍 · 二
防合集刷屏
单仓库最多取 40 个 SKILL.md,避免一个"技能合集"仓库淹没整个榜单。raw 拉取不计 API 配额。
设计取舍 · 三
能用代码算的绝不调模型
日报按北京自然日切片,纯代码拼装零 LLM 调用。省钱、稳定、可复现。
知道 LLM 在哪不可靠,就用确定性手段兜住那一块。
问题 · LLM 给分通胀
固定阈值时 88% 都"精选"
让模型给 5090 个 skill 打质量分,实测中位数 78 分——按固定阈值切,精选池占 88%,精选就失去意义了。
常规做法:调 prompt 让模型严格点。
问题是 prompt 调完还会漂移,换个模型又得重调。
我的做法:不跟模型较劲 —— 改用全库 P85 分位数动态校准精选线。不管模型整体偏高偏低,精选池永远稳定在头部约 15%(线上实测 837 / 5090 = 16.4%)。
分工 · AI 只做它擅长的
权重由代码算,不由模型算
AI 负责 语义理解 · 分类标签 · 中文推荐理由 · 风险提示
代码负责 utility 40% + quality 28% + universality 12% + star 20%
三个榜单 · 全部代码计算
- 热点榜:快照差值算 star 日增速;仅一天快照时新库用平均日增星近似;每仓库只出最高分 skill
- 总榜:AI 分 45% + log-star 35% + 维护活跃度 20%
- 上新榜:firstSeenAt 倒序 + 仓库级全量去重
同一套方法论 · 迁移过来
3 镜头 finder + opus 怀疑者验证
三个不同视角的 finder agent 找问题,再用一个 opus 怀疑者 agent 逐条验证真伪。
5 个发现 → 4 个存活 → 全部修复并回归验证
热点榜截断上新榜窗口
日报时区详情页池过滤
全是"自己随手点几下测不出来"的边界问题——所以才需要专门设计来找茬的审查。
诚实边界
riskFlag 是 AI 提示性标注,不是安全审计结论。
热点榜需 ≥2 天 star 快照积累才有真实增速数据。
线上暂未接访问统计与 uptime 监控。
设计科班的部分
8 参考站 × 4 调研 agent × 37 模式 → 一份设计规范
UI 没有直接开画,先做模式调研并收敛成规范,再实现。
HOT WIRE 热线终端(暗色 · 初版)
冷调四级曲面 + 橙色收窄为信号色 · 胶囊温度计 + count-up · 批注式推荐理由 · Bento 分类网格
HOT PRESS 热报纸面(亮色 · 定版)
暖纸四级曲面 + hairline · 信号橙加深保对比 · 噪点改 multiply 纸纹 · 发光改极淡暖晕
token 同名换值,组件零改动 —— 整站换肤只改一层变量。
这是设计背景在工程上的兑现:不是"会画好看的图",是"知道怎么把设计系统化成可维护的代码结构"。
补上我承认过的那块短板
我之前所有项目都卡在同一层:本地能跑,但给不了别人一个能独立运行的东西。这次走完了。
生产环境栈 · 不只是"传上服务器"
| 进程 | PM2 守护 + systemd 开机自启 |
| 反代 | nginx,限流 60r/m(burst 40),SEO 爬虫 UA 403 |
| HTTPS | Let's Encrypt + certbot 自动续期,HTTP 301 跳转 |
| 定时 | crontab 每天北京 07:30 自动跑全管线 |
| 日志 | logrotate 周轮转保留 4 份 + pm2 logs |
| 发布 | 本地构建 Next standalone → 只传精简产物(目标机磁盘紧张) |
一个运维细节:服务器上的数据库每天实时更新,所以部署命令特意排除了它——否则每次发版都会覆盖掉当天采集的数据。
踩坑记录 · 真做过才知道的
- Next standalone 不读 .env 文件 → 环境变量必须走 PM2 ecosystem 注入
- Prisma 需 binaryTargets = ["native","debian-openssl-3.0.x"] 才能在 Linux 跑本机构建的产物
- DATABASE_URL 必须绝对路径——相对路径在 standalone 下解析位置不可控
- 服务器复用 standalone 里已生成的 Prisma client(symlink),避免重复装几百 MB
- 本机 DNS 被代理污染,验证域名解析要走 DoH
诚实边界 · 我知道但还没做的
未开 Cloudflare 代理(现在 DNS only),源站 IP 暴露。要抗 DDoS 把 DNS 切 Proxied + SSL 选 Full (strict) 即可,证书已就位。
磁盘 4.9G 用了 69%;GitHub token 目前是 OAuth 而非专用 PAT。
先承认大模型不可靠,
再用工程手段把它兜住。
01 / 方法论
金标准 + 对抗性评测 + 多 agent 裁决。
把"答得好不好"的主观感受,拆成可检验、可回归的维度。
RAG:四道独立防线 + 10 维度对抗题
SkillHot:P85 分位校准 + 权重全代码计算
02 / 交付
交付的不是 demo,是端到端。
需求调研 → 架构 → 实现 → 评测 → 上线 → 运维,一个人走完整条。
两个项目现在都跑在线上:一个真实客户在验收,一个每天 07:30 自动更新数据。包括处置线上事故、包括把一条差评追到架构层。
03 / 底色
视觉传达科班。
设计不是我的加分项,是我理解产品的底层方式——从信息架构到设计 token,一路都是同一种"结构化"直觉。
五层贯通:硬件算力 → 部署运维 → AI 应用工程 → 设计与生图 → 获客交付。
最后一句
这两个项目的局限,我刚才都主动讲了。我更愿意讲清楚系统在哪不行——知道边界在哪,才知道下一步往哪走。
两个作品
都在线上跑着。
线上 · 随便提问
严格 RAG 问答系统 · 记得也让它拒答一次
线上 · 每天自动更新
SKILL·HOT · 5090 skill / 837 精选