C#调用 AI学习从0开始-第1阶段(基础与工具)-第2天Prompt工程基础

什么是 AI Prompt?

  1. 最简单定义
    Prompt 就是你给 AI 的「指令、提示词、问话、要求」。
    你跟 AI 说的每一句话、每一段要求,都是 Prompt。
    就像:
    你给人下任务 = 给 AI 写 Prompt
    人能不能做好,看你指令清不清楚
    AI 能不能答好,全看 Prompt 写得好不好

任务:

1.修改代码,加入 System Prompt(角色设定)

2.尝试 Few-shot(给几个例子)

3.尝试约束输出格式(JSON/Markdown)

源码:使用下面源码,按顺序修改messages内容后调试,感受变化。

csharp 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;

namespace ConsoleApp1.BLL
{
    //Prompt工程基础
    //加入 System Prompt(角色设定)
    //尝试 Few-shot(给几个例子)
    //尝试约束输出格式(JSON/Markdown)
    public class Day2_Prompt
    {
        public static async Task Day2(string apiKey, string url)
        {

            // 替换成你的阿里云百炼 API Key
            //const string apiKey = "此处写你申请的API Key";
            //const string url = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions";

            var client = new HttpClient();
            client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");

            var requestBody = new
            {
                model = "qwen-turbo",
                //4. 约束输出位xml格式
                messages = new[]
                    {
                        new { role = "system", content = "只输出 XML 完整格式,不要有其他内容。" },
                        new { role = "user", content = "RAG 是一种结合检索和生成的技术,可以解决大模型的幻觉问题。" }  //AI 回答:{"summary":"RAG 是一种结合检索和生成的技术,可以解决大模型的幻觉问题。", "keywords":["RAG", "检索", "生成", "大模型", "幻觉问题"]}
                    }

                // 3. 约束输出为 JSON
                //messages = new[]
                //    {
                //        new { role = "system", content = "只输出 JSON 格式,不要有其他内容。格式:{\"summary\":\"...\", \"keywords\":[\"...\"]}" },
                //        new { role = "user", content = "RAG 是一种结合检索和生成的技术,可以解决大模型的幻觉问题。" }  //AI 回答:{"summary":"RAG 是一种结合检索和生成的技术,可以解决大模型的幻觉问题。", "keywords":["RAG", "检索", "生成", "大模型", "幻觉问题"]}
                //    }

                //2.Few-shot少样本学习
                //messages = new[]
                //{
                //    new { role = "system", content = "将用户输入分类为:技术问题、闲聊、其他" },
                //    new { role = "user", content = "C# 怎么读取文件" },
                //    new { role = "assistant", content = "技术问题" },
                //    new { role = "user", content = "今天天气不错" },
                //    new { role = "assistant", content = "闲聊" },
                //    //new { role = "user", content = "什么是 RAG" }  // 让 AI 分类这个  //AI 回答:技术问题
                //    new { role = "user", content = "今天吃什么" }  // 让 AI 分类这个 //AI 回答:闲聊
                //}

                //1.加入 System Prompt(角色设定)
                //messages = new[]
                //{
                //    new { role="system",content="你是一个.net技术专家,回答要简洁、准确,不超过50个字。"},  //AI 回答:.NET 是由微软开发的跨平台开发框架,用于构建多种类型的应用程序。
                //    new { role = "user", content = "用一句话说明什么是 .NET" }
                //}


            };

            var json = JsonSerializer.Serialize(requestBody);
            var content = new StringContent(json, Encoding.UTF8, "application/json");

            Console.WriteLine("正在调用阿里云百炼 AI...\n");

            try
            {
                var response = await client.PostAsync(url, content);
                var responseString = await response.Content.ReadAsStringAsync();

                if (response.IsSuccessStatusCode)
                {
                    var doc = JsonDocument.Parse(responseString);
                    var answer = doc.RootElement
                        .GetProperty("choices")[0]
                        .GetProperty("message")
                        .GetProperty("content")
                        .GetString();
                    Console.WriteLine($"AI 回答:{answer}");


                }
                else
                {
                    Console.WriteLine($"HTTP 错误:{response.StatusCode}");
                    Console.WriteLine($"响应内容:{responseString}");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"异常:{ex.Message}");

            }
        }

    }
}

跑通后,试试不同的 System Prompt 和输出格式。

相关推荐
一楼的猫12 小时前
叙事指纹93.2%的技术确认与AI写作同质化——网文创作的差异化路径分析
人工智能·学习·机器学习·写作·ai写作
明航咨询—张老师12 小时前
AI工具狂飙时代:三款实用AI产品深度横向测评
大数据·人工智能·算法·it
闭关修炼啊哈12 小时前
灵感日报 · 晚报 | 2026年06月05日:品牌叙事重塑、校园防诈、AI代码规范化、考试安全检测
人工智能·安全
weixin_3975740912 小时前
销售与客户管理和研发管理:从获客到产品的AI痛点
人工智能
Nayxxu12 小时前
Codex 与 AI 编程 Agent 落地:从 GitHub PR 到企业 API 治理
人工智能
天青色等烟雨..12 小时前
AI赋能R-Meta分析核心技术:从热点挖掘到高级模型、助力高效科研与论文发表
开发语言·人工智能·r语言
二等饼干~za89866812 小时前
2026 主流 GEO 优化源码厂商横向测评:云罗 GEO / 摘星智能 / 棋引科技技术、部署、性价比全维度对比
大数据·人工智能·科技
金融RPA机器人丨实在智能12 小时前
实在Agent的下单和部署流程复杂吗?2026全流程解析:从分钟级交付到企业级AI智能体规模化落地
人工智能·ai
技术小黑12 小时前
CNN算法实战系列05 | SE注意力机制改造 ResDenseNet
人工智能·pytorch·cnn
red_redemption12 小时前
自由学习记录(199)
学习·dram 二線廠商·git partclone·4y halving 減半·3.125btc·手續費 sat/vb