2025年4月24日星期四

Claude3。7就是写代码的神!200美元的Max套餐国内直接使用!(文末附0成本体验方法)

Claude3.7就是写代码的神!200美元的Max套餐国内直接使用!

Claude3.7就是写代码的神!200美元的Max套餐国内直接使用!(文末附0成本体验方法)

Claude 3.7 Sonnet以其强大的性能和卓越的表现震撼登场。Anthropic自豪地宣布,这是其迄今为止"最智能"的模型,在数学、编程、推理等多个领域表现出色。

许多人对Claude 3.7 Sonnet的评价都聚焦在其"强大的推理能力"和"卓越的创意表达"上。该模型原生支持文本和图像的处理,不仅能够生成长篇文字或一次性完成复杂代码,还能够"理解"图像内容并进行深入分析。而其强大的上下文处理能力,使得它能够轻松处理复杂的指令和长文档。

MaynorAI系统已经集成了200美元的Max套餐的Claude 3.7 Sonnet ,

相对于普通的Pro套餐,Max套餐支持20倍的token值,不需要再担心次数不足。

image-20250424115338293
image-20250424115338293

新增Research,更适合学术研究。

image-20250424115834253
image-20250424115834253

下面来综合测试一下Claude3.7的能力:

二、小球弹跳

提示词:

使用 p5.js(无需 HTML)创建 10 个彩色球在旋转六边形内弹跳的效果,考虑重力,弹性,摩擦和碰撞。
image-20250424112635530
image-20250424112635530

Claude3.7 表现出色,一次就成功完成——色彩鲜艳、碰撞精准、摩擦顺畅,完美满足各种需求。自带artifact,前端效果直接就能看到。

完整代码:

const BouncingBallsInHexagon = () => {
  const canvasRef = React.useRef(null);
  const [scriptLoaded, setScriptLoaded] = React.useState(false);
  
  // 首先加载p5.js
  React.useEffect(() => {
    const script = document.createElement('script');
    script.src = 'https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js';
    script.async = true;
    script.onload = () => setScriptLoaded(true);
    document.body.appendChild(script);
    
    return () => {
      document.body.removeChild(script);
    };
  }, []);
  
  React.useEffect(() => {
    if (!scriptLoaded || !canvasRef.current) return;
    
    let sketch = (p) => {
      let balls = [];
      let hexagon = {};
      let hexRotation = 0;
      const numBalls = 10;
      
      p.setup = () => {
        p.createCanvas(500, 500);
        
        // 创建六边形
        hexagon = {
          radius: 180,
          rotation: 0,
          rotationSpeed: 0.005,
          vertices: []
        };
        
        // 更新六边形顶点
        updateHexagonVertices();
        
        // 创建随机颜色的小球
        for (let i = 0; i < numBalls; i++) {
          balls.push({
            x: p.random(100, 400),
            y: p.random(100, 400),
            vx: p.random(-2, 2),
            vy: p.random(-2, 2),
            radius: p.random(10, 25),
            mass: p.random(1, 3),
            elasticity: p.random(0.7, 0.9),
            friction: 0.98,
            color: {
              r: p.random(100, 255),
              g: p.random(100, 255),
              b: p.random(100, 255)
            }
          });
        }
      };
      
      function updateHexagonVertices() {
        hexagon.vertices = [];
        for (let i = 0; i < 6; i++) {
          let angle = hexagon.rotation + i * (Math.PI / 3);
          let x = p.width / 2 + hexagon.radius * Math.cos(angle);
          let y = p.height / 2 + hexagon.radius * Math.sin(angle);
          hexagon.vertices.push({ x, y });
        }
      }
      
      function drawHexagon() {
        p.push();
        p.stroke(50);
        p.strokeWeight(2);
        p.noFill();
        p.beginShape();
        for (let v of hexagon.vertices) {
          p.vertex(v.x, v.y);
        }
        p.endShape(p.CLOSE);
        p.pop();
      }
      
      function drawBalls() {
        for (let ball of balls) {
          p.fill(ball.color.r, ball.color.g, ball.color.b, 220);
          p.noStroke();
          p.circle(ball.x, ball.y, ball.radius * 2);
        }
      }
      
      function updateBalls() {
        for (let ball of balls) {
          // 应用重力
          ball.vy += 0.2;
          
          // 更新位置
          ball.x += ball.vx;
          ball.y += ball.vy;
          
          // 应用摩擦力
          ball.vx *= ball.friction;
          ball.vy *= ball.friction;
          
          // 检测六边形碰撞
          checkHexagonCollision(ball);
          
          // 检测球与球的碰撞
          checkBallCollisions(ball);
        }
      }
      
      function checkHexagonCollision(ball) {
        // 对六边形的每条边进行碰撞检测
        for (let i = 0; i < 6; i++) {
          let start = hexagon.vertices[i];
          let end = hexagon.vertices[(i + 1) % 6];
          
          // 计算线段与球体的最短距离
          let edgeVector = { x: end.x - start.x, y: end.y - start.y };
          let ballToStart = { x: ball.x - start.x, y: ball.y - start.y };
          
          // 计算投影长度比例
          let dotProduct = ballToStart.x * edgeVector.x + ballToStart.y * edgeVector.y;
          let edgeLengthSquared = edgeVector.x * edgeVector.x + edgeVector.y * edgeVector.y;
          let t = Math.max(0, Math.min(1, dotProduct / edgeLengthSquared));
          
          // 计算最近点
          let nearestX = start.x + t * edgeVector.x;
          let nearestY = start.y + t * edgeVector.y;
          
          // 计算距离
          let dx = ball.x - nearestX;
          let dy = ball.y - nearestY;
          let distance = Math.sqrt(dx * dx + dy * dy);
          
          // 如果距离小于球的半径,则发生碰撞
          if (distance < ball.radius) {
            // 计算单位法向量
            let nx = dx / distance;
            let ny = dy / distance;
            
            // 计算速度在法向量上的投影
            let vn = ball.vx * nx + ball.vy * ny;
            
            // 如果球正在向边靠近
            if (vn < 0) {
              // 计算反弹速度
              let dvx = -vn * nx * (1 + ball.elasticity);
              let dvy = -vn * ny * (1 + ball.elasticity);
              
              ball.vx += dvx;
              ball.vy += dvy;
              
              // 移动球体避免卡在边上
              let correction = ball.radius - distance;
              ball.x += nx * correction;
              ball.y += ny * correction;
            }
          }
        }
      }
      
      function checkBallCollisions(currentBall) {
        for (let otherBall of balls) {
          if (currentBall === otherBall) continue;
          
          // 计算距离
          let dx = otherBall.x - currentBall.x;
          let dy = otherBall.y - currentBall.y;
          let distance = Math.sqrt(dx * dx + dy * dy);
          let minDistance = currentBall.radius + otherBall.radius;
          
          // 检测碰撞
          if (distance < minDistance) {
            // 碰撞响应
            let angle = Math.atan2(dy, dx);
            let sin = Math.sin(angle);
            let cos = Math.cos(angle);
            
            // 旋转坐标系统
            let vx1 = currentBall.vx * cos + currentBall.vy * sin;
            let vy1 = currentBall.vy * cos - currentBall.vx * sin;
            let vx2 = otherBall.vx * cos + otherBall.vy * sin;
            let vy2 = otherBall.vy * cos - otherBall.vx * sin;
            
            // 质量
            let m1 = currentBall.mass;
            let m2 = otherBall.mass;
            
            // 计算一维碰撞
            let finalVx1 = ((m1 - m2) * vx1 + 2 * m2 * vx2) / (m1 + m2);
            let finalVx2 = ((m2 - m1) * vx2 + 2 * m1 * vx1) / (m1 + m2);
            
            // 应用弹性
            finalVx1 *= currentBall.elasticity;
            finalVx2 *= otherBall.elasticity;
            
            // 旋转回原坐标系统
            currentBall.vx = finalVx1 * cos - vy1 * sin;
            currentBall.vy = vy1 * cos + finalVx1 * sin;
            otherBall.vx = finalVx2 * cos - vy2 * sin;
            otherBall.vy = vy2 * cos + finalVx2 * sin;
            
            // 防止球体重叠
            let overlap = minDistance - distance;
            let displacementX = overlap * (currentBall.x - otherBall.x) / distance;
            let displacementY = overlap * (currentBall.y - otherBall.y) / distance;
            
            currentBall.x += displacementX * 0.5;
            currentBall.y += displacementY * 0.5;
            otherBall.x -= displacementX * 0.5;
            otherBall.y -= displacementY * 0.5;
          }
        }
      }
      
      p.draw = () => {
        p.background(25);
        
        // 旋转六边形
        hexagon.rotation += hexagon.rotationSpeed;
        updateHexagonVertices();
        
        // 更新和绘制
        updateBalls();
        drawHexagon();
        drawBalls();
      };
    };
    
    // 创建p5实例
    const p5Instance = new p5(sketch, canvasRef.current);
    
    return () => {
      p5Instance.remove();
    };
  }, [scriptLoaded]);
  
  return (
    <div className="flex flex-col items-center justify-center w-full h-full bg-gray-900 p-4">
      <h2 className="text-xl font-bold mb-4 text-white">彩色球在旋转六边形中弹跳</h2>
      <div ref={canvasRef} className="border border-gray-700 rounded-lg overflow-hidden shadow-lg"></div>
    </div>
  );
};

