uz
Feedback
ToCode

ToCode

Kanalga Telegramโ€™da oโ€˜tish

ื˜ื™ืคื™ื ืงืฆืจื™ื ืœืžืชื›ื ืชื™ื ืžืืช ื™ื ื•ืŸ ืคืจืง

Ko'proq ko'rsatish
1 419
Obunachilar
Ma'lumot yo'q24 soatlar
+17 kunlar
-430 kunlar
Postlar arxiv
ToCode
1 419
ื˜ื•ื‘ ืœืคืชื•ื— ื™ื•ืžื ื™ื ื™ืฉ ืชื•ื›ื ื™ืช ื•ื•ื‘ื™ื ืจื™ื ืขื“ ืกื•ืฃ ืžืื™ https://www.tocode.co.il/talking_ai ืืœ ืชื“ืื’ื• ื™ืฆื ืขืœ ื–ื” ื’ื ืคื•ืกื˜ ืžืกื•ื“ืจ

ToCode
1 419
ืฉืชื™ ื ืงื•ื“ื•ืช ืื• ืฉืœื•ืฉ ื ืงื•ื“ื•ืช ื‘ git diff ืฉืชื™ ื”ืคืงื•ื“ื•ืช ื”ืืœื” ื ืจืื•ืช ื“ื•ืžื•ืช ื•ืขื•ืฉื•ืช ืžืฉื”ื• ื“ื•ืžื” ื•ืื•ืœื™ ื‘ื’ืœืœ ื”ื“ืžื™ื•ืŸ ื‘ืชื—ื‘ื™ืจ ื”ืŸ ื›ืœ ื›ืš ืžื‘ืœื‘ืœื•ืช:
* 1. two dots diff *
git diff dev..main

* 2. three dots diff *
git diff dev...main
ืจื•ืื™ื ืืช ื”ื”ื‘ื“ืœ? ื ื›ื•ืŸ ื–ื• ืจืง ื ืงื•ื“ื”. ื ืชื•ื ื™ื ืฉื ื™ ืขื ืคื™ื dev ื• main ื•ื”ื ื”ืชืงื“ืžื• ื‘ืžืงื‘ื™ืœ. ื‘ืขื‘ืจ dev ื™ืฆื ืž main ื›ื“ื™ ืœืคืชื— ืคื™ืฆ'ืจ ื•ืžืื– main ื”ืชืงื“ื ืขื ืชื™ืงื•ื ื™ ื‘ืื’ื™ื ืงื˜ื ื™ื. ืขื›ืฉื™ื• ืื ื—ื ื• ืจื•ืฆื™ื ืœืจืื•ืช ืžื” ื”ื”ื‘ื“ืœ ื‘ื™ื ื™ื”ื: 1. ืคืงื•ื“ืช diff ืขื ืฉืชื™ ื ืงื•ื“ื•ืช ืชืจืื” ืœื™ ืืช ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ื”ืžืฆื‘ ื”ืขื“ื›ื ื™ ื‘ื™ื•ืชืจ ื‘ืขื ืฃ dev ืœืžืฆื‘ ื”ืขื“ื›ื ื™ ื‘ื™ื•ืชืจ ื‘ืขื ืฃ main. 2. ืคืงื•ื“ืช diff ืขื ืฉืœื•ืฉ ื ืงื•ื“ื•ืช ืชืจืื” ืœื™ ืืช ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ื”ืžืฆื‘ ื”ืขื“ื›ื ื™ ื‘ื™ื•ืชืจ ื‘ืขื ืฃ dev ืœื‘ื™ืŸ ื”ืงื•ืžื™ื˜ ื‘ main ืžืžื ื• ื”ื•ื ื™ืฆื, ื›ืœื•ืžืจ ื‘ืœื™ ืื•ืชื ืงื•ืžื™ื˜ื™ื ื—ื“ืฉื™ื ื‘ main ืฉื ื›ืชื‘ื• ืื—ืจื™ ืฉื”ืชื—ืœืชื™ ืœื›ืชื•ื‘ ืืช ื”ืคื™ืฆ'ืจ. ืžืชื™ ื ืฉืชืžืฉ ื‘ื›ืœ ืื—ืช? ื‘ืจื’ืข ืฉื”ื‘ื ื• ืืช ื”ื”ื‘ื“ืœ ื’ื ื”ืฉื™ืžื•ืฉ ื”ื•ื ื‘ืจื•ืจ: ืœืคื ื™ ืžื™ื–ื•ื’ ืื• ืจื™ื‘ื™ื™ืก ื›ืฉืื ื™ ืจื•ืฆื” ืœืžืคื•ืช ืคืขืจื™ื ืื ื™ ืืฉืชืžืฉ ื‘ diff ืฉืชื™ ื”ื ืงื•ื“ื•ืช. ื›ืš ืื ื™ ื™ื›ื•ืœ ืœื“ืขืช ื›ืžื” ืื ื™ ืจื—ื•ืง ืžื”ืงื•ื“ ื”ืจืืฉื™. ื‘ื–ืžืŸ ื”ืขื‘ื•ื“ื” ืขืœ dev ืื ื™ ืืฉืชืžืฉ ื‘ diff ืฉืœื•ืฉ ื”ื ืงื•ื“ื•ืช ื›ื“ื™ ืœืจืื•ืช ืžื” ื‘ื“ื™ื•ืง ืขืฉื™ืชื™, ืื ืฆืจื™ืš ืœืขืจื•ืš ืงื•ืžื™ื˜ื™ื ืื• ืœื ืงื•ืช ืงื•ื“. ื‘ืขื‘ื•ื“ื” ืขื AI ืื ื™ ืื•ื”ื‘ ืœืขืฉื•ืช Code Review ืขื diff ืฉืœื•ืฉ ื”ื ืงื•ื“ื•ืช, ื›ืš ืื ื™ ื™ื›ื•ืœ ืœืจืื•ืช ื‘ื“ื™ื•ืง ืืช ื”ืฉื™ื ื•ื™ื™ื ืฉืกื•ื›ืŸ ื”ืงื™ื“ื•ื“ ื”ื›ื ื™ืก ื‘ืœื™ ืœื”ืชื‘ืœื‘ืœ ื‘ื’ืœืœ ืฉื™ื ื•ื™ื™ื ืื—ืจื™ื ื—ื“ืฉื™ื ื™ื•ืชืจ ื‘ืขื ืฃ ื”ืจืืฉื™.

