跟AI说话这件事,芯片工程师可能一直做错了
最近团队里开始用Agent辅助做验证规划。有人随手丢给它一句话:"帮我写个testbench",然后抱怨输出一塌糊涂。也有人把约束条件、模块接口、时钟域说明一并交代清楚,拿回来的东西改两处就能用。
同样的工具,结果差这么多,问题出在哪?
"视Agent为人"
你招来一个新同事,第一天就扔给他一个模糊的任务,然后期待他交出完美方案——现实里不会有人这么干。但面对AI,很多工程师就是这么干的。输入含糊,输出也含糊,然后得出结论"AI不行"。
这个逻辑,站不住脚。
把Agent当有能力的协作者来对待,意味着你得认真组织需求。比如让Agent协助生成一个AXI4从接口状态机,随手一问和认真描述,结果完全不同:
❌ 模糊输入: "帮我写一个AXI4 slave" ✅ 清晰输入: "设计一个AXI4-Lite slave控制器,地址空间32位, 支持单次读写,不需要burst,寄存器深度8个, 时钟100MHz,需要包含BVALID/BREADY握手逻辑"输出质量,和你给出的上下文质量直接挂钩。
但"视Agent为人"有另一层意思,很多人忽略了。
既然当它是人,就得用对待人的标准去审核它的输出。人会犯错,Agent也会。Agent生成的RTL代码,逻辑结构可能完全正确,但它不知道你的设计有多路时钟、某个寄存器有写保护需求。
这些背景,它没有,也不该假装有。
信任Agent,但不能盲信。就像你信任一个工作认真的新人,但不会让他独自完成流片前的最终sign off。
如果Agent给出了一个看似合理但实际上违反时序约束的建议,你有没有机制去发现它?
多数团队目前还没有。AI辅助流程的审核机制,和传统的人工审核流程差异很大,但这个环节不能省。流程上对Agent的输出保持必要的核查,这是工程师现在就该建立起来的习惯。
"视Agent为人"这件事包含两个方向。
一个方向是期望——期望它能越来越理解上下文、处理复杂任务、给出有价值的技术输出。这个期望正在逐步成为现实。
另一个方向是准则——你怎么提问、怎么审核、怎么在协作流程里分配责任。这一块,工程师自己得想清楚,没人替你想。
