AI写代码靠谱吗?

文章讲述了作者使用ChatGPT辅助完成OCR图片识别任务,通过细化需求和反馈修正,成功生成代码。尽管初期存在错误,但经过调整后能快速解决问题。作者认为,学会向AI提出明确需求和处理报错将是未来的重要技能,并推荐了一个免费的GPT3.5在线平台以及提示词优化方法,鼓励更多人尝试AI编码。

ChatGPT出来半年多了,用GPT编码的程序员有多少?虽然没有数据支撑,但我感觉用AI编码程序员并不多。我问过几个朋友,他们的回复是,AI没办法完成他想要完成的任务,最终还是得靠自己去写。

 

GPT真的没办法帮助程序完成任务吗?我感觉不是。但为什么会造成这样现象?我总结有2个原因

 

  1. prompt的问题,比如把需求描述的不够细,AI在不了解细节的情况下只能猜。如果你没办法把需求描述清楚,AI肯定是没办法帮你完成任务的。如何向AI提需求,未来很大可能会成为一门职业。而且这个时间我相信并不会太长。

  2. 对AI期望太高,很多AI回复的代码并不能立马运行,在这个过程中很可能出现报错。这样就需要来来回回跟AI沟通,才能搞定。

 

我自己其实已经有很多年没有做一线的编码工作了,但在用AI编码的尝试上,我觉得上面两个问题都不大。

 

首先,我们要学会把需求拆细。不要一开始就问一个很大而全的问题。就跟自己写程序一样,一个方法解决一个问题。其次,就是学会把出现的问题反馈给AI,让它去修正。

 

比如我今天就用GPT完成了这样一个任务:我有一个文件夹下面有很多图片,我想要用OCR图片识别文字的方法把所有图片按照名称进行排序,然后按顺序输出文本内容。如果是以前,我可能需要自己写。但用GPT,一分钟不到,初版的程序就写好了。虽然第一次返回的结果里有个小BUG,但就一句话,改完后就能正常运行了。

 

 

完整代码如下:

import os
import requests
import json
import base64

# 定义接口地址和参数
url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
client_id = "your_client_id"
client_secret = "your_client_secret"

# 定义图片文件夹路径
img_dir = "your_image_folder_path"

# 获取图片文件夹中所有图片文件名并按读取顺序排序
img_files = os.listdir(img_dir)
img_files.sort()

# 定义最终文本变量
final_text = ""

# 循环遍历每个图片文件并识别
for img_file in img_files:
    # 拼接图片文件路径
    img_path = os.path.join(img_dir, img_file)
    
    # 读取图片二进制数据并进行base64编码
    with open(img_path, "rb") as f:
        img_data = base64.b64encode(f.read())

    # 定义请求参数
    params = {
        "image": img_data,
        "access_token": "",
        "detect_direction": "true",
        "language_type": "CHN_ENG"
    }

    # 获取access_token
    token_url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}".format(client_id, client_secret)
    token_res = requests.post(token_url)
    access_token = json.loads(token_res.text)["access_token"]
    params["access_token"] = access_token

    # 发送POST请求识别图片文字
    res = requests.post(url, data=params)

    # 解析响应结果并拼接文本
    res_json = json.loads(res.text)
    if "words_result" in res_json:
        words_result = res_json["words_result"]
        for words_item in words_result:
            final_text += words_item["words"]
            final_text += "\n"

# 输出最终文本
print(final_text)

 

我这里用的是百度的图片识别接口,需要申请去百度智能云申请一个应用拿到client_id和client_secret。

 

总用时不到5分钟。当然因为我有一点编程基础,所以运行时看到报错,我就知道问题在哪里了。如果你没有一点编程基础,通过跟AI互动,我相信也能解决,这种解决过程能帮助你学习编程。

 

我后面用同样的提示语,在GPT4里提问,获得代码是直接可以运行的。现在GPT4还是很贵,但GPT3.5的话,你可以用我搭建的网站:https://ai.yunyoute.cn 纯福利,免费,无需注册,开箱即用。

 

我相信随着AI的进步,很多编码工作是可以代的。如果你还没有开始,我建议你现在就尝试去做。

 

ps: 有同学不太知道该怎么向GPT提问题。你可以尝试在询问GPT的时候,用下面这个提示词:

 

你将扮演一位 prompt engineer 专家,你非常清楚通过哪些问题能引导 AI 提供令人满意的专业解答。

 

你将专注于引导我设计促使 GPT 生成具有最小冗余的特定内容所需的策略和 prompt 语句结构。对于每个资源,请提供简洁的摘要,并突出显示在设计有效指令方面有帮助的具体引用。此外,还应包括实例演示,帮我理解如何将其中的概念和策略应用于提示工程。

 

