州和地方政府并不缺少数字化系统,真正的问题是系统太多、数据彼此隔离、工作人员仍要在多个界面之间重复录入。进入智能体时代后,AI 的价值不应只是生成一段文字,而是把数据查询、文档核验、规则匹配和人工审批串成一条可审计的服务流程。
这也是 AI 成为州级 CIO 首要关注事项的重要背景:当积压案件、老旧基础设施和公众服务预期同时上升,机构需要的不是另一个孤立的聊天机器人,而是一座连接现有投资与现代服务交付的桥梁。
公共服务的瓶颈,本质上是流程断裂
公共部门常见的摩擦可以归纳为三类。
数据被部门边界切碎
案件材料、资产信息、合同记录和居民身份数据往往存放在不同部门维护的仓库中。工作人员即使拥有权限,也可能需要在多个系统中检索、下载和重新录入。
智能体并不能自动消除这些边界,但可以在权限控制之上调用查询工具,把多个来源的数据组织成统一的案件视图。关键是保留原始数据的归属和访问策略,而不是先把所有内容无差别复制到一个大数据库。
人工时间耗在低价值操作上
录入表单、整理附件、检查缺失字段、比对合同条款和生成标准通知,都会消耗专业人员的时间。适合自动化的是可重复、规则明确、结果可复核的步骤;涉及资格裁决、执法决定或高影响资源分配时,则应保留明确的人工审批点。
居民承担系统不互通的成本
当多个平台无法交换已经验证过的材料,居民可能被要求反复提交同一份证明。更合理的模式是:在居民授权、用途限定和保留期限明确的前提下,工作流先查询已有核验结果,仅在材料缺失、过期或不满足当前业务要求时请求补充。
案例说明:价值来自流程重构,而不只是模型能力
已有实践展示了几种不同的落地方向:
- 犹他州交通运输部门(UDOT)需要识别并绘制超过 52,000 个地产地块。原先估计需要 33.5 年人工劳动,通过在 BigQuery 上构建统一数据平台,项目在不到一年内完成,让工程师能够重新专注于道路安全。
- 哈特福德市在公共会议中提供覆盖 80 种语言的实时双向翻译,在扩大公众参与的同时,实现了 130 万美元的结构性成本节约。
- 查塔努加市集中管理碰撞和事故数据,帮助规划与公共安全团队识别高风险路段、优化信号灯时序并安排基础设施投资。
- 印第安纳州交通运输部门(INDOT)使用 AI 和文档分析处理采购合同合规审计,在不把持证工程师从现场项目中抽离的情况下满足 30 天合规期限,并节省了 360 小时高级工程师工时。
- 洛杉矶市面对世界杯、超级碗和奥运会等大型活动带来的需求,将 Gemini 纳入 45 个部门、27,500 名员工的日常工作,以扩展行政处理能力和多语言支持。
- 马里兰州在注重安全和隐私的云基础上,为约 40,000 名工作人员提供 Gemini 和 Gemini Notebook。相关团队在五周内构建并部署了清洁水管理应用,节省了数千小时工作时间。
这些项目的共同点不是“让 AI 独立管理政府”,而是先统一数据入口,再把模型嵌入一个边界清晰的业务流程。衡量指标也很具体:处理周期、人工工时、重复提交次数、语言覆盖率以及安全或合规结果。
一个可改造的案件预审工作流
下面是一个仅使用 Python 标准库的最小示例,用来演示智能体工作流的结构。它会检查申请字段、复用已有材料、查询政策规则,并把需要判断的案件送入人工队列。
假设说明:示例中的分类逻辑是确定性规则,不代表 Google Cloud 或 Gemini 的真实 API。实际项目可以在 classify_case 中接入机构批准的模型,在 lookup_existing_document 中接入 BigQuery 或现有案件系统,并使用正式的身份、授权和审计服务。
将以下内容保存为 workflow.py,然后运行 python workflow.py:
from dataclasses import dataclass, asdict
from datetime import date
import json
@dataclass
class Application:
case_id: str
resident_id: str
program: str
annual_income: int
household_size: int
consent_to_reuse: bool
submitted_documents: list[str]
# 模拟跨部门文档索引;生产环境必须按用途和权限查询。
DOCUMENT_INDEX = {
"resident-1001": {
"identity": {"verified": True, "expires": "2027-05-01"},
"income": {"verified": True, "expires": "2026-12-31"},
}
}
POLICY = {
"housing_support": {
"base_income_limit": 30000,
"per_additional_member": 6000,
"required_documents": ["identity", "income"],
}
}
def lookup_existing_document(app: Application, document_type: str):
if not app.consent_to_reuse:
return None
record = DOCUMENT_INDEX.get(app.resident_id, {}).get(document_type)
if not record or not record["verified"]:
return None
if date.fromisoformat(record["expires"]) < date.today():
return None
return record
def collect_document_status(app: Application, required: list[str]):
result = {}
for document_type in required:
if document_type in app.submitted_documents:
result[document_type] = "submitted_now"
elif lookup_existing_document(app, document_type):
result[document_type] = "reused_with_consent"
else:
result[document_type] = "missing"
return result
def classify_case(app: Application):
policy = POLICY.get(app.program)
if not policy:
return {"route": "human_review", "reason": "unknown_program"}
documents = collect_document_status(app, policy["required_documents"])
missing = [name for name, status in documents.items() if status == "missing"]
if missing:
return {
"route": "request_documents",
"reason": "missing_required_documents",
"missing": missing,
"documents": documents,
}
income_limit = (
policy["base_income_limit"]
+ max(0, app.household_size - 1) * policy["per_additional_member"]
)
# 接近阈值的案件交给工作人员,避免自动化直接作出高影响决定。
margin = abs(app.annual_income - income_limit) / income_limit
if margin <= 0.10:
route = "human_review"
reason = "income_near_policy_threshold"
elif app.annual_income < income_limit:
route = "ready_for_caseworker_approval"
reason = "precheck_passed"
else:
route = "human_review"
reason = "potential_ineligibility_requires_review"
return {
"route": route,
"reason": reason,
"income_limit": income_limit,
"documents": documents,
}
def audit_event(app: Application, result: dict):
# 生产环境应写入不可篡改日志,并避免记录非必要的敏感信息。
return {
"event": "application_prechecked",
"case_id": app.case_id,
"program": app.program,
"input_snapshot": asdict(app),
"result": result,
}
if __name__ == "__main__":
application = Application(
case_id="CASE-2026-0001",
resident_id="resident-1001",
program="housing_support",
annual_income=32500,
household_size=2,
consent_to_reuse=True,
submitted_documents=[],
)
decision = classify_case(application)
print(json.dumps(audit_event(application, decision), indent=2, ensure_ascii=False))
这个示例刻意把最终决定留给案件工作人员。生产系统还应增加以下组件:
- 身份与授权层:验证工作人员身份,并按岗位、案件和数据用途控制访问。
- 检索层:只返回当前任务需要的字段,同时附带来源、时间和有效期。
- 智能体编排层:限制模型可调用的工具、参数和执行顺序。
- 人工审批层:对低置信度、高影响或政策边界案件强制复核。
- 审计与评估层:记录模型版本、工具调用、引用来源、审批人和最终结果。
上线前不要只测“回答得像不像”
公共服务系统的验收标准应覆盖任务质量、公平性、安全性和运营能力。
可以建立一组脱敏测试案件,并持续计算:
- 必填字段提取准确率和文档分类准确率;
- 错误复用、过期材料复用和越权读取的发生率;
- 不同语言、地区或群体的转人工比例与错误率;
- 平均处理时间、案件积压量和每案人工触点数;
- 模型无法回答时是否能够安全退出,而不是编造政策;
- 工作人员是否能看到来源、修改建议并推翻自动结果。
翻译场景还需要母语使用者参与评估,尤其要测试法律、福利、医疗和应急术语。文档审计场景则应要求系统引用具体合同页码或条款,不能只输出没有证据的结论。
采用建议:从一个拥堵环节开始,而不是一次替换全部系统
更稳妥的落地顺序是:
- 选择一个量大、规则相对稳定、人工负担重且结果可验证的流程;
- 建立基线,包括当前处理周期、返工率、积压量和单位成本;
- 让智能体先做摘要、分类和材料检查,不立即执行不可逆操作;
- 用 API 和受控工具连接遗留系统,避免把模型直接暴露给底层数据库;
- 为居民提供知情说明、人工渠道、申诉机制和材料复用选择权;
- 小范围上线并按群体、语言和案件类型观察结果,再逐步扩大权限。
智能体时代的公共服务不应以“无人参与”为目标。更实际的方向,是让系统处理重复检索和机械操作,让工作人员把时间投入现场安全、复杂案件判断、居民沟通和政策执行。只有当数据治理、人工责任和技术编排同时到位,AI 才能真正缩短服务链路,而不是在旧有孤岛之上增加一个新的界面。