AI in R&D

AI 进入研发流程:从任务定义、工具工程到安全交付

这门课面向助听器研发企业的软件、硬件、算法和建模人员。重点不是多学几个聊天工具,而是重新设计 AI 参与后的工作流、工程资产、版本管理和验证习惯。

第一认知:研发资产开始同时面向人和 AI

过去很多工具、软件界面、文档、日志和调试方式默认是给人看的。AI 进入研发以后,这些东西还要能被 AI 读取、定位、调用、验证和复盘。第一个变化不是“多一个聊天框”,而是研发资产的使用对象变了。

从“人读得懂”,到“AI 也能使用”

不是所有旧资产都要保留,也不是所有东西都要写成文档。关键是判断:这个环节以后是给人判断、给 AI 执行,还是给双方共同复核。

过去IDE、界面、PRD、日志主要服务人的阅读和操作。
现在AI 也要读项目、找入口、运行命令、分析日志和复现实验。
问题哪些材料还需要写给人,哪些应该改造成机器可读资产?
变化工具、文档、日志、调试和测试都要重新设计使用方式。
原则人负责判断,AI 负责处理,工具和证据负责可验证。
IDE

IDE 不再是唯一入口

很多 AI Agent 会直接读目录、改文件、跑命令。项目入口、构建脚本和目录说明要比按钮位置更重要。

Docs

文档形态要重新判断

有些 PRD 不必保留原样,有些约束必须结构化沉淀。问题不是写不写文档,而是谁要使用它。

Logs

日志要给 AI 定位问题

日志不只是给人扫一眼,要包含时间、设备、版本、上下文、错误码和可过滤字段。

Debug

调试要变成可复现链路

AI 需要明确命令、输入、期望输出和失败证据。临场经验要变成可以重复执行的检查步骤。

所以要重新分类:哪些给人,哪些给 AI,哪些共同复核

主要给人使用

保留判断与取舍

业务目标、用户体验、风险判断、架构取舍、专业结论和最终审批。

主要给 AI 使用

提供入口、命令和结构

AGENTS.md、目录说明、接口定义、脚本、测试入口、机器可读日志和实验配置。

人与 AI 共用

沉淀证据和状态

代码差异、测试报告、调试记录、实验结果、版本记录、问题清单和阶段摘要。

AI 时代,每个研发都要具备架构能力

过去很多架构判断主要由研发总监、架构师或核心负责人承担。AI 进入研发以后,每个人在给 AI 分配任务时,都要能判断功能怎么拆、边界在哪里、依赖能否隔离、测试能否单独运行。否则 AI 会把模糊边界变成更快的错误扩散。

Architecture Contract
六项架构边界

个人架构能力,落到代码上就是清晰的任务边界

单一功能

一个程序、模块或实验脚本只负责一件明确的事。

清楚入口

有固定命令、函数入口、参数说明和最小运行样例。

明确输入输出

输入格式、输出结果、错误状态和边界条件都能被机器读取。

单独测试

每个单元都能离开完整系统运行自己的测试或仿真检查。

依赖解耦

外部设备、数据库、网络和模型依赖可以替换成 mock 或样例数据。

状态隔离

缓存、配置、临时文件和实验结果不要隐式污染其他流程。

判断标准:AI 能只读这个单元的说明、入口、测试和样例,就判断它做什么、怎么跑、哪里失败、是否通过。
不适合 AI 的结构

一个大程序同时处理连接、协议、状态同步、日志、界面和异常恢复。AI 很难判断改动边界,测试也只能依赖完整系统联调。

更适合 AI 的结构

连接管理、协议解析、状态同步、日志分析和异常恢复各自有入口和测试。AI 可以只改一个单元、跑对应测试,再由工程师决定是否进入集成验证。

节约 Token,本质是节约理解、等待和返工

Token 优化不是少打几个字,而是让 AI 不必反复寻找入口、读取无关材料、猜测环境和重新推理确定性步骤。

费用

输入和输出成本

无关文件、完整日志和重复历史都会直接增加用量。

时间

等待和执行成本

错误方向、重复命令和无效重试会拉长交付时间。

复杂度

注意力稀释

上下文越杂,关键约束越容易被不相关内容淹没。

返工

每次从零探索

没有文档、脚本和固定环境时,AI 每次都要重新认识项目。

定位

先找入口,再读原文

用术语索引、CDB、`rg`、LSP 或 AST 找到相关项目、符号和文档。

先定位与当前任务有关的入口和定义,只读取必要文件;不要扫描整个仓库。
过滤

先压缩输出,再进入上下文

用 `jq`、`jc` 和 SQL 保留时间段、字段、错误和聚合结果。

保留过滤命令、数据来源和结果行数,让摘要能够回到原始证据。
固化

把重复动作变成脚本和小工具

构建、测试、采集、实验和比较使用固定入口,失败时返回非零状态。