我是 GPT 新手,我很难清晰表达我的需求。并且不了解 GPT 不能直接联网的局限性。我希望一步步通过问题引导我完成需求的描述,使它能变成明确、简洁又带有足够背景的 prompt。

 

输出模版:

指引:

你的prompt设计指引,使用简洁易懂的,精确的讲解方式,来引导我对prompt进行迭代设计。

 

  • 对于每个改良的结果,按 5-10 分的范围给出你的评估分数并添加指导,提出可以改进的地方。如评分>= 8,询问:「你想运行此提示吗?」

  • 附带选项「嗯」和「no 」。如果我说表示肯定,请运行你建议的最后一个提示。否则,请为我生成更好的提示。

  • 确保在我表示肯定时运行提示非常重要。请继续此提示,直到我说「停」或你运行提示为止。

  • 尽管可能地使用 Markdown,确保我们的输出结果有良好的可读性和美观度,使用强调样式突出重点。

解答:

引导任务完成之后,你再重新变成 GPT 来解答我的问题。

 

谢谢。

它会根据你的提问判断是否需要补充细节,这样来来回回几次,你就能写出更好的提示词了。

这个提示词的作者是:键盘老师,他在极客时间里推出了一门《零基础GPT应用入门课》,刚刚全部上线,这门课里有非常多的干货,如果感兴趣的也可以去看看。

 

 

### 可行性分析 AI无人直播技术在当前的发展阶段已经展现出较高的可行性。从技术角度看,AI无人直播依赖于计算机视觉、自然语言处理、语音合成与识别、机器学习等多个领域的技术支撑。这些技术近年来取得了显著进步,使得AI能够实时生成内容、识别并响应观众互动,从而实现较为流畅的直播体验。例如,AI可以通过分析观众的反馈(如弹幕、评论)来调整直播内容,提升互动性[^1]。 在硬件层面,随着高性能计算设备的普及以及云计算平台的发展,AI无人直播所需的算力资源已经不再是瓶颈。许多企业可以通过云服务快速部署AI直播系统,降低了技术门槛和成本投入[^3]。 ### 技术成熟度 尽管AI无人直播在某些场景下已经可以实现商业化应用,但其整体技术成熟度仍有提升空间。目前,AI在内容生成的创意性和情感表达方面仍存在一定局限,难以完全替代人类主播的临场感和个性化互动能力。此外,AI系统在面对突发情况(如网络中断、设备故障)时的应变能力也尚需进一步优化[^1]。 然而,随着深度学习模型的不断演进,特别是在生成对抗网络(GAN)和大语言模型(LLM)的支持下,AI无人直播的内容质量和互动能力正在快速提升。一些企业已经成功应用AI主播进行商品推荐、新闻播报等场景,显示出较强的技术适应性和市场潜力[^2]。 ### 可靠性评估 AI无人直播的可靠性主要体现在系统的稳定性、容错能力和持续服务能力。从系统架构设计来看,一个高可靠的AI无人直播系统应具备良好的模块化设计,各组件之间解耦清晰,能够独立运行与维护。例如,数据采集层应具备多源输入能力,确保在某一设备故障时仍能继续运行;数据处理层应具备负载均衡与自动恢复机制,避免单点故障导致服务中断。 此外,AI无人直播系统还需要具备强大的容灾备份能力。例如,当网络连接不稳定或服务器宕机时,系统应能够自动切换到备用节点,确保直播过程不中断。这一能力对于商业级应用尤为重要,直接影响用户体验和品牌信誉[^4]。 ### 应用示例 以下是一个简单的AI无人直播系统的基本架构示例: ```python class AILiveStreamingSystem: def __init__(self): self.data_collector = DataCollector() self.processor = DataProcessor() self.interaction_engine = InteractionEngine() self.streaming_service = StreamingService() def start_stream(self): raw_data = self.data_collector.collect() processed_data = self.processor.process(raw_data) interaction = self.interaction_engine.analyze(processed_data) self.streaming_service.broadcast(processed_data, interaction) class DataCollector: def collect(self): # 模拟采集摄像头、麦克风、传感器等数据 return "raw_video_stream" class DataProcessor: def process(self, data): # 对原始数据进行编码、AI识别等处理 return f"processed_{data}" class InteractionEngine: def analyze(self, data): # 分析观众互动并生成反馈 return "AI_response" class StreamingService: def broadcast(self, data, interaction): print(f"Broadcasting {data} with interaction: {interaction}") ``` 上述代码模拟了一个AI无人直播系统的基本流程,包括数据采集、处理、互动分析与内容传播。这种架构有助于提升系统的模块化和可维护性,增强整体可靠性。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石云升

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值