背景
在杭州广立微电子股份有限公司实习期间,我负责搭建半导体行业 AI 智能体与配套评测体系。广立微是国家级专精特新"小巨人"企业,对 AI 在半导体领域的落地有强烈需求。
整个项目的核心目标是:让业务人员能够通过自然语言与 AI 智能体交互,完成半导体相关的数据分析、报告生成等任务,并且需要一套可靠的评测体系来保证智能体的回答质量。
知识库构建
数据来源
我们整理了 10+ 个领域专业知识库,包括:
- 半导体工艺文档
- 设备操作手册
- 历史工单数据
- 行业标准规范
RAG 架构选型
from langchain.document_loaders import DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma
# 文档加载与切分
loader = DirectoryLoader('./docs/', glob="**/*.pdf")
documents = loader.load()
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=1000,
chunk_overlap=200
)
chunks = text_splitter.split_documents(documents)
# 向量化存储
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(chunks, embeddings)
任务编排
我们实现了 100+ 项 LLM 任务流程的自动化编排,核心思路是将复杂任务拆解为原子操作的有向无环图(DAG)。
关键设计
- 任务模板化:将常见的半导体分析任务抽象为可配置的模板
- 动态参数注入:根据上下文自动填充模板中的变量
- 错误重试机制:LLM 调用失败时自动重试,最多 3 次
评测体系设计
评测体系是多维度的,覆盖以下方面:
| 评测维度 | 方法 | 权重 |
|---|---|---|
| 准确性 | 人工标注 + 自动对比 | 40% |
| 完整性 | 关键信息覆盖率 | 25% |
| 效率 | 响应时间 | 15% |
| 安全性 | 敏感信息过滤 | 20% |
踩坑记录
1. Prompt 模板管理
最初使用字符串拼接管理 Prompt,维护成本极高。后来改用了 YAML 配置文件 + Jinja2 模板的方式,大幅降低了维护成本。
2. 向量检索的精度问题
默认的相似度阈值导致大量不相关文档被召回。经过多轮实验,我们将阈值调整为 0.75,并通过 Rerank 模型进行二次排序,显著提升了检索精度。
总结
这次实习让我深刻体会到:AI 智能体从 Demo 到生产落地,最关键的往往不是模型本身,而是评测体系、错误处理和工程化能力。