ToCode
1 419
ืžืžื•ื‘ืŸ ืœืžื•ื‘ืŸ ืžืืœื™ื• ืžื•ื‘ืŸ ื›ืœื•ืžืจ ืดื‘ืจื•ืจืด, ืดื ืชืคืก ื‘ืฉื›ืœืด. ื›ืฉืื ื™ ืื•ืžืจ ืขืœ ืžืฉื”ื• ืฉื”ื•ื ืžื•ื‘ืŸ ืื ื™ ืžืชื›ื•ื•ืŸ ืฉืื ื™ ื›ื‘ืจ ืžืงื‘ืœ ืื•ืชื• ืื• ืฉื”ื•ื ื‘ื ื•ื™ ื‘ืฆื•ืจื” ื›ื–ืืช ืฉืื ืฉื™ื ืื—ืจื™ื ื™ื•ื›ืœื• ืœืงื‘ืœ ืื•ืชื•, ื™ื•ื›ืœื• ืœื”ื‘ื™ืŸ ืื•ืชื•. ื›ืฉืžืฉื”ื• ืžื•ื‘ืŸ ืžืืœื™ื• ื–ื” ืื•ืžืจ ืฉื”ื•ื ืžื•ื‘ืŸ ืœืœื ื›ืœ ื”ืกื‘ืจ ื ื•ืกืฃ ืื• ืœืœื ื›ืœ ืžืืžืฅ ื ื•ืกืฃ. ืื™ ืืคืฉืจ ืœื”ืชื›ื—ืฉ ืœืžื•ื‘ื ื•ืช ืฉืœื•. ืชืจื’ื•ืœ, ื—ืฉื™ืคื” ื•ืขื‘ื•ื“ื” ื‘ืชื‘ื ื™ื•ืช ืขื•ื–ืจื•ืช ืœื”ืคื•ืš ืงื•ื“ ืžืžื•ื‘ืŸ ืœืžื•ื‘ืŸ ืžืืœื™ื•, ื›ืœื•ืžืจ ืžื›ื–ื” ืฉื“ื•ืจืฉ ืจื’ืข ืœืขืฆื•ืจ ื›ื“ื™ ืœื”ื‘ื™ืŸ ืžื” ืจืฆื• ืฉื ืœื›ื–ื” ืฉืืคืฉืจ ืœืจืื•ืช ื•ืœื”ืžืฉื™ืš. ื“ื•ื’ืžื”? ื‘ื˜ื— ื”ื ื” ื“ื™ืคืกื™ืง ืžื“ืคื™ืก 10 ืžืกืคืจื™ื ืจืืฉื•ื ื™ื ื‘ืกื“ืจืช ืคื™ื‘ื•ื ืืฆ'ื™:
def print_fibonacci():
    first = 0
    second = 1
    count = 2  # We already have two elements: 0 and 1
    
    while count < 10:
        next_num = first + second
        sequence.append(next_num)
        first, second = second, next_num
        count += 1
    
    print(' '.join(map(str, sequence)))
ืžื•ื‘ืŸ ืœื’ืžืจื™ ื•ืืคื™ืœื• ืขื ื”ืขืจื” ืฉืขื•ื–ืจืช ืœื”ื‘ื™ืŸ ืœืžื” ืžืชื—ื™ืœื™ื ืž-2 ืื‘ืœ ื“ื•ืจืฉ ืงืจื™ืื” ื•ืงืฆืช ืจื™ื›ื•ื–. ื•ื”ื ื” ืžื™ื ื™ืžืงืก ืคื•ืชืจ ืืช ืื•ืชื” ื‘ืขื™ื”:
def print_fibonacci(count=10):
    a, b = 0, 1          # start with the first two numbers
    for _ in range(count):
        print(a, end=' ')
        a, b = b, a + b # move to the next pair
    print()              # final newline

ื’ื ื”ื•ื ืžืขืžื™ืก ื”ืขืจื•ืช ืื‘ืœ ื”ืคืขื ื‘ืจื•ืจ ืฉืื™ืŸ ื‘ื”ืŸ ืฆื•ืจืš. ืืช ื”ืชื‘ื ื™ืช:
a, b = b, a + b
ืžื›ื™ืจ ื›ืœ ืžื™ ืฉื›ืชื‘ ืคื™ื‘ื•ื ืืฆ'ื™ ื‘ืคื™ื™ืชื•ืŸ. ื›ืœ ืขื•ื“ ืงืจื™ืืช ืงื•ื“ ื”ื™ื ื—ืœืง ืžืฉืžืขื•ืชื™ ืžื”ื—ื™ื™ื ืฉืœื ื•, ื•ื ืจืื” ืฉืœืฉื ื™ื ื”ืงืจื•ื‘ื•ืช ื”ื™ื ืจืง ื”ื•ืœื›ืช ื•ื”ื•ืคื›ืช ื™ื•ืชืจ ืžืฉืžืขื•ืชื™ืช, ืฉื•ื•ื” ืœื”ืชืืžืฅ ื•ืœื”ืฉืชืคืจ ื‘ื–ื”. ืžืฆื“ ืื—ื“ ื‘ืืžืฆืขื•ืช ืฉื™ืคื•ืจ ืžื™ื•ืžื ื•ืช ื•ื™ืฆื™ืจืช ืฆื™ืคื™ื•ืช ื•ืžืฆื“ ืฉื ื™ ื‘ืืžืฆืขื•ืช ื”ืฉืคืขื” ืขืœ ื” AI ืฉื™ื‘ื ื” ืืช ื”ืงื•ื“ ืฉื™ืชืื™ื ืœืฆื™ืคื™ื•ืช ืฉืœื ื•.

