AI全栈实习生二面
vibe coding的流程
输入自然语言->AI生成对应代码->不断对话进行优化
你实际vibe coding的时候有用过skill吗?
有用过。我的做法是把高频提示词和重复开发流程封装成 skill,让模型在不同任务里按固定规范执行。 比如我会把目录结构、默认依赖、命名风格这类约束预先写进去。这样在 vibe coding 的时候,模型生成的代码不会每次风格都不一样。 像“给后台系统加一个用户标签功能”这种任务,skill 可以按一个固定流程处理:拆需求、设计数据表和 schema、生成后端接口和前端页面、补校验逻辑和测试样例,最后输出变更说明。 这样既保留了 vibe coding 的速度,也能保证基本的结构和一致性。
你怎么保证大模型返回的数据格式正确?
大模型只懂文字,不会执行相应的代码,只能返回给后端相应的参数,调用对用的API 保证数据格式返回正确的方法: 方法一:使用JSON Schema对大模型的返回结果进行约束 方法二: Prompt约束+Pydantic(Python的数据校验工具)后处理校验
大模型返回参数错误该怎么办
解析失败时给 LLM 一次重试机会,同时提供格式错误的具体提示
大模型重试失败怎么办?
进行有限重试,重试的时候将错误信息以JSON格式返回给大模型。重试次数超过限制时就不再调用function_call而是以文本的方式进行回答
Toolformer和function_call的区别
| 维度 | Function Calling | Toolformer |
|---|---|---|
| 训练方式 | SFT 微调,显式学习工具调用格式 | 自监督,模型自主学习何时调用 |
| 工具定义 | 外部 JSON Schema 传入,运行时动态 | 训练时嵌入文本中,固定工具集 |
| 可控性 | 强,格式标准 | 弱,调用时机不可控 |
| 工业应用 | OpenAI GPT-4、Qwen、Claude 主流方案 | 学术探索为主 |
如果Canal同步MySQL数据变更到ES该时,因为网络波动,delete操作比update操作先到怎么办
其实这个可以回答怎么保证消息有序的
- 可以给ES写入加“外部版本号,把binlog时间映射成一个严格递增的版本
- MySQL binlog 文件名 + offset
- 或 Canal 事件里的 executeTime + offset 保证消息有序性:
- 使用RabbitMQ的顺序队列。消息的消费顺序与消息的存储顺序一致
- 在分区的消息队列中通过Partion Key将消息发送到特定的分区,分区内部是有序,这样可以保证按照Partion Key的消息按顺序消费
在你的CookHero项目中是怎么保证用户偏好不丢失
用户偏好识别我采用规则(正则识别关键词) + AI识别兜底(识别语义)的方式,规则保证稳定性,AI提升覆盖率,最终统一结构化存储(转为JSON格式存储),避免系统完全依赖大模型带来的不确定性。
记忆存储
| 类型 | 例子 | 存哪里 |
|---|---|---|
| 短期记忆 | 当前对话 | 上下文 |
| 长期记忆 | 不吃海鲜 | DB |
| 语义记忆 | 喜欢清淡 | 向量库 |
CookHero中Agent执行流程
意图识别(识别偏好) 结构化(转 JSON) 存储(DB / 向量库) 检索(RAG) 拼 prompt 生成回复
总结
实际AI项目中不应该全部靠AI来识别而是靠规则+AI兜底来实现
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
