我的工作涉及政府资助项目的监管,日常最头疼的事是:项目单位咨询项目开展过程中遇到的问题,经常需要查找核对确认相关政策文件,以确保回复无误,而且实际问题各种各样,有些并不能直接从政策文件中找到答案,和同事讨论发现也会存在理解不一致的问题。因此借助 TRAE SOLO,我搭建了一套基于 RAG + 大模型的政策咨询系统,并采用双源知识库策略——同时管理"规章制度"和"典型案例"两类知识库,既保证了政策合规,又沉淀了宝贵的实践经验,针对不能直接从政策文件中找到答案的问题,也通过AI基于原文件的解读提供了合理化分析建议。系统已在内部局域网部署运行,项目开展过程中遇到的问题输入后,直接返回相关条款或分析建议、参考案例等,响应时间从原来的几十分钟缩短到数秒内。
背景
我的工作涉及政府资助项目的日常监管,项目类型很多,如战略性新兴产业、河套合作区等多类型项目,每类项目都有独立的政策文件体系。
工作中经常遇到三个问题:
一是政策易混。 不同项目类型的政策条款大量相似,但关键细节不同,靠人工比对极易出错——例如同样是"重大变更",战略性新兴产业项目和河套合作区项目的认定标准就有差异。
二是口径不统一。 不同同事对同一政策条款的理解存在偏差,对外答复口径不一,例如"增值税扣除"的范围,是仅财政资助资金需扣除,还是自筹资金也需同步扣除?口径不一直接影响监管单位的权威性和可信度。
三是经验传承难。 老员工的处理经验大多是"隐性知识",典型案例散落在历史档案里,新人接手后通常需要约年时间才能熟悉,代价很高。
因此,想做一个项目问题处理的“导航仪”,让大家查政策像"搜索引擎+问答"一样,有据可查,有源可溯,做事有指引——而且能把老员工的历史经验也沉淀下来。
实践过程
怎么拆解任务
由于不懂代码和实现方式,在动手之前,我先把我的需求及顾虑和TRAE SOLO进行了讨论,并让他生成了开发指导文件DESIGN_AND_FAQ.md,它解答了我的三个顾虑问题:
问题一:AI 如何兼顾"本地政策知识"与"通用领域知识(法律/财务/专业)"?
我担心的是:有的问题可能除了政策条文外,可能还需要一些通用领域知识(法律/财务/专业)的补充才能更好地回答,建立本地政策知识训后,如何引入这些通用领域知识(法律/财务/专业)?
TRAE 的解法是知识分层融合:
- 本地政策知识(规章制度)建立为向量知识库,AI 回答前必须先检索
- 大模型本身的通用知识作为补充,但 Prompt 中设定"政策优先"原则——如果本地政策有明确规定,以政策为准;政策未涉及的领域,才用通用知识补充并标注"
问题二:如何保证回答的正确性?
这是最让我头疼的问题——AI 万一瞎编怎么办?
TRAE SOLO 的解法是溯源引用 + 诚实性约束:
- 强制引用:要求 AI 每句论断必须标注出处,如
[来源:XX科技项目管理办法 第五条] - 置信度检查:检索相似度不够时,直接提示"未在当前规章中找到明确依据"
- 人工反馈闭环:提供"报错/点踩"功能,用户报错会记录,供人工后台再针对性地修复补充标准问答
问题三:如何保证回答具有可操作性?
光有条款引用还不够,实际操作怎么做?
TRAE SOLO 的解法是** 角色定位 + 结构化指令约束 + 可操作推理**:
- 角色定位:让 AI 当"咨询顾问"而不是"复读机",明确设定为"专业的政府科技项目咨询助手"
- 结构化分析:对于变更类问题,强制要求从6个维度分析(建设内容影响、绩效指标影响、资金结构合规性、进度影响、合同批复变更、风险与审计关注点),并给出"综合判断"
- 可操作推理:Prompt 中明确要求"如果规章制度没有对特殊情形给出直接条款,请在遵守规章精神和边界的前提下,结合条款目的给出合理、具体、可执行的处理建议,并明确说明哪些属于规章原文规定,哪些属于合理延伸"
除回复这些问题外,它还给出了系统架构、功能清单及实现计划,整个项目分成三块:
- 知识库建设:把各类项目的政策文件、典型案例整理成结构化文档,导入向量数据库
- 查询与问答:用户按项目类型提问,系统检索相关条款,结合大模型生成回答并附上原文依据
- 辅助功能:变更合理性分析、多轮对话、权限管理、会话持久化
经过这轮讨论,项目的技术方案基本成型,接下来就是TRAE SOLO根据实现计划TODO LIST,一步一步完成具体的代码实现了。
核心创新:双源知识库策略
这是系统最核心的设计思路。传统的 RAG 系统只管理政策文件,但我们发现,老员工或存档资料中的典型案例同样宝贵——处理过的实际问题、积累的经验教训,往往比干巴巴的政策条文更接地气。
于是设计了一套双源知识库:
| 知识类型 | 来源 | 定位 | 回答时的处理 |
|---|---|---|---|
| 规章制度 | 政策文件、法规条文 | 硬约束,必须遵守 | 回答时必须引用,标注"依据" |
| 典型案例 | 工作经验沉淀、历史处理记录 | 软参考,供借鉴 | 回答时标注"参考案例",非强制 |
这样做的好处是:既保证了政策的严肃性(规章制度是红线),又保留了实践的灵活性(典型案例是经验)。
用了 TRAE SOLO 哪些能力
- 整体架构搭建:让 TRAE 先帮我规划技术方案,我描述了需求(多类型项目、政策隔离、防幻觉、双源知识库),TRAE SOLO 给出了 FastAPI + ChromaDB + DeepSeek + LangChain 的组合方案,并解释了每个组件的选择理由
- 代码实现:RAG 检索流程、OCR 识别、双源知识库的 metadata 设计,全部骨架代码由 TRAE 生成,我做验证和问题反馈
- 调试问题:遇到 AI 幻觉问题时,把具体案例描述给 SOLO,它帮我分析根因并给出了三层防御方案(System Prompt 约束 + 后处理验证 + 用户反馈机制)
关键 Prompt / 操作过程
整个需求澄清过程不是单轮请求,而是一来一回的多轮对话:
第一步:抛出初步想法
“我计划搭建一个政府项目咨询平台,主要用来回答项目单位在项目执行过程中遇到的政策咨询问题。请你先给出一个初步的技术方案。”
**第二步:**TRAE SOLO 给出初步方案
TRAE SOLO 和我确认了一些要点后,就返回了一个初步方案,核心思路是用 RAG 技术接入政策文件,让 AI 能回答政策咨询问题,并简单提到了 Python + LangChain 的技术方向。
第三步:提出了一些担忧或问题
看完初步方案后,我意识到还有些关键问题没有明确,于是提出了前面三个具体问题:
问题一:AI 如何兼顾"本地政策知识"与"通用领域知识(法律/财务/专业)"?
担心 AI 回答时会把政策条文和通用知识混在一起,导致答非所问、甚至给出错误建议。问题二:如何保证回答的正确性?
政务咨询容不得 AI 瞎编,万一 AI 生成了不存在的政策条款,后果很严重。问题三:如何保证回答具有可操作性?
光有条款引用还不够,项目单位真正需要的是"下一步该怎么做"的建议。
**第四步:**TRAE SOLO 基于这三个问题,输出了 MVP 设计文档
TRAE SOLO 逐条回应了我的三个问题,并在文档中形成了可执行的最小可用方案——这就是后续编码的直接依据。
这种"先让 AI 出方案 → 我再追问关键问题 → AI 输出 MVP 设计文档"的方式,比一次性把所有需求写清楚更有效,因为有些问题你自己一开始是想不到的。
后续迭代主要是遇到问题再描述具体场景,比如:
“发现 AI 把原始合同中’(一)至(十一)‘编号改成了’3.1 至 3.6’,是什么原因,怎么解决?”
TRAE SOLO 直接帮定位到了 LLM 幻觉融合的根因,并给了 Prompt 约束方案。
踩过的坑
坑1:OCR 识别触发条件判断问题。 对于用户上传的PDF文件的识别,最初用文件大小判断是否需要 OCR,发现有些扫描件文件体积并不大,后来改成先提取文本,文本字符数 < 50 时才触发 OCR,准确率明显提升。这个判断逻辑是和 TRAE SOLO 一起讨论出来的。
坑2:跨项目类型参照需求。 宝安区项目有些条款没有详细规定,实际参照战略性新兴产业的政策执行,最初的隔离检索方案处理不了这种情况。后来在 TRAE SOLO 帮助下设计了"主库优先,参照库补充"的检索策略。
坑3:多轮对话 Token 超出限制。 直接传完整对话历史很快就超 Token 限制,TRAE SOLO 建议改为在 Prompt 中用特殊标记分隔"历史概要"和"当前问题",解决了这个问题。
成果展示
系统目前已在内部局域网部署使用,主要功能:
按项目类型精准检索政策条款,自然语言提问
双源知识库(规章制度 / 典型案例)分类返回,标注优先级
变更合理性六维度自动分析(建设内容、绩效指标、资金结构、进度、合同影响、风险)
三层 AI 防幻觉机制,回答必须附条款原文
支持 PDF / Word /图片 文档导入,扫描件自动 OCR
多会话管理,历史记录浏览器本地持久化
多项目类型隔离,不同类型政策严格不混淆
管理员密码登录,区分普通用户与知识库管理权限
技术栈:Python + FastAPI + React + ChromaDB + DeepSeek + LangChain
部署方式:考虑到数据安全和内网使用需求,采用局域网私有化部署方案,确保政策文件等敏感数据不外流。
效果与总结
提效方面: 以前处理一个政策咨询问题,光翻文件就要 10-15 分钟,复杂一点的要半小时,而且容易回答不全面。现在系统直接返回相关条款和建议答复,大部分问题 30 秒以内搞定。更重要的是,新同事也能给出有依据的答复,不需要一直请教老员工。
知识沉淀方面: 通过"典型案例"这个知识源,老员工及历史文件中的经验终于从脑子里、档案里搬到了系统里。新人接手后不只是问老员工,还能直接问系统——系统会告诉他这类问题以前是怎么处理的、依据哪条规定。
TRAE 在这个项目里做了什么: 它不只是个"写代码的工具"。在这个项目里,它更像一个技术顾问——帮我把业务问题转化为技术方案,在我遇到具体问题时给出有针对性的解法,同时也帮我验证一些设计决策的合理性。
可复用的方法:
- 先讨论,再动手:抛想法 → 让 AI 出初步方案 → 提出你的关键疑问 → 让 AI 输出设计文档(仔细确认修改) → 再开始写代码。核心是"和AI一起先想清楚,再动手",有些问题你自己一开始是想不到的。
- 遇 Bug 先分析后动手:遇到 Bug 时,为避免影响其它已有功能,先让TRAE SOLO只做分析并提供最小修改方案(不改代码),查看是那么回事或者让另一个AI来判断确认后,再让 TRAE SOLO 动手修改,并要求 TREA SOLO 自检确认。
- 分阶段迭代:先让 AI 搭骨架(给出设计方案),提供一个TODO list,分成多个步骤,再逐块完成,逐块确认效果是否达成。如果一开始就让AI 全部做完,对于稍复杂的程序,出问题的概率非常大。
项目代码(已去掉知识库文件,仅提供前后端代码):luocheng1982/GovProjectConsult-V2。