ToCode
1 419
ื™ืฉ ืœื™ ื”ื–ื“ืžื ื•ืช ื”ืžื˜ืœื” ื”ื›ื™ ืฉื ื•ืื” ืขืœ ืžืคืชื—ื™ื ื‘ืขื•ืœื ื”ื—ื“ืฉ ื”ื™ื ืงืจื™ืืช ื”ืงื•ื“ ืฉ AI ื›ื•ืชื‘. ืงืจื™ืืช ืงื•ื“ ืฉืœ ืื—ืจื™ื ื–ื” ืชืžื™ื“ ื›ืื‘ ืจืืฉ ื•ื‘ืžืงืจื” ืฉืœ AI ื”ืงื•ืฉื™ ื›ืคื•ืœ ื›ื™ ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื”ืชืจื›ื– ื•ืœื—ืคืฉ ืื™ืคื” ื” AI ืคืกืคืก ื“ื‘ืจื™ื ื‘ืกื™ืกื™ื™ื ืฉื™ืกื‘ื›ื• ืื•ืชื ื• ื‘ื”ืžืฉืš. ืื—ืช ื”ื“ืจื›ื™ื ืœื”ืงืœ ืขืœ ื”ืขื•ืžืก ื”ื™ื ืœื’ืฉืช ืœืžืฉื™ืžื” ื‘ืจืืฉ ืื—ืจ. ื‘ืžืงื•ื "ืื ื™ ืฆืจื™ืš ืœืžืฆื•ื ืžื” ื” AI ืคืกืคืก" ื ื ืกื” ืืช ื”ื’ื™ืฉื” "ื™ืฉ ืœื™ ื”ื–ื“ืžื ื•ืช ืœืœืžื•ื“". ื‘ืžืงื•ื ืœื—ืคืฉ "ืื™ืคื” ื” AI ืคืกืคืก" ื ื—ืคืฉ "ืื™ืš ื”ืงื•ื“ ื”ื—ื“ืฉ ืคื•ืชืจ ืืช ื”ื‘ืขื™ื”" ื‘ืžืงื•ื ืœื—ืคืฉ "ืžื” ื” AI ืœื ืจืื”" ื ืฉืืœ "ืžืื™ืคื” ื”ืชื‘ื ื™ืช ื”ื–ืืช ื”ื’ื™ืขื”?" ื‘ืžืงื•ื ืœื”ืชืืžืฅ ื•ืœืžืฆื•ื ืฉื’ื™ืื•ืช ื”ื’ื™ื•ืŸ ื ื ืกื” ืœืžืฆื•ื ืืช ื”ื”ื’ื™ื•ืŸ ื•ืœืขืงื•ื‘ ืื—ืจ ื—ื•ื˜ ื”ืžื—ืฉื‘ื” ืฉื”ื™ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื. ื‘ืžืงื•ื ืœื—ืฉื•ืฉ ืœืคืชื•ื— ืืช ื”ืงื•ื“ ื›ื™ "ืžื™ ื™ื•ื“ืข ืžื” ืืžืฆื ืฉื" ื›ื“ืื™ ืœื–ื›ื•ืจ ืฉื”ืงื•ื“ ื”ื–ื” ืžืžื™ืœื ืœื ืขืœื” ืœื™ ื›ืœื•ื ื•ื›ืžื• ืฉื”ื•ื ื ื›ืชื‘ ืžื”ืจ ืืคืฉืจ ื’ื ืœื”ืขื™ืฃ ืื•ืชื• ืžื”ืจ ื•ืœื™ื™ืฆืจ ื”ื›ืœ ืžื—ื“ืฉ ืขื ืคืจื•ืžืคื˜ ืงืฆืช ื™ื•ืชืจ ื˜ื•ื‘. ื‘ืžืงื•ื ืœื—ืฉื•ืฉ ืฉืื ื™ ืืฆื ื˜ืžื‘ืœ ื•ืœื ืื‘ื™ืŸ ื“ื‘ืจื™ื ื‘ืกื™ืกื™ื™ื ื›ื“ืื™ ืœื”ื–ื›ืจ - ื™ืฉ ืœื™ ื”ื–ื“ืžื ื•ืช ืœืœืžื•ื“. ื›ืœ ืžื” ืฉืœื ืื‘ื™ืŸ ืื•ื›ืœ ืœืฉืื•ืœ ืืช ืื•ืชื• AI. ืžืขื•ืœื ืœื ื”ื™ื” ื™ื•ืชืจ ืงืœ ืœืœืžื•ื“ ื˜ืจื™ืงื™ื ื—ื“ืฉื™ื ืขืœ ืงื•ื“. ืžืขื•ืœื ืœื ื”ื™ื” ื™ื•ืชืจ ื—ืฉื•ื‘ ืœื”ื‘ื™ืŸ.

ToCode
1 419
apple: generateApple(prev.snake),
          status: 'PLAYING',
          currentMathProblem: null,
          lives: newLives,
        }));
      }
    }
    setAnswer('');
  };
ื–ื• ืคื•ื ืงืฆื™ื” ืฉืžื•ื’ื“ืจืช ื‘ืชื•ืš ืงื•ืžืคื•ื ื ื˜ื” ืฉืžืคืขื™ืœื” setState ืžื›ืžื” ืžืงื•ืžื•ืช ืฉื•ื ื™ื ืœืคื™ ื”ื ืกื™ื‘ื•ืช. ืœื™ ืงืฉื” ืœืงืจื•ื ืื•ืชื” ืื• ืœืขืงื•ื‘ ืื—ืจื™ื” ื•ื‘ื˜ื— ืœื‘ื“ื•ืง ืื•ืชื”. ืžื™ื ื™ืžืงืก ื”ืคืจื™ื“ ืืช ื–ื” ืœ-2, ื”ื—ืœืง ื‘ืชื•ืš ื”ืงื•ืžืคื•ื ื ื˜ื” ื”ื•ื ื‘ืกืš ื”ื›ืœ:
const handleAnswerSubmit = (answer: number) => {
  setGameState(prev => submitAnswer(prev, answer));
};
ื•ื”ืœื•ื’ื™ืงื” ื‘ืงื•ื‘ืฅ ื ืคืจื“ ืœื ืงืฉื•ืจื” ืœืจื™ืืงื˜ ื•ืœื›ืŸ ืืคืฉืจ ื‘ืงืœื•ืช ืœื‘ื“ื•ืง ืื•ืชื”:
export function submitAnswer(state: GameState, userAnswer: number): GameState {
  if (!state.mathProblem) return state;

  const isCorrect = userAnswer === state.mathProblem.answer;

  if (isCorrect) {
    const newSpeed = Math.max(MIN_SPEED, state.speed - SPEED_DECREASE);
    return {
      ...state,
      score: state.score + POINTS_PER_ANSWER,
      speed: newSpeed,
      isPaused: false,
      mathProblem: null,
      apple: generateApple(state.snake),
    };
  }

  const newLives = state.lives - 1;

  if (newLives <= 0) {
    return {
      ...state,
      lives: 0,
      isGameOver: true,
      isPaused: true,
      mathProblem: null,
    };
  }

  return {
    ...state,
    lives: newLives,
    isPaused: false,
    mathProblem: null,
    apple: generateApple(state.snake),
  };
}
ื”ืžื•ื“ืœ ื”ืื—ืจื•ืŸ glm ืœืงื— ื’ื™ืฉื” ื”ื™ื‘ืจื™ื“ื™ืช, ื”ื•ื ื’ื ื”ืฉืชืžืฉ ื‘ื’ืจื™ื“ ื›ืžื• ืžื™ื ื™ืžืงืก ืื‘ืœ ืืฆืœื• ืฉื•ื‘ ื”ืžืฉื—ืง ื ื›ืชื‘ ื‘ืชื•ืš Hook ื•ืœื›ืŸ ื”ื™ืชื” ื”ืจื‘ื” ืœื•ื’ื™ืงื” ืฉืœื ื ื‘ื“ืงื”. ื’ืœื ื’ื ื”ื•ืกื™ืฃ ื˜ืขื™ื ื” ื“ื™ื ืžื™ืช ืฉืœ ืœื•ื— ื”ืžืฉื—ืง ืžืื™ื–ื•ืฉื”ื™ ืกื™ื‘ื”:
'use client';

import dynamic from 'next/dynamic';

const GameBoard = dynamic(
  () => import('@/components/Game/GameBoard').then((mod) => mod.GameBoard),
  { ssr: false }
);

export function Game() {
  return <GameBoard />;
}
ื•ื‘ื“ื•ื’ืžืช ื‘ื“ื™ืงืช ื”ืชืจื’ื™ืœ ื”ื•ื ื›ืชื‘:
  const handleSubmit = (e: React.FormEvent) => {
    e.preventDefault();
    const userAnswer = parseInt(answer, 10);
    
    if (isNaN(userAnswer)) {
      setError(true);
      return;
    }

    if (userAnswer === problem.answer) {
      onCorrect();
    } else {
      onWrong();
    }
  };

  const handleChange = (value: string) => {
    setAnswer(value);
    setError(false);
  };
  
  
