hcm0915 发表于 2026-8-4 17:37:36

AI编程助手资源汇总

本帖最后由 hcm0915 于 2026-8-11 11:27 编辑


[*]AI编程助手使用指南语雀文档资料链接
[*]AI编程助手使用技巧语雀文档资料链接
[*]AI新建库 教程语雀文档资料链接
[*]Models技能制作指南语雀文档资料链接

前言
      这篇文档面向天问Block用户,手把手教你怎么用天问Block AI版内置的AI编程助手,对各类芯片进行快速开发和编程。不需要你有多强的编程基础,只要你能把需求说清楚,AI就能帮你搞定!

一、这个AI助手是干嘛的?
   天问元智是天问Block AI版里内置的AI编程助手,支持天问Block平台下的多种芯片开发板;   它能做的事,包括但不限于:
[*]根据你说的话,自动生成对应芯片的C/C++/python/程序
[*]自动处理芯片特有的配置,支持各类外接硬件模块
[*]自动编译并下载,还能检测程序是否有错误
[*]支持各类文件处理、系统操作工具
[*]支持分析代码问题,提供项目方案与优化建议,生成知识文档
[*]支持根据头文件制作自定义扩展库
   你不需要从零开始写代码,只需要用自然语言描述你想做什么就行。【注意:AI编写的程序默认为当前选择主板的芯片服务,每个主板内置的都有对应的提示词与技能。如果需要给其他芯片编写程序,请切换到对应的主板。】

二、在哪里找到AI助手
   打开天问Block AI版,选择你要使用的开发板型号,你会看到右侧有一个AI小机器人。https://cdn.nlark.com/yuque/0/2026/png/38536717/1785899452939-5908c97a-2bdd-4cd0-9e39-1fcc113e753b.pnghttps://cdn.nlark.com/yuque/0/2026/png/38536717/1785899216424-ae2777c2-e8f8-4200-a498-d88595e3a69e.png
https://cdn.nlark.com/yuque/0/2026/png/38536717/1785899216424-ae2777c2-e8f8-4200-a498-d88595e3a69e.pnghttps://cdn.nlark.com/yuque/0/2026/png/38536717/1785899452939-5908c97a-2bdd-4cd0-9e39-1fcc113e753b.png   点击这个小机器人,登录账号(需手机认证),就可以开始和AI交互了。
https://cdn.nlark.com/yuque/0/2026/png/38536717/1785913194965-c0184918-1a2c-4fec-a266-b8f113af7bc4.png三、界面布局说明
   进入AI编程助手界面后,界面主要分这几个区域:https://cdn.nlark.com/yuque/0/2026/png/38536717/1785899678066-cd72283e-3bdc-4282-95d3-e55c5a531e2c.png常规使用
   在AI对话窗口的最下方,输入你想完成的功能,回车或者点击执行按钮,即可开始使用AI编程助手。https://cdn.nlark.com/yuque/0/2026/png/38536717/1785899735245-21a599ac-ec13-417e-8e6b-cc207f39933b.png快捷指令区
   在AI对话窗口的下方,有一些快捷按钮:附件:
   点击附件后,即可在AI编程的要求中,添加需要的文件,文件支持以下格式:(*.hd *.png *.jpg *.jpeg *.gif *.bmp *.webp *.pdf *.txt *.md *.json *.csv *.log *.xml *.yaml *.yml *.ini *.py *.js *.c *.h .cpp )https://cdn.nlark.com/yuque/0/2026/png/38536717/1785900036160-6d0169f1-8f79-4629-b309-5c584a7d2461.png
https://cdn.nlark.com/yuque/0/2026/png/38536717/1785900036160-6d0169f1-8f79-4629-b309-5c584a7d2461.png提示词:
   每个芯片都有对应的提示词,你可以使用这些常见词减少打字时间,又或者是在已有程序的基础上做局部修改。比如你已经有了一段代码,想改一下引脚配置,直接点相应的指令就行。   新手使用时,也可以先体验一下入门必做案例,方便快速了解AI编程助手。https://cdn.nlark.com/yuque/0/2026/png/38536717/1785900143195-ced5a164-9bc5-4044-a1eb-9ef79e448e08.png
模型切换:https://cdn.nlark.com/yuque/0/2026/png/38536717/1785900488347-57a996b9-9d4b-4ad8-a128-92b0a5026612.png   对于快速模型和思考模型,各有优劣,在芯片开发各类场景中,如果只是简单生成常规代码,推荐使用快速模型,效果好速度快;如果项目较为复杂,涉及复杂算法或疑难处理,推荐使用思考模型。

四、使用流程完整示例示例:ASRPRO语音控制红外发射
   需求: 用语音控制红外发射对应的NEC码。   在AI对话窗口输入:   编写一个语音控制红外发射NEC码的程序https://cdn.nlark.com/yuque/0/2026/png/38536717/1785901095701-277f098b-cfac-4623-ae2a-be57e1388dc7.png   AI会自动生成完整的程序,包括:
[*]语音配置(播报人、欢迎语、退出语)
[*]唤醒词和命令词定义
[*]引脚初始化
[*]识别回调处理逻辑
   我们来仔细看看,AI编程助手都做了什么https://cdn.nlark.com/yuque/0/2026/png/38536717/1785901192055-e77c4bf3-7a62-4b79-aae2-e9e961f74267.png   首先AI自行确认需求,并找到了对应的红外发送库。这里的库是官方提供,如果你有额外提供的资料,可以添加在附件中,方便AI了解相关信息。https://cdn.nlark.com/yuque/0/2026/png/38536717/1785901283048-821ceaeb-fdd6-47a2-b6fa-495230c58100.png   了解完红外相关资料后,AI会确认具体需求,在遇到不明确的需求时,会触发ask_user用户提问。比如这里AI就向用户进行了提问。https://cdn.nlark.com/yuque/0/2026/png/38536717/1785901348242-6868261c-95c5-4feb-b5b0-8698224cf953.png   我这里选择了先测试,发送一些典型的NEC码,尝试控制电视。选好后,务必点击确认回答。如果AI没有提供你想要的选项,你可以直接在自定义回答中填写你想要实现的效果。https://cdn.nlark.com/yuque/0/2026/png/38536717/1785901402256-0951be9d-4b37-48c7-b25c-10cce4fc5a15.png   确认需求后,AI会开始编写代码到前端编辑器,并进行编译测试。https://cdn.nlark.com/yuque/0/2026/png/38536717/1785901506357-fdf3f60f-f5e6-425f-a180-111c44969557.pnghttps://cdn.nlark.com/yuque/0/2026/png/38536717/1785901522114-4529608c-3f01-45fb-bebf-63148292d206.png   AI会同时自检。这里ASRPRO比较特殊,需要先生成模型再手动下载。其他主控AI测试后会自动进行下载。https://cdn.nlark.com/yuque/0/2026/png/38536717/1785901577256-2bb863b7-ecbe-4f4d-a97d-929b3d5ea989.png   我们可以看到,我们全程没有用到专业的术语,但可以完成最后的功能;AI编程助手会在最后进行一个总结,描述程序功能、硬件连接、代码逻辑等。
https://cdn.nlark.com/yuque/0/2026/png/38536717/1785901661777-cb2bf299-47d6-4e42-bd70-6c666b637704.png   下方是AI生成的第一版代码。之后生成模型,下载程序即可使用。后续根据实际情况进行二轮调试。#include "asr.h"
extern "C"{ void * __dso_handle = 0 ;}
#include "setup.h"
#include "myLib/asr_IRSendRev.h"

uint32_t snid;
void ASR_CODE();

// 创建红外发送对象
IRSendRev infrared;

//{speak:小蝶-清新女声,vol:10,speed:10,platform:haohaodada}
//{playid:10001,voice:欢迎使用语音助手,用天问五幺唤醒我}
//{playid:10002,voice:我退下了,用天问五幺唤醒我}

/* 语音控制红外发射NEC码程序
* 功能:通过语音命令发射对应的NEC红外码
* 引脚:PA4(PWM2通道)作为红外发射引脚(需外接红外发射管电路)
* NEC码值:地址0x00,命令值见各case
*/
void ASR_CODE(){
// 设置唤醒退出时间10秒
set_state_enter_wakeup(10000);

// 用switch分支选择,根据不同的识别成功的ID执行相应动作
switch (snid) {
   case 1:   // 打开电视
    infrared.send_nec(0x00, 0x45);
    break;

   case 2:   // 关闭电视
    infrared.send_nec(0x00, 0x46);
    break;

   case 3:   // 频道加
    infrared.send_nec(0x00, 0x43);
    break;

   case 4:   // 频道减
    infrared.send_nec(0x00, 0x44);
    break;

   case 5:   // 音量加
    infrared.send_nec(0x00, 0x40);
    break;

   case 6:   // 音量减
    infrared.send_nec(0x00, 0x41);
    break;
}
}

void hardware_init(){
// 硬件后初始化:在操作系统(rtos)启动后运行的硬件配置函数
vol_set(7);   // 设置播报音量为7(最大)

// 红外发送使用PWM2通道(PA4引脚,复用功能5)
setPinFun(4, FIFTH_FUNCTION);
infrared.begin(PWM2);

vTaskDelete(NULL);   // 任务删除:删除当前任务句柄
}

void setup()
{
// 系统入口:在操作系统启动前执行的主配置函数
//{ID:0,keyword:"唤醒词",ASR:"天问五幺",ASRTO:"我在"}
//{ID:1,keyword:"命令词",ASR:"打开电视",ASRTO:"好的,马上打开电视"}
//{ID:2,keyword:"命令词",ASR:"关闭电视",ASRTO:"好的,马上关闭电视"}
//{ID:3,keyword:"命令词",ASR:"频道加",ASRTO:"好的,马上执行"}
//{ID:4,keyword:"命令词",ASR:"频道减",ASRTO:"好的,马上执行"}
//{ID:5,keyword:"命令词",ASR:"音量加",ASRTO:"好的,马上执行"}
//{ID:6,keyword:"命令词",ASR:"音量减",ASRTO:"好的,马上执行"}
}