能由确定性程序完成的工作,不让模型每次重新推理。
摘要

每个阶段留下可继续的状态

记录已确认事实、已排除假设、当前决定、未解决项和下一步。

用阶段摘要代替反复携带完整对话和全部命令输出。

不要问“哪个模型最强”,要问“谁完成这类任务的总成本最低”

模型升级很快。企业应该比较具体产品在具体环境中完成具体任务的结果,而不是制作一张永不过期的排行榜。

底层模型

理解、推理、生成、多模态、速度和成本。

  • GPT 系列
  • Claude 系列
  • Grok 系列

Agent 产品

能否读项目、改文件、运行命令和验证结果。

  • Codex
  • Claude Code
  • Grok Build

工程环境

模型实际可以使用的数据、工具、设备和权限。

  • Windows / WSL
  • Git 与测试
  • 企业权限

当前实用判断:按任务类型选模型

培训里不做永久排行榜,而是给研发团队一个当前可用的经验判断:前台 UI、算法理解和图形相关任务,Claude 系列通常更顺手;后台逻辑、工程执行和实际落地干活,GPT 系列通常更稳;xAI 可以作为搜索、补充思路和交叉验证的备选。

模型方向更适合的研发任务使用方式必须保留的验证
Claude 系列前台 UI、交互体验、算法解释、图形和多模态相关分析用于理解复杂材料、整理界面/图形问题、比较算法思路和生成可讨论方案必须看真实页面、图形结果、实验复现和人工专业判断
GPT 系列后台逻辑、接口、数据库、工程 Agent、小步修改和工具执行用于拆任务、改代码、跑命令、修测试、查日志和推动实际工程闭环必须跑单元/集成测试,检查 diff、日志、权限和回退路径
xAI / Grok补充搜索、外部信息、不同思路和交叉验证作为第二意见,不作为唯一执行者;适合补充资料和发现遗漏角度必须回到代码、数据、测试和官方资料验证,不直接采信结论
任务方向优先尝试适合让 AI 参与必须保留的验证
后台逻辑GPT接口、数据库、事务、并发、权限、异常路径和测试修复单元/集成测试、权限测试、日志和回退
前台 UIClaude页面、组件、交互、状态、真实数据连接和视觉问题分析真实页面、交互路径、移动端和接口数据
算法研发Claude公式解释、论文/方案理解、实验脚本、基线复现和误差切片固定数据、随机种子、基线和结果复现
图形/可视化Claude图表、图像、界面截图、曲线异常和可视化表达真实截图、像素/数据核对、人工视觉确认和复现脚本
建模工作Claude + GPT数据划分、特征、训练、评估和结果分析;GPT 负责脚本化执行和修测试数据版本、配置、切分规则和独立评估
硬件/固件GPT + 人工确认规格整理、接口、日志、状态机和测试矩阵仪器、真实设备、模拟器和硬件工程师确认

给 AI 配一套能读、能做、能验证的研发工具箱

工具不是命令清单。每组工具都必须回答四件事:解决什么问题、AI 怎样调用、输出怎样压缩、结果怎样判断可信。

Context
`rg` + CDB / 术语索引

先找到正确项目、文件和原文入口

问题

项目大、术语多、旧名称多,AI 容易找错仓库或模块。

调用

先查术语索引,再用 `rg` 限定目录搜索代码、配置和文档。

压缩

只返回文件路径、行号和少量上下文,不粘贴整个文件。

验证

回到真实定义和项目文档,不用搜索片段代替上下文。

Structured Output
`jq` + `jc`

把大型 JSON 和系统输出压缩成关键字段

问题

日志、接口和系统命令输出很多,无关内容消耗 Token。

调用

`jq` 过滤 JSON;`jc` 把进程、磁盘和网络文本转成 JSON。

压缩

按时间、事件、错误码和字段筛选,必要时先聚合计数。

验证

保留过滤表达式和原始来源,抽样核对没有漏掉关键事件。

Data
SQL / SQLite / PostgreSQL / DuckDB

用可复核查询代替把整库交给 AI

问题

业务记录、实验结果和指标量大,直接读取整库风险高。

调用

提供表结构和只读要求,先查小时间段、小行数和聚合结果。

压缩

只保留相关列、行数、统计摘要和异常样本。

验证

保存 SQL、结果行数和查询环境,确认没有写入生产数据。

Code Intelligence
LSP + `ast-grep` + Tree-sitter

用符号、类型和语法结构理解代码

问题

全文搜索无法可靠区分定义、引用、类型和同名文本。

调用

LSP 查定义和引用;AST 工具按语法结构搜索与转换。

压缩

只返回目标符号、调用者、实现者和相关诊断。

验证

检查引用、类型诊断、编译结果和受影响测试。

Repeatable Work
PowerShell / Shell + Makefile + `nq`

把高频动作固化成一次可重复执行

问题

构建、测试、采集和实验步骤脆弱,人工重复容易漏步骤。

