AI测试 与 AI 互动 - 学习如何看调用链堆栈信息

Fun_Fox · 2024年10月24日 · 3248 次阅读

目的

收集不同结构调用链,对应的堆栈结构信息,熟悉堆栈结构与程序逻辑的对应关系。

避免当看到后台系统一堆报错堆栈信息后,无从下手的情况。

互动记录

💡 浅显的认为,在向 AI 提问题前,是处于 2 种求知的状态:

-- 一无所知,没有方向

-- 有一些浅显的了解,可以从一些简单的方向,顺藤摸瓜

基于与 Cursor Claude-3.5-sonnet-20241022 模型多轮对话:

HumanMessage 代表本人的问题

AIMessage 代表 AI 的回答(摘取关键的部分)

HumanMessage-1

给出示例并打印 for 循环语句调用链 堆栈信息 与 if 循环语句调用链 堆栈信息

AIMessage-1

public class StackTraceDemo {
    public void forLoopMethod() {
        for(int i = 0; i < 2; i++) {
            System.out.println("\n第" + (i+1) + "次循环的堆栈信息:");
            methodA();
        }
    }

    public void ifMethod() {
        if(true) {
            methodB();
        }
    }

    private void methodA() {
        // 获取当前堆栈信息
        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
        printStackTrace(stackTrace);
    }

    private void methodB() {
        // 获取当前堆栈信息
        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
        printStackTrace(stackTrace);
    }

    private void printStackTrace(StackTraceElement[] stackTrace) {
        for(int i = 0; i < stackTrace.length; i++) {
            System.out.println("\t" + stackTrace[i]);
        }
    }

    public static void main(String[] args) {
        StackTraceDemo demo = new StackTraceDemo();
        System.out.println("===== For循环堆栈信息 =====");
        demo.forLoopMethod();

        System.out.println("\n===== If语句堆栈信息 =====");
        demo.ifMethod();
    }
}

代码真实运行结果

HumanMessage-2

以 markdown 图形化展示调用链

AIMessage-2

For 调用链

IF 调用链

持续学习

使用(结果 + 可视化图形)的方式,学会与 AI 进行沟通,持续学习,汲取更多知识




最后

不用再通过传统搜索的学习,效率更高,各位还有什么通过与 AI 互动后,学习到的新知识呢?

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册