02 0417字节Agent开发一面问题及参考回答
0417字节Agent开发一面问题及参考回答
3. 有没有观察过同一个模型在不同 context 长度下的表现差异?
参考回答: #精华 观察到随着 context 增长,模型对早期信息的记忆和关联能力显著下降,容易出现重复操作或偏离初始目标。因此需要在代码中设计合理的上下文压缩和摘要机制,优先保留关键约束和历史决策依据。
6. 讲一下你项目里面用户在终端发一条指令后,系统是怎么处理的?
参考回答: #精华 用户输入指令后,系统首先会进行解析和上下文组装,然后调用 LLM 进行规划,生成工具调用序列。每一步工具执行的结果都会反馈给模型,模型根据结果决定是否继续调用工具或输出最终答案。整个过程会被记录下来,用于后续的复盘和优化。
7. 怎么减少这个链路里面Agent的幻觉?
参考回答: #精华 一是通过精细设计工具的 schema 和 description,让模型清楚知道能做什么、不能做什么;二是在上下文中显式注入关键约束和历史信息,减少模型“猜”的概率;三是引入验证环节,对模型输出的代码或操作进行静态检查或执行测试。
8. Prompt是怎么构建的?
参考回答: Prompt 是模块化的,分为系统提示、用户指令、上下文片段、工具描述等部分。我会根据任务类型动态调整 Prompt 内容,比如长任务会加入更多历史摘要,复杂任务会加入 Few-shot 示例。所有 Prompt 的修改都会记录在案,便于复盘。
17. 平常怎么学习新知识的?
参考回答: 主要通过阅读官方文档、复现开源项目、参与技术社区讨论、以及在实际项目中踩坑来学习。遇到问题时,会先查资料,再动手实验,最后总结成笔记或分享给他人,形成闭环。
我的回答: #精华 乐于下载使用体验github热门的项目如openclaw 了解现在比较流行的ai coding工具如claude code codex opencode 。 加入了waytoagi,datawhale这些AI相关社区参与一些课程学习讨论。 我倾向于先实践边做边学,因为等学完所有知识准备好,可能已经比别人落后很多了。 遇到问题我会通过CSDN,linux do等专业网站以及谷歌搜索,询问chatgpt等寻找解决方案
1. 为什么要自己搞一个code agent?这个过程中你觉得哪部分是比较有挑战的?
参考回答:
- 为什么要做code agent:
- 第一是可控性:Claude Code 这类产品对用户是黑盒(如 prompt 拼装、上下文组装、工具调用条件),难以判断正确或错误的原因。自己搭建可以把关键环节摊开看清楚。
- 第二是隐私和部署要求:实验室项目有保密约束,不适合放在外部闭源服务。项目预留了接开源模型的能力(如实验室部署的 Qwen),保证在保密场景下也能实际使用。
- 有挑战的部分:
- 上下文工程:长仓库任务中,模型在未超窗时利用长历史的质量会下降,出现偏离初始 spec、误用旧信息、重复操作等问题。
- 工具设计:tool description 和 schema 的小改动会显著影响完成率,工具粒度、装载方式的设计都需要仔细考虑。
2. 那你自己用的code agent,用过哪些?体验如何?
参考回答: 主要使用过 Claude Code 和 Cursor。Claude Code 在复杂任务上表现较好,但黑盒严重;Cursor 在代码补全和局部修改上很顺手,但全局规划能力稍弱。自己开发主要是为了弥补两者的不足,实现完全可控和可定制。
4. Claude code源码泄漏了你有关注吗?有什么看法?
参考回答: 关注到了。这提醒我们在使用闭源服务时要警惕“供应商锁定”和潜在的安全风险。这也进一步验证了自己开发可控 agent 的价值——数据和逻辑都在自己掌控范围内,避免敏感信息泄露风险。
5. Harness在你这个项目里面怎么体现的?
参考回答: 在我的项目里,harness 主要体现在评测体系上。设计了一套四层评测机制,通过固定 benchmark、记录运行过程、回放真实翻车 case 等方式,确保每次改动都能被量化评估,而不是靠感觉。
9. 讲一下你的code agent的memory机制是怎么做的?
参考回答: memory 机制分为短期和长期。短期 memory 是当前对话的上下文窗口,长期 memory 是将历史任务的关键信息(如代码结构、已完成步骤、用户偏好)进行向量化存储和检索,在需要时动态注入到上下文中。
10. 任务恢复是什么意思,怎么做的?
参考回答: 任务恢复是指当 Agent 在执行过程中中断(如报错、超时、用户暂停)后,能够从上次状态继续执行。做法是记录每一步的执行状态和上下文快照,中断后读取快照,重新初始化 Agent 状态并继续执行。
11. 突然问了目前项目支不支持使用s…(可能是ssh或selenium等工具)
参考回答: 支持。比如如果需要远程操作服务器,会封装一个 ssh 工具;如果需要自动化测试网页,会封装 selenium 工具。工具的接入都需要定义清晰的 schema 和权限控制。
12. 现在你这个pico里面有什么工具?
参考回答: (pico 可能指项目代号或容器环境)目前集成了代码编辑器、文件读写、命令行执行、Git 操作、浏览器自动化、API 调用等工具,基本覆盖了日常开发的主要场景。
13. 详细问了下怎么做的评测,怎么验证优化效果?
参考回答: 设计了一套四层评测机制:第一层保底,确保系统稳定跑;第二层用固定题目做 benchmark,通过率、耗时、失败原因量化效果;第三层记录运行过程,方便复盘;第四层把线上真实翻车 case 放回评测集。优化后通过对比 benchmark 的通过率和耗时变化来验证效果,确保不是“玄学优化”。
14. 有没有用过claude code的 /btw 功能?
参考回答: 用过。/btw 是 Claude Code 的一个快捷指令,用于快速生成代码修改建议。这个功能很实用,但在项目里更倾向于通过结构化 Prompt 和工具调用来实现类似功能,更可控、更可复用。
15. 整个项目中ai coding的占比,会…(可能是“会占多少时间”或“会如何变化”)
参考回答: AI coding 在项目初期占比很高,主要用于搭建框架和生成样板代码;中后期占比下降,更多用于代码审查、重构建议和复杂逻辑生成。总体来说,AI 是辅助工具,人的决策和架构设计仍是核心。
16. 你觉得一个好的code agent应该具备哪些特质?
参考回答: 我认为一个好的 code agent 应该具备:① 可控性强,关键环节透明;② 工具丰富且设计合理;③ 上下文管理高效,能处理长任务;④ 具备自我验证和恢复能力;⑤ 评测体系完善,能持续迭代优化。
Share Article
If this article helped you, please share it with others!