调用

优先使用已有脚本或 Make 目标;耗时任务进入 `nq` 队列。

压缩

终端只保留步骤、结果和日志路径,详细输出写入日志。

验证

必需步骤失败时返回非零状态,重复执行得到一致结果。

Diagnostics & Config
`curl` + `socat` + `envdir`

诊断接口和通信,同时隔离配置与密钥

问题

接口、端口、Socket 和环境差异经常被误判成代码问题。

调用

`curl` 查接口,`socat` 临时桥接,`envdir` 分离每个变量。

压缩

只保留状态码、关键响应头、目标地址和必要错误。

验证

监听默认限制本机,密钥不打印,临时桥接使用后关闭。

即使没有 GitHub 或 GitLab,也必须使用本地 Git

AI 修改越快,越需要知道改了什么、为什么改、怎样比较、如何回退。没有基线,就没有可信的 AI 修改。

检查现场确认目标目录、当前版本和用户已有修改。
建立基线任务开始前创建提交、分支或明确检查点。
小步修改一个任务一个范围,每完成一步检查差异。
验证提交测试通过后再提交,只包含当前任务。
交付回退用 commit 或 tag 标识版本,问题时精确回退。
必须执行

AI 工作前后都检查差异

  • 开始前:`git status`,识别并保护已有修改。
  • 执行中:每个小目标后检查 `git diff`。
  • 提交前:运行测试和 `git diff --check`。
  • 交付时:说明 commit、tag、未验证风险和回退方法。
进入版本管理

不只是软件源码

  • 软件、配置、构建、迁移和测试脚本。
  • 固件、接口定义、寄存器配置和硬件测试脚本。
  • 算法代码、实验配置、评估脚本和指标基线。
  • 文档、任务契约、AGENTS.md、数据与权重清单。
大型数据与模型权重

文件本身进入专门存储;Git 保存清单、哈希、版本和来源。不要把大型二进制文件、数据副本或密钥直接提交到普通仓库。

AI 安全同时覆盖输入、权限、动作、工具和输出

“能不能发给 AI”不能靠个人感觉。先按公司规则给数据分级,再决定使用哪个账号、什么环境、多少数据和什么权限。

数据等级典型内容AI 使用规则
公开公开文档、公开代码、公开论文可以使用,仍要检查来源、许可证和准确性。
内部普通内部流程、非敏感项目说明只进入企业批准的账号、模型和工具。
机密源码、原理图、核心算法、客户资料最小裁剪、脱敏或在受控环境中处理。
禁止上传密钥、密码、可识别用户信息、敏感听力数据、完整客户资料不进入外部 AI;按公司专门流程处理。
最小数据

只给当前任务需要的片段

限制目录、日志时间段、字段和样本,删除人员、客户和设备标识。

最小权限

默认只读,逐项授权

写入、联网、外发、删除和生产修改不是同一个权限。

关键动作

必须人工确认

删除、发送、发布、支付、生产变更和真实设备关键操作不能自动放行。

工具供应链

Skill、MCP、插件也是程序

安装前检查来源、权限、数据去向、写入能力和升级方式。

密钥管理

不进提示词、代码、日志和 Git

使用企业批准的密钥存储或独立环境配置,避免被输出和提交。

输出安全

AI 结论同样需要审查

检查依赖、许可证、异常处理、权限和未经验证的技术结论。

专业判断不能外包

AI 不能替代医疗、验配、硬件安全、算法有效性、产品合规和最终发布判断。它可以整理证据,但最终结论必须由有责任和资质的人确认。

讲师现场展示:把前七个模块放回一次研发过程

本节案例、代码和展示方式由讲师现场安排。本页不提供 Demo、运行脚本或指定技术栈。你需要观察的不是 AI 输出了多少代码,而是整个过程是否可控、可复核、可回退。

看任务

目标、事实、输入、范围、禁区、验收和未知项有没有被明确。

判断:AI 是否在边界内工作。

看工具

是否先定位和过滤最小上下文,确定性工作有没有交给脚本或工具。

判断:Token 和时间花在哪里。

看证据

是否建立 Git 基线、检查 diff、运行测试并留下未解决风险。

判断:结果能否复核和回退。

培训结束后,用 30 天改造团队工作方式

第 1 周

选择三个高频研发任务

补齐任务契约、边界和验收标准,先让问题可检查。

每个岗位先选一个:软件、硬件、算法/建模。
第 2 周

补工程入口

增加 AGENTS.md、运行脚本、测试入口、术语索引和日志过滤工具。

目标是让新人和 AI 都不必从零探索项目。
第 3 周

建立同题模型评测

固定任务、输入、权限和验收,比较总成本和人工介入点。

不要只比较答案,要比较完成任务的全过程。
第 4 周

发布团队规则

明确数据分级、本地 Git、工具安装、关键动作和输出复核要求。

把个人使用经验变成团队可以执行的研发资产。