#消息发送功能

宝玉
2周前
分享一点 Codex 实践经验:照葫芦画瓢法 需求是这样的,我要重构一个基于 Claude Agent SDK 写的 Agent UI 的消息发送功能,让它能支持发送图片(当前只支持发送文本,图1) 我不会说:帮我把输入框改造一下,支持图片上传🙅 因为上下文信息太少,你这么说它肯定做不了。 要实现这个功能,如果手动做的话: 1. 要改造 UI,让它能支持上传图片 2. 要改造 API 接口,让图片能从前端传到后端 3. 要改造服务端处理,让后端程序将图片传给 Claude Agent SDK 所以我首先要把任务拆分,当然理论上来说这些任务最好分成三个小任务依次做,但实际上 GPT-5-Codex High 已经可以一次性完成这样复杂的任务了,前提是你提示得当,给足上下文。 看我是怎么提示的(图2): > 1. 替换现在的发送消息组件为 {参考代码文件1} > 2. 参考 {参考代码文件2} 的async send( > prompt: string, > attachments?: AttachmentData[], > includeSelection?: boolean, > ) 和 {参考代码文件3} 的 > export const composeUserContent = ( > text: string, > attachments?: AttachmentData[], > selection?: SelectionSnapshot | null, > ) 实现对附件的处理 > 3. 点击发送后,将附件转成base64字符串后发送给websocket > 4. 参考下面的代码,重写 ccsdk/ai-client.ts 的消息处理部分代码,让它支持发送附件 {官方文档示例代码docs.claude .com/en/api/agent-sdk/streaming-vs-single-mode} > 请仔细思考后执行 总结一下就是: 1. 清楚的告诉它怎么做 2. 把参考代码一次性都给到它 参考代码是我事先找到的开源的相关的代码,或者是官方文档,反正东拼西凑,跟我平时要实现系统找资料类似的 就这么简单,执行了 9m52s 完成任务,测试一下有 Bug,描述一下 Bug,让它自己修复(图3),再测试就成了!(图4)