// in hook file
  const handleCorrectAnswer = useCallback(() => {
    setCurrentProblem(null);
    setGameState('PLAYING');
  }, []);

  const handleWrongAnswer = useCallback(() => {
    setLives((prev) => {
      const newLives = prev - 1;
      if (newLives <= 0) {
        setGameState('GAME_OVER');
      }
      return newLives;
    });
    setCurrentProblem(null);
    if (lives > 1) {
      setGameState('PLAYING');
    }
  }, [lives]);
ืฉื–ื” ื“ื•ื’ืžื” ื ืคืœืื” ืœืงื•ื“ ืฉื ืจืื” ื™ืคื” ืื‘ืœ ื‘ืขืฆื ืงืฉื” ืœื”ื‘ื ื” ื›ื™ ื™ืฉ ืœื ื• ื™ื•ืชืจ ืžื“ื™ ืžืฉืชื ื™ ืกื˜ื™ื™ื˜ ื•ื™ื•ืชืจ ืžื“ื™ ืคื•ื ืงืฆื™ื•ืช ืžืคื•ื–ืจื•ืช ื‘ื›ืžื” ืงื‘ืฆื™ื ื‘ืœื™ ืกื™ื‘ื” ืืžื™ืชื™ืช ืœื”ืคืจื“ื”. ืกืš ื”ื›ืœ ื‘ืขืงื‘ื•ืช ื”ื ื™ืกื•ื™ ืื ื™ ืžื•ื“ื” ืฉื”ืชืื”ื‘ืชื™ ื‘ minimax ื”ืชื—ืœืชื™ ื’ื ืœื”ืฉืชืžืฉ ื‘ื• ืœื™ืฆื™ืจืช ืงื•ื“ ื‘ืคืจื•ื™ืงื˜ื™ื ืืžื™ืชื™ื™ื ื•ืื ื™ ืžืื•ื“ ืžืจื•ืฆื” ื‘ื™ื ืชื™ื™ื.

ToCode
1 419
ื›ื–ื” ื ื™ืกื™ืชื™: Opencode ื•ืžื•ื“ืœื™ ืงื•ื“ ืคืชื•ื— ืž Ollama ื”ืžื•ื“ืœื™ื ื”ืคืชื•ื—ื™ื ืžืชืงื“ืžื™ื ื›ืœ ื”ื–ืžืŸ ื•ื™ื—ื“ ืื™ืชื ื’ื ืกื•ื›ื ื™ ื”ืงื™ื“ื•ื“ ืฉื™ื•ื“ืขื™ื ืœื”ืคืขื™ืœ ืื•ืชื. ืกื•ื›ื ื™ ื”ืงื™ื“ื•ื“ ื”ืžืจื›ื–ื™ื™ื ืฉืขื•ื‘ื“ื™ื ืขื ืžื•ื“ืœื™ื ื—ื•ืคืฉื™ื™ื ื”ื: 1. Droid 2. Opencode 3. Kilocode 4. Aider 5. Cline 6. Roo Code 7. Claude Code ืœื›ื‘ื•ื“ ื”ืคื•ืกื˜ ื”ื™ื•ื ืจืฆื™ืชื™ ืœื ืกื•ืช ืœื›ืชื•ื‘ ืžืฉื—ืง ืกื ื™ื™ืง ืขื ืžื•ื“ืœ ืงื•ื“ ืคืชื•ื— ื•ืœืจืื•ืช ืžื” ืžืฆื‘ื ื•ืื ื”ื ืžืฆืœื™ื—ื™ื ืœืขืžื•ื“ ื‘ืžืฉื™ืžื”. ื”ืชื•ืฆืื” ื”ืคืชื™ืขื” ืื•ืชื™ ืœื˜ื•ื‘ื” ื•ืžืื– ื”ื ื™ืกื•ื™ ืขื‘ืจืชื™ ืœืขื‘ื•ื“ ืขื ืžื•ื“ืœ ืคืชื•ื— ื’ื ื‘ืคืจื•ื™ืงื˜ื™ื ืืžื™ืชื™ื™ื ืขื ืชื•ืฆืื•ืช ืžืขื•ืœื•ืช. ืื‘ืœ ืชื—ื™ืœื” ืคืจื˜ื™ ื”ื ื™ืกื•ื™. ื‘ื•ืื• ื ื‘ื ื” ืžืฉื—ืง ืกื ื™ื™ืง ื”ืชืงื ืชื™ opencode ื• ollama, ื ืจืฉืžืชื™ ืœืฉื™ืจื•ืช ื”ืคืจืžื™ื•ื ืฉืœ ollama ืฉืžืืคืฉืจ ืœื”ืจื™ืฅ ืฉืื™ืœืชื•ืช ืžื•ืœ ื”ืžื•ื“ืœื™ื ื”ืคืชื•ื—ื™ื ื‘ืขื ืŸ ืฉืœื”ื (ืขืฉืจื™ื ื“ื•ืœืจ ื‘ื—ื•ื“ืฉ. ื”ืžื—ืฉื‘ ืฉืœื™ ืœื ืžืกืคื™ืง ื˜ื•ื‘ ื‘ืฉื‘ื™ืœ ืœื”ืจื™ืฅ ืžื•ื“ืœื™ื), ื•ื”ืคืขืœืชื™ ืืช ืื•ืคืŸืงื•ื“ ืขื ืชื™ืงื™ื™ืช ื‘ืกื™ืก ืฉืœ ืคืจื•ื™ืงื˜ next.js ืจื™ืง ื•ื”ื“ื‘ืงืชื™ ืืช ื”ืคืจื•ืžืคื˜ ื”ื‘ื:
Let's scaffold a math snake game
It's a regular snake game but whenever you eat an apple show a math exercise about multiplication table (multiply 2 numbers, user types
the result)
Create the project in next.js fullstack app with server components using multiple files and industry best practices
dev server is already running on http://localhost:3001/ with hot reloading so you can just change the code and check the result in the
browser

