面试官:-你的Agent项目没有harness吗?-我说:-我已经加上了-,面试官-执行力满分!-
公众号名称:居丽叶的大模型视界
作者名称:居丽叶
发布时间:2026-05-30 18:59
大家好,我是居丽叶。
之前我做了很多Agent的项目,比如pptAgent、股票Agent、手机助手Agent、差旅Agent之类,大家用到简历上去面试之后都给了我很多反馈:

我也非常荣幸能成为大家求职和转型路上的同行者。扫码即可加入我的知识星球:

这次我也是稳定发挥!
给大家介绍一下我在5月新出的项目——
医疗助手Agent,技术栈覆盖ReAct、Agent Loop、Skills-Agent 两层架构、Agent Swarm、多模态模型、RAG、Milvus、Redis、Mem0、Harness Engineering、训练优化(SFT、GSPO、多维度复合奖励、easyR1、FP8 量化、vLLM)。
这个项目开发岗和算法岗的同学都可以用来投递对应的岗位,因为之前也说过,目前很多算法岗跟开发岗的界线不是特别清晰。
- 开发岗的同学可以重点讲 Agent 工程、RAG、记忆、Harness Engineering、服务性能优化。
- 算法岗的同学可以在此基础上,再补上医疗多模态模型的 SFT、GSPO、奖励函数设计、vLLM 推理部署。
本项目写到简历上就是这样的:

之所以选择医疗 Agent 这个场景,一方面是因为考虑到有很多同学研究生的方向是医学方面计算机视觉相关的,加一个医疗 Agent 整体简历比较合理,故事也能讲得通,学了这个项目之后还能给自己原先的项目改造改造,也就能丝滑转型大模型/Agent了;另一方面,医疗场景天然有三个特点:
第一,用户的问题通常比较复杂。
比如用户会问”我有高血压,最近胸闷、头晕、出汗,是不是很严重?饮食上应该注意什么?要不要去医院?”
这类问题不是一个 RAG 检索就能解决的。
它需要知识查询、症状分析、风险评估、生活方式建议、临床指南检索,甚至需要多轮对话里的上下文理解。
第二,安全边界强。
医疗 Agent 不能随便下诊断,不能乱开药,不能在高危症状出现时还轻飘飘地说”建议多喝热水”。
所以这个场景天然适合讲 Harness Engineering。
Harness Engineering 是最近出现在各类招聘JD里面的高频词,有的甚至直接在岗位名称中体现了:

第三,可迁移性强。
本项目的原生场景是医疗,但底层方案并不局限在医疗这个领域。
Skills-Agent 两层架构、多 Agent 协作、双层记忆、RAG+VLM 推理、约束系统,这些能力完全可以迁移到金融、法律、教育、政务、企业服务、电商客服。
医疗只是一个更容易体现复杂度和安全性的外壳。
项目的整体架构如下:

整体的设计是 Skills-Agent 两层架构。
底层先抽象出了 7 个原子 Skills:
-
1. search_knowledge:通用医学知识检索
-
2. assess_risk:症状风险评估
-
3. analyze_symptoms:症状关联分析
-
4. recommend_lifestyle:生活方式建议
-
5. disease_code:ICD-10 疾病编码查询
-
6. clinical_guideline:临床指南检索
-
7. deep_research:复杂问题深度研究
上层再设计 3 个专业 Worker Agent:
ConsultationAgent,定位像全科医生,负责日常健康咨询、疾病科普、生活方式建议。
DiagnosticAgent,定位像专科诊断医生,负责症状分析、风险判断、疾病编码。
ResearchAgent,定位像医学研究专家,负责临床指南、前沿研究、循证医学证据检索。
此外还有一个 LeadAgent,负责复杂任务的分解、分配和汇总。
再外层是 SwarmCoordinator,负责判断问题到底走单 Agent 快速通道,还是启动 Agent Swarm 协作。
项目架构部分的介绍如下,完整的视频以及算法部分的代码演示视频也都在知识星球中:
📹 此处为视频内容(vid: wxv_4539004899828531210),未能直接提取,请前往原文查看:在公众号原文中观看
我把面试题也整理好了,大家可以直接按这个准备,过往每个项目都是按照这个标准给到大家的:

目录如下:
医疗助手 Agent 部分:
-
1. 这个项目的核心指标有哪些?
-
2. 为什么要设计成 Skills-Agent 两层架构?
-
3. 你提到的 7 个原子 Skills 分别是什么?
-
4. 你们有几个 Agent,分别负责什么?
-
5. Agent Loop 是什么,是怎么实现的?
-
6. Agent Swarm 是什么,为什么要用 Agent Swarm?
-
7. SwarmCoordinator 是怎么工作的?
-
8. SwarmCoordinator 是怎么判断走单 Agent 还是 Swarm?
-
9. SharedContext 是什么,起什么作用?
-
10. 你们的记忆系统是怎么设计的?
-
11. 为什么短期记忆要设计成单例模式?
-
12. 长期记忆为什么选择 Mem0,不用自己搭建向量数据库?
-
13. 向量数据库为什么用 Milvus?
-
14. 为什么选择 MedEmbed 作为嵌入模型,而不是通用嵌入模型?
-
15. 医学知识库是怎么实现的?
-
16. Agent Loop 中的 Skill 调用次数限制是怎么做的,为什么要限制?
-
17. 你们的 Harness Engineering 是什么,实现了哪些功能?
-
18. Skills 是怎么管理的?
-
19. 在设计过程中遇到过什么技术难点,怎么解决的?
-
20. 系统的平均响应时间是多少,有什么优化策略?
-
21. 系统未来有哪些优化方向?
-
22. LeadAgent 和 Worker Agent 有什么区别?
-
23. 约束验证是怎么工作的?
-
24. 熵管理是怎么做的,为什么要做?
-
25. 这个项目的分工情况是怎样的?
-
26. 系统的平均 token 消耗是多少,有做过哪些优化?
-
27. 如果某个 Agent 执行失败或返回错误结果,系统会怎么处理?
-
28. 知识库召回用的是什么检索算法?
医疗 VLM / 算法部分:
-
1. 简单介绍一下这个医疗 VLM 项目。
-
2. 为什么选择基于 Qwen3.5-9B 做医疗模型,而不是其他多模态基座?
-
3. 训练数据是从哪里来的?数据质量怎么保证?
-
4. 你提到用了两阶段训练,具体怎么设计?为什么要分两个阶段?
-
5. 强化学习阶段的奖励函数是怎么设计的?为什么这么设计?
-
6. RL 阶段的训练参数是怎么设置的?
-
7. LLM 判别器和嵌入相似度为什么要一起用?不能只用一种吗?
-
8. 训练过程中遇到过什么困难或者翻车情况?怎么解决?
-
9. 你们怎么评估模型效果?用了什么指标?
-
10. 模型推理过程是训练数据里本来就有,还是构造出来的?
-
11. SFT 阶段训练数据格式是什么样的?
-
12. SFT 阶段为什么用全参数微调而不是 LoRA?
-
13. SFT 和 RL 阶段用的是同一批训练数据吗?为什么不会过拟合?
-
14. 内部 QA 数据是怎么收集和标注的?和公开数据有什么区别?
-
15. SFT 和 RL 两个阶段训练完成后,模型平均得分分别提升了多少?
-
16. 训练出来的模型在医疗 Agent 系统中具体怎么使用?模型部署做了哪些优化?
-
17. 这个 VLM 模型训练项目的分工情况是怎样的?
八股延展部分:
-
1. MCP 和 Agent Skills 有什么区别?
-
2. Skills 是如何通过渐进式披露节省 Token 的?
-
3. 什么是 Harness Engineering?
-
4. Harness Engineering 与 Prompt Engineering、Context Engineering 有什么区别?
-
5. Harness Engineering 的设计边界在哪里?
-
6. ReAct 的任务解决轨迹是什么?
-
7. RAG 的基本流程是什么?
-
8. RAG 一般怎么做效果评估?
-
9. 使用 RAG 能解决哪些问题?
-
10. 为什么要做 Chunking?
-
11. 怎么保证跨页图片和表格不被拆分到不同 Chunk 中?
-
12. 如何避免将完整段落或语义单元拆分到多个 Chunk 中?
-
13. 如何根据 Chunk 定位到原文位置?
-
14. 如何评价 Chunk 切分效果?
-
15. RAG 怎么做检索?
-
16. vLLM 的 PagedAttention 解决了什么问题?
-
17. SFT 和强化学习有什么区别?
-
18. GSPO 对 GRPO 做了什么改进?
-
19. 怎么用通俗语言解释 GSPO?
-
20. 什么是奖励劫持?怎么缓解?
-
21. 怎么解决熵坍塌?
已经有不少同学拿去面试了,我们的答疑也是比较及时:

除此之外星球中还有:
9000人看过的《LLM知识体系搭建》:

配套的开发岗和算法岗的学习路线,这两个文档在公众号后台回复“学习路线”也可以获取:


还有覆盖非常全面的八股速记:


春招/秋招/实习投递表:

大家有简历、offer选择等问题都可以在知识星球里面向我提问,我都会认真回复大家的。
做知识星球这么久以来我也收到了非常多温暖的反馈:

我像收集珍珠一样收集着大家的反馈:

这让我感到自己做的事情很有意义、动力满满!我也正在给大家做下一个项目,是多模态agentic RL类型的,主要面向算法同学。
目前星球的定价是299/年,续期五折,目前续费率和转介绍也是相当高的:

所有的评论和反馈我都会看到,大多数同学也是比较认可我做的知识星球的。
差评主要集中在两个方面,一个是简历撞车,比如差旅Agent:

股票Agent:

以至于认识的大厂面试官朋友说,他现在看到来面试的人简历上是差旅、股票、手机助手这几个项目,就知道是谁带出来的兵了。
我:

关于这一点,目前的解决方案就是我会尽量多出新项目,一般一到两个月星球里会更新一个新项目,优先给已经在星球里的同学使用,使用半个月到一个月之后我会在公开平台做宣传。
还有一点就是很多同学会说星球里的项目“代码实现不完整,纯靠文档包装”。
代码的实现也不能说不完整吧,至少正常运行是没有问题的,只是没有面试准备问答中描述得那么“工业化”。
这里我也先把边界说清楚,避免大家学习到一半才发现预期不一致。医疗Agent的代码实现相比面试文档中的描述主要在这五个地方有区别:
- 1. Agent推理引擎
- 代码:三个Worker Agent全部通过这个client调用外部API
- 面试文档:写明训练出的Qwen3.5-9B医疗VLM作为三个Worker Agent的大模型
- 2. 量化评测指标
- 代码:没有全部展开量化指标评测的数据和完整评测代码
- 面试文档:具体描述了评测指标
- 3. Skills实现深度
- 代码:比如assess_risk、analyze_symptoms靠关键词列表硬匹配;recommend_lifestyle、disease_code、clinical_guideline本质都是带filter的Milvus向量检索,无专业推理逻辑
- 面试文档:将各Skill描述为具备”症状模式识别和疾病关联推理""循证医学依据""权威指南检索”等专业化能力。
- 4. Agent并行执行
- 代码:Python进程的事件循环里并发
- 面试文档:分布式并行
- 5. Worker Agent任务获取方式
- 代码:LeadAgent直接在JSON里指定每个subtask的assigned_agent字段;Worker只是取出已被分配好的任务,本质是中心化分配
- 面试文档:去中心化,Worker Agents会根据自己的能力标签自主认领适合的任务
这些功能不实现不是因为我有代码不拿出来给大家,而是因为星球项目的定位就是速成型、面试型、简历型项目,它的目标是让你在比较短的时间里,快速运行这个项目,并理解一个医疗 Agent 项目应该怎么设计、怎么讲、怎么被面试官追问。
目前为了跟进最新技术,迭代速度也比较快,所以代码里确实会有一些地方实现得比较简略。
如果大家很需要”能直接拿去上线的工业级 Agent 产品”,各方面工程细节都实现得很完整的项目,可以考虑一下价格更高的训练营。
同时买了星球和训练营的同学的评价如下:

不过用星球的项目尽快找到一份对口的实习/工作,然后在工作中积累真实的工程经验也是性价比很高的方式啦~
为了做竞品调研的工作,我购买了市面上大部分的大模型课程,价格从几十到几百到上万元不等,我想我是很有资格做大模型课程测评的。但是屁股决定脑袋,我又没有那个立场去做了。
总之目前这个定价我认为是十分公道的。大家也不要用“你的课程和xxx的课程哪个更好”这种问题来为难我了🤦♀️。
因此,每当有同学说他是“速成”上岸时:

我be like:

对于互联网,我始终充满敬畏之心。
如何加入知识星球?

步骤 ①:微信扫描上方二维码,点击「加入知识星球」按钮
步骤 ②:访问星球置顶帖[新人必读]:https://articles.zsxq.com/id\_8tpe71esx3ms.html,即可获取星球资源
加入后不满意,三天内(72h)可以自行退款。
知识星球往期介绍:

Original 居丽叶 居丽叶的大模型视界
内容效果不满意?点此反馈