---
title: "记录"
date: "2026-02"
category: "随笔"
tags: ["随笔"]
description: "当时用agno主要目的就是实现agent功能： 实际上一开始我们的技术方案里面没有这个，最早设想的是单纯prompt工程加基于ragflow的知识库 但客户突然需求变更，提出了更复杂的查找和储存需求..."
source: "https://enriquemark.com/zh-hans/posts/%E8%AE%B0%E5%BD%95"
---

当时用agno主要目的就是实现agent功能：
	实际上一开始我们的技术方案里面没有这个，最早设想的是单纯prompt工程加基于ragflow的知识库
	但客户突然需求变更，提出了更复杂的查找和储存需求，我们讨论之后就发现只能用agent做，因为涉及到多轮查询以及总结，单纯的知识库根本不够用
	一开始我们尝试了langchan，但否定，因为太重型，后来选择了比较轻量部署的agno，然后就开始写
	agno最显著的优势就是简单，引入即可快速部署，所以我们后来的架构就是agno+tool call去调用ragflow的知识库，后者的sdk支持很好

从技术上来讲，后端具体的实现是这样的：
	首先用户发送请求，然后构建模板prompt，里面包含前端发来的用户讯息：有他的name，id，以及role，还有它所包含的权限范围，如果用户有上传文件，还有文件的名称和格式
	处理好后，将此prompt转到agent端，再由那边根据agent和mcp的工具处置
	auth验证在Agent场景下最主要的特殊考量就是要将其明确在prompt，只需要前端做好包装，确认传来的role是正确的，那么这部分就不用考虑太多，按role分流即可

协作主要借助github project确定任务表单，以及腾讯会议（类似zoom）和qq（因为是中国的工程师在和我协作）。我们对进度的同步主要依赖待办事项和定期的开会。每次开会都会讨论当前进度，客户方面的动态以及技术上是否遇到问题，如果有如何解决。

我觉得整儿个过程最困难的就是与我协作的资深工程师选择了自己不熟悉的工具链，尤其是nest.js这个我之前完全没接触过的套件。而我的做法就是学习，先读官方文档，然后让ai和我一起协作——因为涉及到陌生技术，所以我非常谨慎的要求他事无巨细的解释（为什么要这么做，理由必须充分），而在我大概熟悉之后，就开始自己思考并构建。
	模板代码有官方工具提供，而且每一个都是定义清楚地，我只需要把相关功能填入即可。
	nest的后端模块很分明，

微服务架构
dify


autogen，可以多代理对话，还能群聊，以及在中途加入人类反馈一，agno就没这功能

HippoRAG，类脑的rag框架

hono/client微服务架构，但是return要求严格

我协作感受到的最大感触就是，和我搭配的那位资深工程师也是vibe为主，但是他的思维和设计也是牢牢人类主导


>vibe coding 的时候，prompt 是具体到要到什么文件改什么函数的
>nocobase 非常牛逼，前端都能包办，我身边有创业公司拿这个做供应链管理，用了两年多
>如果需要 wordpress 体验的后端可以用 strapi 开源够用
>国内的 ant design pro，国外的 mui toolpad core
>reactflow，业界标准拖动组建
>logseq 风格非常强，做的已经不像 markdown

agno后来遇到问题，查不到资料库，完全接不到vector db上，只要带了session就出问题，后来换成了mastra，agno最大的问题就是文档支持很不全。


***
我觉得面试以过程导向就足够了，和高管聊了一个半小时，就算没有录取也能了解到一些业界内容
- 政府标案里面有不少都是旧的语言，这时候快速的学习能力和AI技巧就能用上
- 文书处理的需求是有的，但是会倾向于分布实施，过于激进的技术尝试不适合政府客户
- 重点说自己过去的经验，学历方面只要大概解释就好，对面既然发了面试就说明这方面不是重点
- 旧语言的架构很多都是维护，而且命名标准很差，但核心逻辑因为是面向过程，所以相对没那么难，但主要是搞懂在干什么
- 可以适当往上合理调整薪资，然后说初期可以接受基本，重点是相信公司会按能力评估调整，给对方台阶
- 讲AI的时候可以多结合可以用AI提效的地方，可以去强调资深工程师的高颗粒度vibe，然后拉回人类主导
- 可以强调自己不熟但快速上手的能力，重视本质的第一性原理，从软体工程的共通部分来推断，剩下的其实就是熟悉跨语言的写法和具体工具
- 强调自己的多语言导向，不过这个要看面的是什么岗位，如果是专精的话就不能是这个策略，要朝适合的方向发力
