前言

在AI Coding之前,对于一个算法而言,做完整的东西总是觉得缺少前后端。但是在25年,Claude Sonnet的能力在逐步提升,刚好一个合适的时间点,自己能够把一些想法独立落地。

在去年做搜医搜的时候,虽然也有Cursor,但是使用深度不够,能够帮忙写的代码也是通过对话框输入需求,产出一段代码,然后合并进自己的项目中。显然这并不是一个很棒的工作流。

25年的今天,从Cursor到Claude Code,做独立产品的体验越来越好,完成度也越来越高。对笔者而言,真的是一件太棒的事情。

个人技术博客改版

明年就是个人技术博客写作的第十年了,恰好年初开始对AI Coding类工具比较感兴趣,就想着能否基于Cursor搞一个相对完整的项目,于是作为技术试验场的常客,个人技术博客就成了最佳实验对象。

过程中修改了博客UI,交互,增加了标签搜索和日期搜索,以及访客统计等,以及进入博客文章内容页,标题下出现的标签,日期和阅读次数等。

作为第一次基于Cursor做的相对完整的小项目,整体体验良好。有AI Coding高频使用的同学反馈,Claude Sonnet对于常见开发语言,比如HTML/CSS/JS等的表现良好,但是对于Rust/C++更新的版本等,表现的比较糟糕。

搜医搜的MCP服务

25年MCP讨论比较热烈的时候,有朋友讨论能否在百炼平台等上线一个财税领域的MCP占坑?为了验证MCP能否走通,本地搭建了一个搜医搜的MCP服务,当在Cursor中能够成功调用的时候,还是开心了一秒钟。由于有FastMCP的存在,导致搭建这个MCP服务其实是一件比较容易的事情。具体代码如下:

from mcp.server.fastmcp import FastMCP
mcp = FastMCP("medical_knowledge_search_tool")

import re
import requests
import json

def remove_html_tags(text):
	pattern = '<[^>]+>'
	return re.sub(pattern, '', text)

def get_search_results(keyword: str):
	url = ""
	headers = {
  		'Content-Type': 'application/json'
	}
	response = requests.request("GET", url, headers=headers)
	messages = response.json()["message"]
	
	return [remove_html_tags(each) for each in messages]


@mcp.tool()
def medical_knowledge_search(keyword: str):
	return get_search_results(keyword)

if __name__ == "__main__":
    mcp.run(transport="sse")

之后兴起了很多MCP平台,包括A2A的概念等,包括有认识的创业者围绕MCP做了一个平台。因为实在想不清楚商业模式是什么导致从一开始,对于MCP就没有很多感觉。

对账机器人

笔者媳妇儿的亲戚在杭州开一个很大的超市,由于进货渠道多且杂导致每天的对账非常耗时且繁琐,因此考虑是否能够开发一个小程序用于对账提效,如果效果不错,可以进一步推广到其他超市。

在进行多次需求沟通之后,需求收敛到一个具体的记账应用。记账应用其实非常多,比如25年的咔皮记账等。虽然笔者有朋友基于Coze+iPhone+Notion搭建过一个记账机器人,但是并不适合该场景,在该场景中需要对转账记录截图进行识别提取。对方作为超市老板,也已经在豆包中尝试过识别效果,好像还可以。

在进一步调研了微信小程序的开发流程之后,综合考虑,推荐对方能够自己从市场上已经有的应用中找到适合自己的一个应用来使用。

开票Agent

25年也是媒体意义上的Agent元年,和一个朋友聊到是否可以做一个开票Agent。因为有积累的代账公司的咨询对话数据,开票是一个高频且有SOP的场景。

但是笔者其实没有想到这个场景Agent化之后到底有什么具体的价值?比如今天多数情况下,开发票的逻辑是开票方抛一个信息收集的入口,购买方填写相关信息之后,就可以开出一张电子发票并自动发送到购买方的邮箱中。

在咨询对话中,通过追问的方式可以获取所有需要的信息。整体流程上的自动化似乎价值非常有限。于是在经过进一步的对话分析之后,放弃了该想法。

从朋友专业的角度,开发一个会计机器人,能够解决一个会计的大多数问题才是财税AI方向的终极问题。

企业微信侧边栏应用

在知道企微侧边栏可以接应用的时候很兴奋,于是研究怎么将搜医搜接入到企业微信侧边栏。整体流程比想象的简单一些,效果如下:

其实这类应用更有价值的地方在于在企业微信的对话场景中,提供相关的辅助咨询服务能力。为此,在应用出口侧打开了新的想象力空间,包括网页端,桌面端,浏览器插件(24年做搜医搜的时候,提供了该出口),微信小程序,企业微信侧边栏等。

中国版Arcade

Arcade主打利用AI的能力实现柔性制造,在国内的类似产品包括网易团队做的造好物,不过这个产品主要关注首饰类的设计和供应链打通。

笔者承担的角色是其中所有关于AI的能力供给,过程中调研了国内外的各种文+图->图的能力。这是一个很有想象力的双边平台,但是既然是平台,就必然会遇到平台开发会遇到的问题。目前还在进展中,笔者也没有想的比较清晰。

ReX

这是一个图片和视频文件重命名工具。具体效果如下:

这个小工具来自一个真实的需求。在笔者周期性将手机中积赞的上千张照片和多个视频进行云盘备份的时候,由于文件名通常都是一个无意义的字符串编码,因此考虑能否在文件上传的时候自动生成一个有意义的文件名。

基本的思路是:对视频进行切片之后,针对切片的图片进行描述抽取和打标签。在做的过程中,第一次体验到做工具型产品的不同之处:

(1)工具型产品提供了一个SOP。意味着用户基于工具进行的操作在任何环节都可能多次反复 (2)数据安全性。在刚开始准备做这个小工具的时候,比较纠结选择网页端还是客户端,综合数据安全和数据传输速度问题,最终选择了本地客户端的开发方式 (3)对于视频文件的处理是耗时的。耗时的问题可能无法在短期内处理,甚至可能在某些场景下长期也无法得到处理。比如我们无法做一个工具去支撑离线批处理任务,那么也许工具定位和产品交互就需要有好的想法?

为了做一个本地客户端工具,笔者做了一些调研,包括Electron等,能够采用HTML/CSS/JS构建跨平台的桌面端应用,最终选择了PyQT作为开发框架,主要的考虑是Python作为后台开发语言,相对熟悉一些。此外读本科的时候,基于MFC做过一些客户端工具,但是一直没有找到实践QT的机会。

过程中,Cursor几乎写了所有核心的PyQT的代码。这也是继个人博客改版之后基于Cursor完成的第二个相对完整的项目。

星际安保官计划

笔者其实一直想做一个内容型产品,比如类似flomo之类的笔记软件。刚好跟着媳妇儿考保安证时有了一个临时起意的想法。

起因是因为在备考过程中,笔者刷题都是基于微信文章中列举的2000题,包含单选题,多选题,判断题等,刷题的过程中时常忘记刷到哪里以及对于错题也无法进行有效标记。因此考虑能否做一个刷题小工具。

于是有了星际安保官计划,宣传海报见这里

开发故事如下👇:

从有想法到应用上线历时约3个小时,具体工作包括我出想法,我搞Claude Code账号,我开始Push Claude Code干活…

Claude Code开发了18449行代码(来自VS Code Counter,仅供参考),Claude Code做了宣传海报,Claude Code写了四个版本的朋友圈宣传文案…

Claude Code花钱,其中应用开发花了13.36美刀,做海报花了大概10美刀。其中为了做宇宙粒子效果,预期花了至少10美刀

其中,答案解析时的题号和做题的题号总是对不齐,footer和body的宽度总是对不齐。其他情况下,我自己几乎没写一行代码,除去部分小的文案调整。整个过程还录制了开发过程视频~

Anthropic的估值已经1500亿美刀了。

哦,笔者已经是一名国家认证的保安了。

当然,上半年的主业是针对财税实务咨询构建一个基于LLM的对话系统,具体文章见博客。

后记

在AI Coding成熟度提升的今天,好像人人都能做一些东西,但是大部分这些东西都没有什么价值。虽然确实如此,但是通过自己利用工具的能力独立解决自己发现的问题,这不正是人类能够持续不断进步的方式吗?

似乎一方面大模型在内容生产上的高效使得自己不断地丧失表达欲,但是另外一方面,在工具使用上又不断地扩展着笔者自己的能力体系。

嗯,感恩这个操蛋的年代吧!

扫码加笔者好友,茶已备好,等你来聊~