关注这个频道的大部分都是程序员吧?
在这个 AI 时代,与其死命做 SaaS,不如找个靠谱的商业搭档一起看看传统行业的机会,说不定机会更多。
我认识我的合伙人十年了,我们去年底重新开始合作,小目标就是在不融资的情况下,把两个人的薪水先赚出来。
一开始也想做 SaaS,毕竟我们都有相关经验。做了三四个月发了 MVP,但是发现这个产品能解决的痛点有限,根本没人买单。
中间见了不少潜在客户,其中一个感叹自己的网站没什么流量,我们开玩笑说可以帮忙看看。过了一两周,他们说在看不同 seo agency 的报价,让我们把把关。我合伙人说,不如我们来吧。
然后我们就硬着头皮顶上去了,没想到效果立马显现,我也越来越有信心。三个月之后,不少网页都成为了 Google 头条,在 ChatGPT / Claude 之类的 AI 应用内也可以看到他们被引用。
客户相当满意,因为他们从网站上获得不少优质询价,甚至来自他们之前怎么也打不进去的市场。
有了这一成功经验之后,我们胆子也大了,开始 pitch 大大小小各种公司。成功签下两个跨国上市公司,当然做的也不仅仅是 seo。
我们分工很明确,我合伙人负责市场和沟通,我只负责技术。因为之前就共事过,所以明白怎么合作最舒服。
她和我都省心,这不,她都开始全职去读 jd 了,对了,她还是三个娃的妈。我也不需要管理下属,不需要格外的沟通,只要和她沟通,和 agent 沟通,偶尔和客户沟通一下。
今年的小目标应该是没什么问题了,所以和一个靠谱的商业搭档合作可能比自己单干要省心不少。
在这个 AI 时代,与其死命做 SaaS,不如找个靠谱的商业搭档一起看看传统行业的机会,说不定机会更多。
我认识我的合伙人十年了,我们去年底重新开始合作,小目标就是在不融资的情况下,把两个人的薪水先赚出来。
一开始也想做 SaaS,毕竟我们都有相关经验。做了三四个月发了 MVP,但是发现这个产品能解决的痛点有限,根本没人买单。
中间见了不少潜在客户,其中一个感叹自己的网站没什么流量,我们开玩笑说可以帮忙看看。过了一两周,他们说在看不同 seo agency 的报价,让我们把把关。我合伙人说,不如我们来吧。
然后我们就硬着头皮顶上去了,没想到效果立马显现,我也越来越有信心。三个月之后,不少网页都成为了 Google 头条,在 ChatGPT / Claude 之类的 AI 应用内也可以看到他们被引用。
客户相当满意,因为他们从网站上获得不少优质询价,甚至来自他们之前怎么也打不进去的市场。
有了这一成功经验之后,我们胆子也大了,开始 pitch 大大小小各种公司。成功签下两个跨国上市公司,当然做的也不仅仅是 seo。
我们分工很明确,我合伙人负责市场和沟通,我只负责技术。因为之前就共事过,所以明白怎么合作最舒服。
她和我都省心,这不,她都开始全职去读 jd 了,对了,她还是三个娃的妈。我也不需要管理下属,不需要格外的沟通,只要和她沟通,和 agent 沟通,偶尔和客户沟通一下。
今年的小目标应该是没什么问题了,所以和一个靠谱的商业搭档合作可能比自己单干要省心不少。
👍15
DPS Build
前阵子,为了现金流,接了一个与核心业务完全不相干的活,现在后悔不已。 核心业务已经搭好了工具库,有项目进来就可以上手,有些个例需要临时休整一下,可以同时接好几个项目,所以整体来说比较容易拓展。 这个不相干的活处处都是雷: 1. 每一个子项目都要按需抓取数据,而且是从不同的网站抓,能不能抓得到还是未知数; 2. 设计大量前端设计,客户非科技行业,非产品经理,无法提供详细量化目标; 3. 要用到的工具库非常小众,需要花大量时间试错。 4. 最要命的是这种项目几乎是一次性的,不太可能再有类似的需求。…
说说从这个项目上学到的经验和教训吧:
1. 以后绝对不接这种项目,无法拓展,无法复用;
2. 接项目之前必须要有明确的需求文档。我们反复问客户要需求文档,一直说没有,然后预览的时候提一大堆要求,我们只能根据这些反馈生成需求文档。过了几周之后,才给了一个成型的文档,聊胜于无吧;
3. 哪怕是非代码项目也尽量用代码的思路来迭代,这样可以构建一些工具来提高效率,然后可以在此基础之上生成一些 skill,省得反复手敲 prompt;
4. 把 CI / CD 的思路也引入进去,这样可以一直迭代。本来客户要求用 ppt 预览,第一次效果很差,我们建议后面直接给 html。发去文件之后,他们的浏览器又不能渲染。最后选择了 cloudflare pages + zero trust access 构建了一套线上预览系统,限制用指定邮箱访问,这样他们只要用邮箱接收验证码就能看到最新版本;
5. 预算之内,能用钱买到的 SaaS 服务就不要自己重造轮子。客户要求能在线上预览里标注,找了一圈,我们选了 bugherd,比我们想象得好用的多。只要多加一个按钮,用户可以在上面的的网页自由标注,我们可以从 bugherd 上看到这些 ticket,直接从它的 API 里读到反馈,然后丢给 agent 改,改完之后标注 ticket 完成,我们可以再次发布。整个过程我们可以不用登陆 bugherd 后台。要是自己写这个轮子,或者部署开源的方案都耗费精力。
6. 写了一套按照内容生成流程图 svg 的工具,这样这些流程图就不用走 AI 生成的路了,可以大大节省 token 的消耗。
7. 和搭档之间的合作也尽量走 agent ,这样可以大大太高效率。比如共用 一套 skills,让 agent 生成各种另外一个 agent 可以读懂的文档。
1. 以后绝对不接这种项目,无法拓展,无法复用;
2. 接项目之前必须要有明确的需求文档。我们反复问客户要需求文档,一直说没有,然后预览的时候提一大堆要求,我们只能根据这些反馈生成需求文档。过了几周之后,才给了一个成型的文档,聊胜于无吧;
3. 哪怕是非代码项目也尽量用代码的思路来迭代,这样可以构建一些工具来提高效率,然后可以在此基础之上生成一些 skill,省得反复手敲 prompt;
4. 把 CI / CD 的思路也引入进去,这样可以一直迭代。本来客户要求用 ppt 预览,第一次效果很差,我们建议后面直接给 html。发去文件之后,他们的浏览器又不能渲染。最后选择了 cloudflare pages + zero trust access 构建了一套线上预览系统,限制用指定邮箱访问,这样他们只要用邮箱接收验证码就能看到最新版本;
5. 预算之内,能用钱买到的 SaaS 服务就不要自己重造轮子。客户要求能在线上预览里标注,找了一圈,我们选了 bugherd,比我们想象得好用的多。只要多加一个按钮,用户可以在上面的的网页自由标注,我们可以从 bugherd 上看到这些 ticket,直接从它的 API 里读到反馈,然后丢给 agent 改,改完之后标注 ticket 完成,我们可以再次发布。整个过程我们可以不用登陆 bugherd 后台。要是自己写这个轮子,或者部署开源的方案都耗费精力。
6. 写了一套按照内容生成流程图 svg 的工具,这样这些流程图就不用走 AI 生成的路了,可以大大节省 token 的消耗。
7. 和搭档之间的合作也尽量走 agent ,这样可以大大太高效率。比如共用 一套 skills,让 agent 生成各种另外一个 agent 可以读懂的文档。
👍3❤1
Forwarded from DPS Main
近距离观察了朋友怎么用 AI,然后给了一些建议。
背景是我们合作在写一套培训课程,有比较特殊的文件要求 (scorn),我们两人精力有限,都想借助 AI 完成大部分工作。我们的分工是我朋友负责文字和图片内容,我负责除此之外的所有。
所以最近几周,我构建了大量的工具,比如课程内容写在 yml 文件里,然后可以渲染成 html,这样就可以在浏览器里预览所有内容和交互。还把客户的要求全都提炼出来,形成一套半自动生成内容,全自动渲染部署的系统(他们非常主观,没有系统性的书面要求)。
结果和我朋友之前产生了不小的 gap,我在项目里特地为她的 agent 优化,这样只要她的 claude 读到项目,理论上就可以无缝衔接。但无论怎么试,发现有巨大的隔阂。
直到今天近距离观察她是怎么用的,才发现原因:
1. 她打开 cluade desktop,然后手敲一大行 prompt,让 claude 根据素材生成 prompt;
2. 然后把相应的文件和上面的 prompt 放到千问的聊天框里,让千问干活;
3. 然后再把千问的结果贴回 claude,然后又问 claude 哪些地方需要插图,并要它生成图片的 prompt;
4. 再把这些贴到 Meta AI 里的聊天框,生成图片。再下载回来,丢给 claude。
如此反复。
我建议她:
1. 使用 paseo 来调度不同的 agent;
2. 安装 opencode,这样可以用 qwen 的 API,而且不贵。
3. 可以在 paseo 里直接用 claude 调用 opencode cli。让 claude 读到项目的上下文,然后生成相应的 prompt,直接调用 qwen 生成内容;
4. 预览之后,要求 qwen 修复一些问题;
5. 然后让 claude 查看什么地方适合插图,看看项目里是否已经有爬取的图片或者生成的图片可以直接用,没有的话,生成 prompt 丢给 codex 去生成图片;
6. 然后把生成的图片,和相应的 prompt 写成图片描述,存到 manifest 里。以后再用的时候,就可以通过 manifest 直接定位到图片。
对了,以上几步都生成了 skill,以后她都不用怎么手敲 prompt 了,只要 / 就能调用 skill
背景是我们合作在写一套培训课程,有比较特殊的文件要求 (scorn),我们两人精力有限,都想借助 AI 完成大部分工作。我们的分工是我朋友负责文字和图片内容,我负责除此之外的所有。
所以最近几周,我构建了大量的工具,比如课程内容写在 yml 文件里,然后可以渲染成 html,这样就可以在浏览器里预览所有内容和交互。还把客户的要求全都提炼出来,形成一套半自动生成内容,全自动渲染部署的系统(他们非常主观,没有系统性的书面要求)。
结果和我朋友之前产生了不小的 gap,我在项目里特地为她的 agent 优化,这样只要她的 claude 读到项目,理论上就可以无缝衔接。但无论怎么试,发现有巨大的隔阂。
直到今天近距离观察她是怎么用的,才发现原因:
1. 她打开 cluade desktop,然后手敲一大行 prompt,让 claude 根据素材生成 prompt;
2. 然后把相应的文件和上面的 prompt 放到千问的聊天框里,让千问干活;
3. 然后再把千问的结果贴回 claude,然后又问 claude 哪些地方需要插图,并要它生成图片的 prompt;
4. 再把这些贴到 Meta AI 里的聊天框,生成图片。再下载回来,丢给 claude。
如此反复。
我建议她:
1. 使用 paseo 来调度不同的 agent;
2. 安装 opencode,这样可以用 qwen 的 API,而且不贵。
3. 可以在 paseo 里直接用 claude 调用 opencode cli。让 claude 读到项目的上下文,然后生成相应的 prompt,直接调用 qwen 生成内容;
4. 预览之后,要求 qwen 修复一些问题;
5. 然后让 claude 查看什么地方适合插图,看看项目里是否已经有爬取的图片或者生成的图片可以直接用,没有的话,生成 prompt 丢给 codex 去生成图片;
6. 然后把生成的图片,和相应的 prompt 写成图片描述,存到 manifest 里。以后再用的时候,就可以通过 manifest 直接定位到图片。
对了,以上几步都生成了 skill,以后她都不用怎么手敲 prompt 了,只要 / 就能调用 skill
👍3
这两天学到的一个技巧是,跑一个主对话,只让它做调度,活全派给 subagents,subagents 的 model 也让它来调度。省 token,省 context window。
举个例子,我在主对话里跑 opus 4.6,让它根据项目进度安排活,然后指派给 subagents with proper models。一般它会调 sonnet 或者 haiku,并且会自动把任务计划写好,等着 subagent 跑完会回报进度。
简单来说就是 mapreduce。尤其适合睡前安排任务跑过夜。
举个例子,我在主对话里跑 opus 4.6,让它根据项目进度安排活,然后指派给 subagents with proper models。一般它会调 sonnet 或者 haiku,并且会自动把任务计划写好,等着 subagent 跑完会回报进度。
简单来说就是 mapreduce。尤其适合睡前安排任务跑过夜。
👍3
DPS Build
这两天学到的一个技巧是,跑一个主对话,只让它做调度,活全派给 subagents,subagents 的 model 也让它来调度。省 token,省 context window。 举个例子,我在主对话里跑 opus 4.6,让它根据项目进度安排活,然后指派给 subagents with proper models。一般它会调 sonnet 或者 haiku,并且会自动把任务计划写好,等着 subagent 跑完会回报进度。 简单来说就是 mapreduce。尤其适合睡前安排任务跑过夜。
再多说几句这个方法吧:
1. 主对话 opus 其实够了,如果特别难的问题,可以让它交给 subagent,在那里面调用 fable 或者 gpt 5.6 sol,这样比主对话里直接用 fable 要省很多 token;
2. 因为主对话可能会跑得很长,所以尽量选用 1m 的窗口,这样不怎么担心要不要压缩;
3. 真要压缩了不如写个 handoff doc,重新开一个主对话;
4. 主对话里基本上不用 plan 模式了,因为丢给 subagent 的时候,基本上就相当于在 subagent 里来了一个 plan 模式。这样的好处,也是在省主对话的 token,subagent 随用随抛,不占主对话的窗口。
1. 主对话 opus 其实够了,如果特别难的问题,可以让它交给 subagent,在那里面调用 fable 或者 gpt 5.6 sol,这样比主对话里直接用 fable 要省很多 token;
2. 因为主对话可能会跑得很长,所以尽量选用 1m 的窗口,这样不怎么担心要不要压缩;
3. 真要压缩了不如写个 handoff doc,重新开一个主对话;
4. 主对话里基本上不用 plan 模式了,因为丢给 subagent 的时候,基本上就相当于在 subagent 里来了一个 plan 模式。这样的好处,也是在省主对话的 token,subagent 随用随抛,不占主对话的窗口。
DPS Build
为了研究一个抄袭问题,重新开始学习各种语言学 / NLP 知识,也算是回炉重造了
不少人问我怎么弄的,确实所有的代码都是 vibe code 的,不是两三个 skill 能讲清楚的。
这几天重温了很多 NLP 的算法,以前要搞清楚一个算法细节,需要读论文,找实现,标注数据,做实验,反复好几轮。有了 agent 之后,迭代速度快多了,但是大方向还是需要人来把控。
就像一个完全写过代码的人完全不知道有 git 一样,如果之前没有那么多年的 nlp 经验,我也不可能这么快地指挥 agent 干活。同理,现在上手前端项目,对我来说还是有许多未知的。
所以么,我当然看得到 AI 的潜力,但是对于人而言,要知道自己有不知道的领域才是最大的挑战。
最后说一句,最近听说很多律所严禁刚入行的律师使用 AI,直到两三年之后才能用。我觉得挺有道理的,这样不仅可以让他们知道哪些是可以学会的,哪些是可以交给 AI 代劳的,哪些是自己不知道的。
这几天重温了很多 NLP 的算法,以前要搞清楚一个算法细节,需要读论文,找实现,标注数据,做实验,反复好几轮。有了 agent 之后,迭代速度快多了,但是大方向还是需要人来把控。
就像一个完全写过代码的人完全不知道有 git 一样,如果之前没有那么多年的 nlp 经验,我也不可能这么快地指挥 agent 干活。同理,现在上手前端项目,对我来说还是有许多未知的。
所以么,我当然看得到 AI 的潜力,但是对于人而言,要知道自己有不知道的领域才是最大的挑战。
最后说一句,最近听说很多律所严禁刚入行的律师使用 AI,直到两三年之后才能用。我觉得挺有道理的,这样不仅可以让他们知道哪些是可以学会的,哪些是可以交给 AI 代劳的,哪些是自己不知道的。
👍1
DPS Build
好家伙,让 fable 和 sol 调查完之后,opus 一口气开了31个 subagents 干活😅
这是目前的执行方式:
1. Main 里跑着 Opus 4.6 1M,跑了一天,用掉的 context window 还不到一半,主要让它调度,汇总信息;
2. Review 里跑着 GPT 5.6 Luna,让它只审核代码,提交代码;
3. 后面是 Fable 和 Sol 两个参谋,遇到复杂的问题就交给他们思考,然后丢回 Main。
最大的优点并不仅仅是节省 token,主要是帮助我保持专注。
1. Main 里跑着 Opus 4.6 1M,跑了一天,用掉的 context window 还不到一半,主要让它调度,汇总信息;
2. Review 里跑着 GPT 5.6 Luna,让它只审核代码,提交代码;
3. 后面是 Fable 和 Sol 两个参谋,遇到复杂的问题就交给他们思考,然后丢回 Main。
最大的优点并不仅仅是节省 token,主要是帮助我保持专注。
👍1
DPS Build
前阵子,为了现金流,接了一个与核心业务完全不相干的活,现在后悔不已。 核心业务已经搭好了工具库,有项目进来就可以上手,有些个例需要临时休整一下,可以同时接好几个项目,所以整体来说比较容易拓展。 这个不相干的活处处都是雷: 1. 每一个子项目都要按需抓取数据,而且是从不同的网站抓,能不能抓得到还是未知数; 2. 设计大量前端设计,客户非科技行业,非产品经理,无法提供详细量化目标; 3. 要用到的工具库非常小众,需要花大量时间试错。 4. 最要命的是这种项目几乎是一次性的,不太可能再有类似的需求。…
尽管抱怨了不少,还是继续在做这个项目。
写了不少代码,觉得没有办法复用,好可惜。
结果我搭档开始读 JD,有大量的课件需要整理,又是 claude 又是 gemini notebook。
我说这么用太割裂,两个工具无法相互积累,不如都用 claude。
她说她还是喜欢 notebook 里的 flashcards,我说我们自己的项目里有啊,你直接让 agent 调用就行,还可以做成 skill,定义什么样的概念放到 flashcards 里。
顺手演示了一下,直接让 agent 读课件,然后就可以生成想要的 flashcards。
也算是合理复用了 🤪
写了不少代码,觉得没有办法复用,好可惜。
结果我搭档开始读 JD,有大量的课件需要整理,又是 claude 又是 gemini notebook。
我说这么用太割裂,两个工具无法相互积累,不如都用 claude。
她说她还是喜欢 notebook 里的 flashcards,我说我们自己的项目里有啊,你直接让 agent 调用就行,还可以做成 skill,定义什么样的概念放到 flashcards 里。
顺手演示了一下,直接让 agent 读课件,然后就可以生成想要的 flashcards。
也算是合理复用了 🤪
DPS Build
尽管抱怨了不少,还是继续在做这个项目。 写了不少代码,觉得没有办法复用,好可惜。 结果我搭档开始读 JD,有大量的课件需要整理,又是 claude 又是 gemini notebook。 我说这么用太割裂,两个工具无法相互积累,不如都用 claude。 她说她还是喜欢 notebook 里的 flashcards,我说我们自己的项目里有啊,你直接让 agent 调用就行,还可以做成 skill,定义什么样的概念放到 flashcards 里。 顺手演示了一下,直接让 agent 读课件,然后就可以生成想要的…
完整的工作流在这里,这也让我意识到了 FDE 的重要性:
1. 作为程序员出身的我们,天然地以为所有人对于 AI,对于 agent 的认知都是类似的;
2. 作为一般人,以为 AI 就是聊天框,就是几个 skill;
两边都不知道对方的不知道,这中间的差距非常大,而 FDE 正好可以解决这些
https://t.me/tms_ur_way/3968
1. 作为程序员出身的我们,天然地以为所有人对于 AI,对于 agent 的认知都是类似的;
2. 作为一般人,以为 AI 就是聊天框,就是几个 skill;
两边都不知道对方的不知道,这中间的差距非常大,而 FDE 正好可以解决这些
https://t.me/tms_ur_way/3968
Telegram
DPS Main
朋友开始读 JD,有大量的课程资料要整理,动不动就喊 agent 烧完了,我觉得很奇怪,就帮忙看了看,然后处理了一下。
她有几个需求:
1. 所有的课程文件都在一个大目录下,课件,录音,课本,笔记,等等;都是手动整理的;
2. 她需要让 agent 帮她整理,然后她打印出来之后阅读,然后和 agent 讨论知识点,这一步是在 Gemini notebook 里完成的,有时还会用到里面的 flashcards;
3. 每节课都会用 apple voice memo 录音,然后用 whisper transcription…
她有几个需求:
1. 所有的课程文件都在一个大目录下,课件,录音,课本,笔记,等等;都是手动整理的;
2. 她需要让 agent 帮她整理,然后她打印出来之后阅读,然后和 agent 讨论知识点,这一步是在 Gemini notebook 里完成的,有时还会用到里面的 flashcards;
3. 每节课都会用 apple voice memo 录音,然后用 whisper transcription…
DPS Build
不少人问我怎么弄的,确实所有的代码都是 vibe code 的,不是两三个 skill 能讲清楚的。 这几天重温了很多 NLP 的算法,以前要搞清楚一个算法细节,需要读论文,找实现,标注数据,做实验,反复好几轮。有了 agent 之后,迭代速度快多了,但是大方向还是需要人来把控。 就像一个完全写过代码的人完全不知道有 git 一样,如果之前没有那么多年的 nlp 经验,我也不可能这么快地指挥 agent 干活。同理,现在上手前端项目,对我来说还是有许多未知的。 所以么,我当然看得到 AI 的潜力,但…
上一周基本跑通了整个流程,也拿到一些结果,但有一个问题始终困扰着我:
用 whisper-mlx 把录音转成中文后,所有的标点都丢失了,英语倒还好。这样以来,问题很大,因为 whisper 的模型是根据根据时间窗口切割结果的,比如3秒,10秒之类的,但没有标点就无法重新分句,只能硬拿3秒10秒这样的切块和英语做对比。尽管也能看出一些眉目(抄得太厉害了),但总归难以说服自己。
我一开始想直接在切块里添加标点,然后再分句。但这样的问题很大,每个切块都是破损的,这样直接喂给模型,效果还是很差。后来我想,要不干脆直接把所有一段录音的所有切块直接拼在一起,然后再添加标点,再分句。查了查,还真有人这么玩过,而且还有专门的模型。结果拿来一试,不光分句的问题解决了,后续的问题也解决了不少。
有了 agent,这就是一两小时的事,没有 agent,恐怕是一两周的活。
用 whisper-mlx 把录音转成中文后,所有的标点都丢失了,英语倒还好。这样以来,问题很大,因为 whisper 的模型是根据根据时间窗口切割结果的,比如3秒,10秒之类的,但没有标点就无法重新分句,只能硬拿3秒10秒这样的切块和英语做对比。尽管也能看出一些眉目(抄得太厉害了),但总归难以说服自己。
我一开始想直接在切块里添加标点,然后再分句。但这样的问题很大,每个切块都是破损的,这样直接喂给模型,效果还是很差。后来我想,要不干脆直接把所有一段录音的所有切块直接拼在一起,然后再添加标点,再分句。查了查,还真有人这么玩过,而且还有专门的模型。结果拿来一试,不光分句的问题解决了,后续的问题也解决了不少。
有了 agent,这就是一两小时的事,没有 agent,恐怕是一两周的活。