Plan the game, its UI and its tests and then let's code
ื‘ืฉื‘ื™ืœ ืœื”ืคืขื™ืœ ืื•ืคืŸืงื•ื“ ืขื ืžื•ื“ืœ ืงื•ื“ ืคืชื•ื— ื“ืจืš ollama ื›ื•ืชื‘ื™ื ืžืฉื•ืจืช ื”ืคืงื•ื“ื”:
ollama launch opencode --model <model-name>
ืืช ื”ื ื™ืกื•ื™ ื”ืจืฆืชื™ ืขื ืฉืœื•ืฉื” ืžื•ื“ืœื™ื: 1. kimi-k2.5 2. minimax-m2.5 3. glm-5 ื”ืชื•ืฆืื•ืช ื‘ื’ื™ื˜ื”ืื‘ ื‘ืงื™ืฉื•ืจื™ื: https://github.com/ynonp/math-snake-foss-models/tree/opencode-glm5 https://github.com/ynonp/math-snake-foss-models/tree/opencode-kimi https://github.com/ynonp/math-snake-foss-models/tree/opencode-minimax ืื™ืš ื–ื” ืขื‘ื“ ืฉืœื•ืฉืช ื”ืžื•ื“ืœื™ื ื”ืฆืœื™ื—ื• ืœื™ืฆื•ืจ ืืช ื”ืžืฉื—ืง. ืงื™ืžื™ ื”ืฆืœื™ื— ื‘ื ืกื™ื•ืŸ ื”ืจืืฉื•ืŸ ื• glm ื• minimax ื”ื™ื• ืฆืจื™ื›ื™ื ืคืจื•ืžืคื˜ ื”ืžืฉืš ื›ื™ ื”ื’ืจืกื” ื”ืจืืฉื•ื ื” ืฉืœื”ื ื”ื™ืชื” ืขื ืฉื’ื™ืื”. ืฉืœื•ืฉืช ื”ืžื•ื“ืœื™ื ื™ืฆืจื• ื’ื ืžืฉื—ืง ื•ื’ื ื‘ื“ื™ืงื•ืช. ื‘ื›ื•ืœื ื”ื‘ื“ื™ืงื•ืช ื‘ื“ืงื• ืืช ื”ืœื•ื’ื™ืงื” ืฉืœ ื”ืžืฉื—ืง ื‘ืœื™ ืœื‘ื“ื•ืง UI. ื›ืœ ื”ืฉืœื•ืฉื” ื ื™ืกื• ืœื”ืคืจื™ื“ ื‘ื™ืŸ ืคื•ื ืงืฆื™ื•ืช ื”ืœื•ื’ื™ืงื” ืœืงื•ื“ ื”ืžืžืฉืง ื›ื“ื™ ืฉื™ื•ื›ืœื• ืœื‘ื“ื•ืง ืืช ื”ืœื•ื’ื™ืงื”. ืฉืœื•ืฉืช ื”ืžื•ื“ืœื™ื ืกื™ื™ืžื• ืชื•ืš ื“ืงื•ืช ื•ื”ื’ื‘ืœืช ื”ื˜ื•ืงื ื™ื ืฉืœ ollama ืžืื•ื“ ื ื“ื™ื‘ื” ื›ืš ืฉื ืจืื” ืฉื’ื ืื ื”ื™ื™ืชื™ ืžืจื™ืฅ ืกื•ื›ืŸ ืงื™ื“ื•ื“ ืžืกื‘ื™ื‘ ืœืฉืขื•ืŸ ืœื ื”ื™ื• ื ื’ืžืจื•ืช ืœื™ ื”ื‘ืงืฉื•ืช. ืžื‘ื—ื™ื ืช ื”ืชื•ืฆืื•ืช ื”ื›ื™ ืื”ื‘ืชื™ ืืช ื”ืงื•ื“ ืฉืœ minimax. ื”ืงื•ื“ ืคืฉื•ื˜, ื”ื ื—ืฉ ืžืฆื•ื™ืจ ืขื CSS Grid, ืื™ืŸ ื›ืžืขื˜ ืฉื™ืžื•ืฉ ื‘ื™ื›ื•ืœื•ืช ืฉืœ ืจื™ืืงื˜ (ืื™ืŸ hooks, ื™ืฉ ืฉื ื™ ืืคืงื˜ื™ื ืขื‘ื•ืจ ืœื•ืœืืช ื”ืžืฉื—ืง ื•ื˜ื™ืคื•ืœ ื‘ืงืœื˜). ื•ื”ืงื•ื“ ืžืื•ื“ ืงืจื™ื. ืœื“ื•ื’ืžื” ื–ื• ืœื•ืœืืช ื”ืžืฉื—ืง:
const handleTick = useCallback(() => {
  setGameState(prev => tick(prev));
}, []);
ืฉื–ื” ืžืขื•ืœื” ื›ื™ื•ื•ืŸ ืฉื›ืœ ื”ืœื•ื’ื™ืงื” ื‘ืคื•ื ืงืฆื™ื™ืช tick ื”ื™ื ื—ื™ืฆื•ื ื™ืช ืœืจื™ืืงื˜ ื•ืืคืฉืจ ื‘ืงืœื•ืช ืœื‘ื“ื•ืง ืื•ืชื”. ืงื™ืžื™ ื™ืฆืจ ืชื•ื›ื ื™ืช ืžืฆื•ื™ื ืช ืื‘ืœ ืœืงื— ื›ื™ื•ื•ืŸ ืžืกื•ืจื‘ืœ ื‘ืงื•ื“. ื‘ืžืงื•ื ืœื”ืฉืชืžืฉ ื‘ div-ื™ื ื”ื•ื ื™ืฆืจ canvas. ื–ื” ืœื ืกื•ืฃ ื”ืขื•ืœื ืื‘ืœ ื–ื” ืื•ืžืจ ืฉื”ื‘ื“ื™ืงื•ืช ืฉืœื• ื”ืจื‘ื” ืคื—ื•ืช ื˜ื•ื‘ื•ืช ื›ื™ื•ื•ืŸ ืฉื™ืฉ ื”ืžื•ืŸ ืœื•ื’ื™ืงื” ืฉืงืฉื•ืจื” ืœืฆื™ื•ืจ ืื•ืชื” ื”ื•ื ืœื ื‘ื“ืง. ืžื‘ื—ื™ื ืช ื”ื”ื‘ื“ืœื™ื ื‘ื™ื ื• ืœื‘ื™ืŸ minimax ืื– ื”ื ื” ื“ื•ื’ืžื” ืงื˜ื ื” ื”ืงื•ื“ ืฉืœ ืงื™ืžื™ ืฉื‘ื“ืง ืื ืชืฉื•ื‘ื” ืœืชืจื’ื™ืœ ื—ืฉื‘ื•ืŸ ื”ื™ื ื ื›ื•ื ื” ื”ื•ื:
  const handleMathSubmit = (e: React.FormEvent) => {
    e.preventDefault();
    const userAnswer = parseInt(answer, 10);
    const correct = userAnswer === gameState.currentMathProblem?.answer;

    if (correct) {
      setGameState((prev) => ({
        ...prev,
        snake: growSnake(prev.snake),
        apple: generateApple(prev.snake),
        score: prev.score + SCORE_PER_APPLE,
        speed: Math.max(MIN_SPEED, prev.speed - SPEED_DECREMENT),
        status: 'PLAYING',
        currentMathProblem: null,
      }));
    } else {
      const newLives = gameState.lives - 1;
      if (newLives <= 0) {
        setGameState((prev) => ({ ...prev, status: 'GAME_OVER', lives: 0 }));
      } else {
        setGameState((prev) => ({
          ...prev,
          snake: shrinkSnake(prev.snake),

ToCode
1 419
ืขื•ืœื ืœืœื ืงื•ื“ ื›ื‘ืจ ื”ื™ื•ื ืื ื™ ืœื ื‘ื˜ื•ื— ืฉื›ื“ืื™ ืœืื ืฉื™ื ืœืœืžื•ื“ ืืช ื”ื—ืฉื™ื‘ื•ืช ืฉืœ HTML ืกืžื ื˜ื™, ืืช ื”ื”ื‘ื“ืœื™ื ื‘ื™ืŸ section ืœ article ื•ืžืชื™ ืœื”ืฉืชืžืฉ ื‘ nav ื‘ืžืงื•ื ื‘ div. ืื ื–ื” ื—ืฉื•ื‘ ืื ื—ื ื• ืžืฆืคื™ื ืฉ AI ื™ืฉืชืžืฉ ื‘ื–ื” ื›ืฉื ื‘ืงืฉ ืžืžื ื• ืœื›ืชื•ื‘ HTML. ื›ื‘ืจ ื”ื™ื•ื ืื ื™ ืœื ื‘ื˜ื•ื— ืฉื›ื“ืื™ ืœืื ืฉื™ื ืœืœืžื•ื“ ืœื›ืชื•ื‘ Shell Scripts. ืžืžื™ืœื ื›ืžืขื˜ ืœื ื ื›ืชื‘ื• Shell Scripts ืืจื•ื›ื™ื ื•ืืช ื›ืœ ื”ืงืฆืจื™ื ื” AI ื™ื›ื•ืœ ืœื›ืชื•ื‘, ืœืงืจื•ื ื•ืœืชื—ื–ืง ื˜ื•ื‘ ื™ื•ืชืจ ืžืจื•ื‘ ื”ืื ืฉื™ื ืฉื›ืชื‘ื• ืกืงืจื™ืคื˜ื™ื ื‘ืขื‘ืจ. ืžื” ืœื’ื‘ื™ node.js ื•ืืงืกืคืจืก? ืื• ืจืืกื˜? ืื• Java? ืžื” ืฉืžื™ื•ื—ื“ ื‘ HTML-ื™ื ื•ื‘ Shell Scripts ื”ื•ื ืฉื”ืžืžืฉืง ืฉืœื”ื ืคืฉื•ื˜. ืืคืฉืจ ืœื”ื•ืกื™ืฃ ืขื•ื“ ืžื”ื ื‘ืœื™ ืœื”ื›ื™ืจ ืืช ื”ืงื™ื™ืžื™ื. ืงื•ื‘ืฅ HTML ื’ืจื•ืข ื™ื›ื•ืœ ืœืฉื‘ื•ืจ ืจืง ืืช ืขืฆืžื•. ืกืงืจื™ืคื˜ ื’ืจื•ืข ื™ืฉื‘ื•ืจ ืจืง ืืช ืขืฆืžื•. ื”ื ื” ืžื” ืฉื›ืชื‘ rupayanc ื‘ืจื“ื™ื˜ ื‘ื ื•ื’ืข ืœ PR-ื™ื ืฉื”ื•ื ืžืงื‘ืœ ืขืœ ืคืจื•ื™ืงื˜ื™ ืงื•ื“ ืคืชื•ื— ืฉืœื•: > The other half compile but introduce subtle bugs because the model doesn't understand the actual design constraints of the project. ืžื™ืœืช ื”ืžืคืชื— ื”ื™ื understand. ืกื•ื›ื ื™ ืงื™ื“ื•ื“ ืœื ืžื‘ื™ื ื™ื ืืœื ืžืฉืœื™ืžื™ื ืชื‘ื ื™ื•ืช ื•ืœื›ืŸ ื‘ืคืจื•ื™ืงื˜ื™ื ื’ื“ื•ืœื™ื ื™ืฉ ืคืขืจื™ื. ืื ื™ ืจื•ืื” ืคื” ืฉืชื™ ื“ืจื›ื™ื ืงื“ื™ืžื” ื‘ืฉื‘ื™ืœ ืœื”ื™ืคื˜ืจ ืžื”ืงื•ื“: 1. ืืคืฉืจ ืœื‘ื ื•ืช ืขื•ืœื ื‘ื• ื™ื•ืชืจ ื“ื‘ืจื™ื ืžืชื ื”ื’ื™ื ื›ืžื• ืงื‘ืฆื™ HTML. ืžื™ืงืจื• ืกืจื‘ื™ืกืก ื–ื• ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืžืชืืจืช ื›ื–ื” ื ืกื™ื•ืŸ - ื”ืกื•ื›ื ื™ื ื‘ื•ื ื™ื ื”ืžื•ืŸ ื“ื‘ืจื™ื ืงื˜ื ื™ื ื•ืžื—ื‘ืจื™ื ืื•ืชื. 2. ืืคืฉืจ ืœื—ื‘ืจ ืกื•ื›ื ื™ ืงื™ื“ื•ื“ ืœ"ืฆื•ื•ืช AI", ืœืฉืคืจ ืคืจื•ืžืคื˜ื™ื, ืœืขื•ื“ื“ ืื•ืชื ืฉื™ืขื“ื›ื ื• ืืช ื”ืคืจื•ืžืคื˜ื™ื ืฉืœ ืขืฆืžื ื•ืœื‘ื ื•ืช ืฆื‘ื ืฉืœ ืกื•ื›ื ื™ื ืฉืžืกื•ื’ืœ ืœื“ืžื•ืช ืœืžื™ื“ื” ื•ืœื—ืœืง ืœืขืฆืžื• ืืช ื”ืžืฉื™ืžื•ืช ืœื—ืœืงื™ื ืงื˜ื ื™ื ืฉื”ื•ื ื™ื›ื•ืœ ืœืคืชื•ืจ. ืฉื ื™ ื”ืžืงืจื™ื ืžืฉืคื™ืขื™ื ืžืื•ื“ ืขืœ ืžื” ืื ื—ื ื• ืจื•ืฆื™ื ืœืœืžื•ื“ ื›ืžื”ื ื“ืกื™ ืชื•ื›ื ื” ื•ืกื˜ ื”ืžื™ื•ืžื ื•ื™ื•ืช ืฉื ืฆื˜ืจืš ืœืขืชื™ื“ ื•ื’ื ื—ื•ืฉืคื™ื ืืžืช ืฉืงืฉื” ืœื”ืชืขืœื ืžืžื ื”: ืขื•ืœื ื‘ืœื™ ืงื•ื“ ื“ื•ืจืฉ ืขื•ืœื ืฉืœ ืงื•ื“ ืฉื™ืคืขื™ืœ ืื•ืชื•. ืžื™ืฉื”ื• ืฆืจื™ืš ืœื‘ื ื•ืช ืืช ื”ืฆื‘ื ืฉืœ ื”ืกื•ื›ื ื™ื ื•ืืช ืžื ื’ื ื•ื ื™ ืฉื™ืชื•ืฃ ื”ืคืขื•ืœื” ื‘ื™ื ื™ื”ื, ืื• ืืช ื›ืœืœื™ ื”ืขื‘ื•ื“ื” ื‘ืืงื•ืกื™ืกื˜ื ื‘ืชื•ื›ื” ื”ืกื•ื›ื ื™ื ื™ืชืคืงื“ื•. ื›ืฉื”ืงื•ื“ ื”ื•ืคืš ื–ื•ืœ ืžืื•ื“ ืื™ืŸ ืฆื•ืจืš ืœื”ื‘ื™ืŸ ืชื—ื‘ื™ืจ. ืœื ืฆืจื™ืš ืœื“ืขืช ืœืงืจื•ื ืžื‘ื ื” ืฉืœ List Comprehension ื‘ืคื™ื™ืชื•ืŸ ืื• ืžื” ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ืคื•ื ืงืฆื™ื” ืื ื•ื ื™ืžื™ืช ืœืคื•ื ืงืฆื™ื™ืช ื—ืฅ ื‘ JavaScript.

ToCode
1 419
ืื ื™ ืžื‘ื™ืŸ ืžื” ืขืฉื™ืช ืฉื ืชื ืื™ ืžืงื“ื™ื ืœืงืจื™ืืช ืงื•ื“ ื•ืœ Code Review ืืคืงื˜ื™ื‘ื™ ื”ื•ื ื‘ืกืš ื”ื›ืœ ื”ืžืฉืคื˜ "ืื ื™ ืžื‘ื™ืŸ ืžื” ืขืฉื™ืช ืฉื". ืจื•ื‘ ื”ื–ืžืŸ ื‘ืงืจื™ืืช ืงื•ื“ ืฉืœ AI ืื ื™ ืฆืจื™ืš ืœืขื‘ื•ื“ ื‘ืฉื‘ื™ืœ ืœื”ื’ื™ืข ืœืžืฆื‘ ื”ื–ื”. ื”ื ื” ืจื•ื‘ื™:
def create_connection
  Bunny.new(@connection_config[:url]).tap(&:start)
end
ื”ืคื•ื ืงืฆื™ื” ืคื•ืชื—ืช ื—ื™ื‘ื•ืจ ืœ Rabbitmq ื•ืžื—ื–ื™ืจื” ืืช ื”ื—ื™ื‘ื•ืจ ืฉื ืคืชื—. ื ืชืขืœื ืจื’ืข ืžื”ืฉืืœื” ืื ืฆืจื™ืš ืคื•ื ืงืฆื™ื” ื‘ืฉื‘ื™ืœ ื–ื” (ืื ื™ ื—ื•ืฉื‘ ืฉืœื), ืื‘ืœ ื”ืฉืืœื” ื”ื™ื•ืชืจ ื—ืฉื•ื‘ื” ื”ื™ื ืžื” ื” tap ืขื•ืฉื” ืฉื? ื”ื ื” ื”ืงื•ื“ ื‘ืฆื•ืจื” ื”ื›ื™ ืžืคื•ืจืฉืช ืฉืœื•:
def create_connection
  conn = Bunny.new(@connection_config[:url])
  conn.start
  return conn
end
ืขื›ืฉื™ื• ื–ื” ื™ื•ืชืจ ื‘ืจื•ืจ, ืงืœื•ื“ ืจืฆื” ืœื”ืคืขื™ืœ start ื•ื’ื ืœื”ื—ื–ื™ืจ ืืช ืื•ื‘ื™ืงื˜ ื” connection ื•ื”ื›ืœ ื‘ืฉื•ืจื” ืื—ืช. ื”ื•ื ื”ืกืชื‘ืš ื‘ื’ืœืœ ืฉืื ื”ื™ื” ื›ื•ืชื‘:
def create_connection
  Bunny.new(@connection_config[:url]).start
end
ืื– ื”ืคื•ื ืงืฆื™ื” ื”ื™ืชื” ืžื—ื–ื™ืจื” ืืช ืžื” ืฉ start ืžื—ื–ื™ืจื” ื•ืื•ืœื™ ื–ื” ืžืฉื”ื• ืื—ืจ ืžืžื” ืฉ new ืžื—ื–ื™ืจื”. ืคื” ื”ืžืงื•ื ืœืฉื™ื ืœื‘ ืœื ื˜ื™ื” ืฉืœ AI ืœืขื‘ื•ื“ ื‘ืชื‘ื ื™ื•ืช - ืงืœื•ื“ ืœื ื‘ื“ืง ืžื” start ืžื—ื–ื™ืจื”. ืื ื”ื•ื ื”ื™ื” ื‘ื•ื“ืง ื”ื•ื ื”ื™ื” ืจื•ืื” ืฉื”ื™ื ืžื—ื–ื™ืจื” ื‘ื“ื™ื•ืง ืืช ืื•ื‘ื™ืงื˜ ื”ื—ื™ื‘ื•ืจ ื›ื™ ืžื™ ืฉื›ืชื‘ ืืช Bunny ื›ื‘ืจ ื—ืฉื‘ ืขืœ ืžื ื’ื ื•ืŸ ื”ืงืจื™ืื” ื”ื–ื”. ื›ืœื•ืžืจ ื” tap ืžื™ื•ืชืจ ืœื’ืžืจื™ ืฉื. ืื ื™ ืžื‘ื™ืŸ ืžื” ื ื™ืกื™ืช ืœืขืฉื•ืช ืฉื, ืื‘ืœ ื–ื• ื˜ืขื•ืช. ืขื›ืฉื™ื• ืืคืฉืจ ืœืชืงืŸ.

ToCode
1 419
ืžืชื ื•ืช ื—ื™ื ื ื‘ืฉื‘ื™ืœ Rails, Laravel ื• Django ื”ื—ื™ื™ื ื“ื™ ืงืœื™ื. ื›ื•ืœื ื™ื•ื“ืขื™ื ืžื” ื™ืฉ ื‘ืืคืœื™ืงืฆื™ื™ืช ื•ื•ื‘ ืžื•ื ื•ืœื™ื˜ื™ืช, ื›ื•ืœื ืœื•ืงื—ื™ื ืคื™ืฆ'ืจื™ื ืื—ื“ ืžื”ืฉื ื™ ื•ื”ื”ื‘ื“ืœื™ื ื‘ื™ื ื™ื”ื ื”ื ื™ื•ืชืจ ืฉืœ ืกื’ื ื•ืŸ ื›ืชื™ื‘ืช ื•ืชืคื™ืกืช ืขื•ืœื ืžืืฉืจ ืฉืœ ืคื™ืฆ'ืจื™ื. ื‘ืกื•ืฃ ืืคื™ืœื• Django ื”ื•ืกื™ืคื• ืจื›ื™ื‘ ืœื”ืจืฆืช ืžืฉื™ืžื•ืช ื‘ืจืงืข. ื—ืœืง ื’ื“ื•ืœ ืžื”ื™ืฆื™ื‘ื•ืช ืฉืœ ืกืคืจื™ื•ืช ืืœื” ื”ื•ื ืชื•ืฆืื” ืฉืœ ื™ืฆื™ื‘ื•ืช ื”ืคืœื˜ืคื•ืจืžื” - ืจื™ื™ืœืก ื™ื•ื“ืข ืžื” ืžืขืจื›ืช ื”ื”ืคืขืœื” ื ื•ืชื ืช ื•ื™ื›ื•ืœ ืœื”ืชืงื“ื ืขื ื–ื”. ื‘ืขื•ืœื ืฉืœ ืกืคืจื™ื•ืช ืœืคื™ืชื•ื— ืกื•ื›ื ื™ื ื—ื›ืžื™ื ื”ืžืฉื—ืง ืฉื•ื ื” ืœื’ืžืจื™: ื”ืžืžืฉืง ืžื•ืœ ื”ืžื•ื“ืœ ืžืชืคืชื— ื›ืœ ื”ื–ืžืŸ, ืื’ืจื’ื˜ื•ืจื™ื ื›ืžื• Bedrock, Open Router ื• Copilot Models ืขื•ื˜ืคื™ื ืืช ื” API ื”ื‘ืกื™ืกื™ ื•ื™ื›ื•ืœื™ื ืœืกืคืง ืคื•ื ืงืฆื™ื•ื ืืœื™ื•ืช ื ื•ืกืคืช ืื• ื›ืคื•ืœื”, ืกื‘ื™ื‘ื•ืช ืœื”ืจืฆืช ืกื•ื›ื ื™ื ื›ืžื• Vertex AI Engine ืื• Agent Core ืžืกืคืงื•ืช ืขื•ื“ ื™ื›ื•ืœื•ืช ื•ื›ืœ ืืœื” ืžืฉืชื ื™ื ื›ืœ ื”ื–ืžืŸ. ื›ืš ื™ืฉ ืœื ื• ื”ื™ื•ื ื›ืœื™ื ืžื•ื‘ื ื™ื ื‘ืชื•ืš ื” API ืฉืœ OpenAI, ื›ืœื™ื ืžื•ื‘ื ื™ื ื‘ AgentCore, ืฉืขืจ ืฉืœ ืื™ื™ื’'ื ื˜ ืงื•ืจ ืœื”ืจืฆืช ื›ืœื™ื ืื• ื—ื™ื‘ื•ืจ ืฉืจืชื™ MCP ื•ืกืคืจื™ื™ืช ืคื™ืชื•ื— ืกื•ื›ื ื™ื ืฉื‘ืขืฆืžื” ืžืชื—ื‘ืจืช ืœืฉืจืชื™ MCP. ื’ื ื‘ืฆื“ ื”ืฉื ื™ ืฆื™ืคื™ื•ืช ื”ืžืฉืชืžืฉื™ื ืžืกืคืจื™ื•ืช ืœืคื™ืชื•ื— ืกื•ื›ื ื™ื ื—ื›ืžื™ื ืžืฉืชื ื•ืช ื—ื“ืฉื•ืช ืœื‘ืงืจื™ื ื•ื›ืœ ืคื™ืฆ'ืจ ื—ื“ืฉ ื‘ืื—ืช ื”ืกืคืจื™ื•ืช ื™ื•ืฆืจ ืฆื™ืคื™ื•ืช ื—ื“ืฉื•ืช ืžื›ืœ ื”ืื—ืจื•ืช ื•ื”ื›ืœ ืฆืจื™ืš ืœืขื‘ื•ื“ ืืชืžื•ืœ. ื•ืžืชื•ืš ื”ื‘ื ื” ืฉืœ ืชื ืื™ ื”ืขื‘ื•ื“ื” ื”ืฉื•ื ื™ื ื›ื“ืื™ ืœืืžืฅ ื’ื™ืฉื” ืฉื•ื ื” ืœืžืชื ื•ืช ืฉืื ื—ื ื• ืžืงื‘ืœื™ื ืžื›ืœ ืขื•ืœื: 1. ื›ืฉื”ืขื•ืœื ื™ืฆื™ื‘, ื›ืฉื‘ืจื•ืจ ืžื” ืฆืจื™ืš ืœื‘ื ื•ืช ื•ืžื” ื”ื™ื›ื•ืœื•ืช ื™ื”ื™ื” ืœื ื• ื—ืฉื•ื‘ ืœื”ืฉืงื™ืข ื•ืœื”ื‘ื™ืŸ ืืช ื›ืœ ื”ืžื ื’ื ื•ื ื™ื ื•ื”ื™ื›ื•ืœื•ืช ืฉืœ ื”ืคืจื™ื™ืžื•ื•ืจืง. ืœื›ืœ ืžื ื’ื ื•ืŸ ื‘ืจื™ื™ืœืก ื™ืฉ ืกื™ื‘ื”, ืžื™ืฉื”ื• ื”ื™ื” ืฆืจื™ืš ืืช ื–ื”. 2. ื›ืฉื”ืขื•ืœื ื›ืžืจืงื—ื” ื”ืžื ื’ื ื•ื ื™ื ื”ืžื•ื‘ื ื™ื ื‘ื›ืœ ืกืคืจื™ื” ื™ื›ื•ืœื™ื ืœื”ื›ื ืก ืœืฉื ื›ื™ ื‘ืืžืช ืžื™ืฉื”ื• ื”ื™ื” ืฆืจื™ืš ืื•ืชื, ืื‘ืœ ื’ื ื›ื™ ืื ื—ื ื• ื‘ื“ื™ื•ืง ื‘ื•ื—ื ื™ื ืจืขื™ื•ืŸ ืื• ื›ื™ ืžื™ืฉื”ื• ื”ืฆื™ืข ืžืฉื”ื• ืื• ื›ื™ ืคืจื™ื™ืžื•ื•ืจืง ืื—ืจ ื”ื›ื ื™ืก ืืช ื–ื” ื•ืื™ ืืคืฉืจ ืœื”ื™ืฉืืจ ืžืื—ื•ืจ. ื‘ืชืงื•ืคื” ืฉื™ื›ื•ืœื•ืช ื—ื“ืฉื•ืช ื ื›ื ืกื• ืœื“ืคื“ืคื ื™ื ื—ื“ืฉื•ืช ืœื‘ืงืจื™ื ื”ื™ื” ืงืฉื” ืžืื•ื“ ืœืœืžื•ื“ JavaScript Frameworks. ื›ืœ ืคืจื™ื™ืžื•ื•ืจืง ื”ื’ื™ืข ืขื ื™ื›ื•ืœื•ืช ืฉื•ื ื•ืช, ืื™ืœื•ืฆื™ื ืฉื•ื ื™ื, ื”ื‘ื˜ื—ื•ืช ืฉื•ื ื•ืช ื•ืžืชื ื•ืช ืฉื•ื ื•ืช ื•ืืคืฉืจ ื”ื™ื” ืœื‘ืœื•ืช ืฉืขื•ืช ืœืœืžื•ื“ ืื‘ืกื˜ืจืงืฆื™ื•ืช ืฉืื—ืจื™ ื—ื•ื“ืฉ ื›ื‘ืจ ืœื ื”ื™ื• ืจืœื•ื•ื ื˜ื™ื•ืช ื‘ื’ืœืœ ื™ื›ื•ืœืช ื—ื“ืฉื” ืฉื ื›ื ืกื” ืœื“ืคื“ืคืŸ. ืจืง ื›ืฉื“ืคื“ืคื ื™ื ื”ืคืกื™ืงื• ืœืจื•ืฅ ื’ื ื”ืคืจื™ื™ืžื•ื•ืจืงื™ื ื™ื›ืœื• ืœืžืฆื•ื ืฉืœื•ื•ื”. ืื ื™ ื—ื•ืฉื“ ืฉื‘ืขืชื™ื“ ื ืจืื” ืชื•ืคืขื” ื“ื•ืžื” ื’ื ืœืกืคืจื™ื•ืช ืคื™ืชื•ื— ื”ืกื•ื›ื ื™ื. ื‘ื™ื ืชื™ื™ื ื›ื“ืื™ ืœืงื—ืช ืื•ื•ื™ืจ ื›ื™ ื”ืฉื ื™ื ื”ื‘ืื•ืช ื™ื”ื™ื• ืžื˜ืœื˜ืœื•ืช.