五、和AI对话的技巧
5.1 需求描述越具体越好
   模糊的描述(AI可能会追问,也可能会自己帮你选引脚):   帮我做一个控制灯的程序
   清晰的描述(AI直接出代码):   帮我做一个程序,PA0接LED灯,每秒闪烁一次,PA1接按钮,按下按钮时LED状态翻转
5.2 可以分步骤追加功能
   不需要一次把所有需求说完,可以先做一个基础版本,再逐步加功能:   第一步:先帮我写一个PA0控制LED闪烁的程序
   第二步:再加一个PA1接的按钮,按下按钮切换闪烁频率
   第三步:串口把当前状态打印出来,然后检测
5.3 可以直接改已有代码
   如果AI生成的代码里有需要微调的地方,你可以:
[*]直接在代码编辑区手动修改
[*]或者在AI对话里说"把PA0改成PA2",让AI帮你改
[*]这里的修改不仅仅是引脚,还可以多样化,比如ASRPRO,你可以直接让AI修改唤醒词、提示词、播报人
5.4 可以让AI解释代码
   对生成的代码有疑问,或者有专业术语看不懂,直接问:   这段代码里的setup函数是干什么的?
   SPI是什么意思?
5.5 编译出错了怎么办
   如果编译报错,AI会自动分析错误并尝试修复。遇见无法完成或者经常报错的,你可以:
[*]简化需求,先把核心功能做出来
[*]你贴出报错信息,AI再分析
5.6 附件与保存
   如果你需要完成的任务是一些专业性比较强的任务,推荐你附带更多的资料文件,方便让AI参考;   你可以选择添加附件,也可以复制文件地址让AI去阅读。AI掌握的资料越充足越正确,最终生成的代码效果越好。

六、常见问题
   Q1:AI生成的代码能直接用吗?
   能。AI生成的代码会经过自动编译检查,编译通过就可以直接烧录使用。
   Q2:不同开发板的代码能通用吗?
   不能直接通用。不同芯片的寄存器、API、引脚定义都不同。但你可以跟AI说"把这个程序改成ESP32-C3版本的",AI会帮你转换。
   Q3:我想换开发板怎么办?
   在天问Block软件里切换开发板型号,然后重新开始对话。AI会根据新的开发板生成对应的代码。
   Q4:怎么添加外接传感器?
   直接告诉AI你用的是什么传感器、接在哪个引脚。比如"用DHT11测温度,数据引脚接PA2"。AI会自动引入驱动库并生成读取代码。
   Q5:代码里的注释能删掉吗?
   普通注释(//开头的说明文字)可以删,不影响编译。但部分信息,比如ASRPRO的语音配置格式的"注释"(如//{speak:...}、//{playid:...}、//{ID:...})不能删,这些是编译系统要读取的配置信息,虽然看着像注释,但实际上是代码的一部分。
   Q6:能不能同时控制多个硬件?
   可以。比如同时控制LED灯、继电器、OLED显示屏,只要引脚不冲突就行。跟AI描述清楚每个硬件接在哪个引脚上,或者让AI帮你决定。
   Q7:程序烧录后没反应怎么办?
   检查以下几点:
[*]供电是否正常(USB供电或外部供电)
[*]接线是否正确(特别是电源和地)
[*]下载器/烧录器是否连接正常
[*]选择的开发板型号是否和实际硬件一致

   Q8:怎么修改已有程序的功能?
   AI编程助手支持多轮对话。两种方式:
[*]在AI对话里说"把xxx改成yyy",让AI帮你改
[*]你也可以选择直接在代码编辑区手动修改,改完重新编译

   Q9:AI支持哪些编程语言?
   目前主要支持C、C++、Python等常见语言。不同开发板使用的语言可能略有不同:

七、注意事项(必看)
[*]左侧的菜单栏,可以快速到达天问Block文件夹,用于查看部分生成的程序和文件。            
[*]点击新对话后,之前的上下文会删除,需要额外注意。                              
[*]软件关闭后,AI对话过程暂时不支持自动保存。请及时将程序和沟通过程保存到本地文件夹。你可以和AI编程助手说:请你将刚刚的程序和沟通过程保存到xxx文件夹。AI编程助手会自动下载程序到文件夹并生成md文档。
[*]右上角设置,正常情况下可以不作改动,有需要再改;勾选思考模式可以看见AI编程助手的思考过程。

https://cdn.nlark.com/yuque/0/2026/png/38536717/1785902867008-6529b25a-3d79-4e52-9d98-97eb7a79dc8b.png
以上就是天问元智AI编程助手的完整使用指南。有问题欢迎在帖子下面留言讨论。





wxpr2023 发表于 2026-8-11 17:33:14

在哪里可以下载到AI 版

hcm0915 发表于 2026-8-12 10:24:11

wxpr2023 发表于 2026-8-11 17:33
在哪里可以下载到AI 版

天问官方QQ群,群文件
页: [1]
查看完整版本: AI编程助手资源汇总