export default BouncingBallsInHexagon;

三、生成 Mandelbrot set 集

提示词:

用 p5js 生成 Mandelbrot set.
image-20250424122013713
image-20250424122013713

Claude 生成很轻松,一次提示直接命中,干净利落搞定,毫不拖泥带水,还贴心的增加了交互式控制按钮。

四、文本总结能力

提示词:

分析这份文档,有什么用处,有什么特色和优点
image-20250424122306079
image-20250424122306079

这里和文档内容一致,完美总结~

五、智力推理题

提示词:

一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一次,只能拿一次钻石。问怎么才能拿到最大的一颗?
image-20250424122705502
image-20250424122705502

经过15s长思考后,Claude给出了正确答案,即采用这种策略,能够使我们获得最大钻石的概率最大,约为 37%。

总结

Claude 3.7 Sonnet(2025年2月发布)具有以下突出优势:

核心能力

  • 强大的推理能力:配备专门的推理模式,能在回答复杂问题前进行更深入思考
  • 卓越的代码生成:能一次性生成完整、复杂且可直接运行的代码
  • 多模态处理:原生支持文本和图像处理,能理解图像内容并进行深入分析

技术优势

  • 大规模上下文处理:能轻松处理复杂指令和长文档
  • Artifact功能:自带前端效果展示,如文档中提到"自带artifact,前端效果直接就能看到"
  • 精确的数学处理:能处理复杂的数学模型和可视化(如曼德布洛特集的生成)

实用特性

  • 文本总结能力:能准确提取和总结文档内容
  • 智能交互设计:能自主添加交互控制元素,如为数学可视化添加控制按钮
  • 多领域专业性:在数学、编程、推理等多个领域表现出色

如何0成本开始使用Claude?

image-20250424123801684
image-20250424123801684

在公众号后台回复:授权码,即可0成本开始使用Claude。

image-20250424123944181
image-20250424123944181

没有评论:

发表评论

你也能做AI开发者!MyShel让无编程经验者也能创建智能体

总的来说,MyShel是一个具有巨大潜力的AI代理开发平台,它为普通用户和企业提供了低门槛的AI应用开发工具。 在快速发展的人工智能(AI)领域,如何让普通用户也能轻松地使用和开发AI应用?MyShel,这个平台结合了AI与区块链技术,推出了一个全新的AI代理开发平台,让每个...