ಏಜೆಂಟಿಕ್ ಕೋಡಿಂಗ್

Coding agents ಎಂದರೆ files ಓದುವುದು/ಬರೆಯುವುದು, web search, ಮತ್ತು shell commands ಅನ್ನು ಚಾಲನೆ ಮಾಡುವಂತಹ tools ಗೆ ಪ್ರವೇಶವಿರುವ conversational AI models. ಇವು IDE ಒಳಗೇ ಇರಬಹುದು ಅಥವಾ standalone command-line/GUI tools ರೂಪದಲ್ಲಿರಬಹುದು. Coding agents ಹೆಚ್ಚಿನ ಮಟ್ಟದಲ್ಲಿ autonomous ಮತ್ತು ಶಕ್ತಿಶಾಲಿ ಸಾಧನಗಳಾಗಿದ್ದು, ಬಹು ವಿಧದ ಬಳಕೆ ಸಂದರ್ಭಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ.

ಈ ಉಪನ್ಯಾಸವು Development Environment and Tools ಉಪನ್ಯಾಸದ AI-powered development ವಿಷಯದ ಮೇಲೆ ಮುಂದುವರೆಯುತ್ತದೆ. ತ್ವರಿತ demoಗಾಗಿ, AI-powered development ವಿಭಾಗದ ಉದಾಹರಣೆಯನ್ನು ಮುಂದುವರಿಸೋಣ:

from urllib.request import urlopen

def download_contents(url: str) -> str:
    with urlopen(url) as response:
        return response.read().decode('utf-8')

def extract(content: str) -> list[str]:
    import re
    pattern = r'\[.*?\]\((.*?)\)'
    return re.findall(pattern, content)

print(extract(download_contents("https://raw.githubusercontent.com/missing-semester/missing-semester/refs/heads/master/_2026/development-environment.md")))

ಈ ಕಾರ್ಯವನ್ನು coding agent ಗೆ prompt ಆಗಿ ಹೀಗೆ ನೀಡಬಹುದು:

Turn this into a proper command-line program, with argparse for argument parsing. Add type annotations, and make sure the program passes type checking.

Agent ಮೊದಲು file ಓದಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತದೆ, ನಂತರ ಅಗತ್ಯ edits ಮಾಡುತ್ತದೆ, ಕೊನೆಯಲ್ಲಿ type annotations ಸರಿಯೇ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಲು type checker ಅನ್ನು ಚಾಲನೆ ಮಾಡುತ್ತದೆ. type checking ವಿಫಲವಾಗುವ ತಪ್ಪು ಮಾಡಿದರೆ, ಸಾಮಾನ್ಯವಾಗಿ ಅದು iterate ಮಾಡುತ್ತದೆ. ಈ task ಸರಳವಾದುದರಿಂದ ಅದು ಸಂಭವಿಸುವ ಸಾಧ್ಯತೆ ಕಡಿಮೆ. Coding agents ಗೆ ಹಾನಿಕಾರಕವಾಗಬಹುದಾದ tools ಗೆ ಪ್ರವೇಶ ಇರುವುದರಿಂದ, default ಆಗಿ agent harnesses tool calls ಗೆ user confirmation ಕೇಳುತ್ತವೆ.

Coding agent ತಪ್ಪು ಮಾಡಿದರೆ - ಉದಾಹರಣೆಗೆ $PATH ನಲ್ಲಿ mypy binary ನೇರವಾಗಿ ಲಭ್ಯವಾಗಿದ್ದರೂ agent python -m mypy ಅನ್ನು ಪ್ರಯತ್ನಿಸಿದರೆ - ನೀವು text feedback ನೀಡಿ ಅದನ್ನು ಸರಿಯಾದ ದಾರಿಗೆ ತಿರುಗಿಸಬಹುದು.

Coding agents multi-turn interaction ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ. ಹಾಗಾಗಿ agent ಜೊತೆ ಹಿಂತಿರುಗಿ ಮಾತನಾಡುತ್ತಾ ಕೆಲಸವನ್ನು ಹಂತ ಹಂತವಾಗಿ ಮುಂದುವರಿಸಬಹುದು. Agent ತಪ್ಪು ದಿಕ್ಕಿನಲ್ಲಿ ಹೋಗುತ್ತಿದ್ದರೆ ಮಧ್ಯದಲ್ಲೇ interrupt ಕೂಡ ಮಾಡಬಹುದು. ಉಪಯುಕ್ತ mental model ಎಂದರೆ intern ಅನ್ನು ನಿರ್ವಹಿಸುವ manager: intern ಸೂಕ್ಷ್ಮ ಕೆಲಸ ಮಾಡುತ್ತಾನೆ, ಆದರೆ ಮಾರ್ಗದರ್ಶನ ಬೇಕಾಗುತ್ತದೆ, ಕೆಲವೊಮ್ಮೆ ತಪ್ಪು ಮಾಡುತ್ತಾನೆ ಮತ್ತು ತಿದ್ದುವಿಕೆ ಅಗತ್ಯವಾಗುತ್ತದೆ.

ಇನ್ನಷ್ಟು ಸ್ಪಷ್ಟ demoಗಾಗಿ, follow-up ಆಗಿ agent ಗೆ ಫಲಿತ script ಅನ್ನು run ಮಾಡಲು ಹೇಳಿ. outputs ನೋಡಿ, ಬಳಿಕ ಬದಲಾವಣೆ ಕೇಳಿ (ಉದಾ: absolute URLs ಮಾತ್ರ ಸೇರಿಸು ಎಂದು).

AI models ಮತ್ತು agents ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ

ಆಧುನಿಕ large language models (LLMs) ಗಳ ಒಳಾಂಗಣ ಕಾರ್ಯವಿಧಾನ ಮತ್ತು agent harnesses ಮೊದಲಾದ infrastructure ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ವಿವರಿಸುವುದು ಈ ಕೋರ್ಸ್ ವ್ಯಾಪ್ತಿಗೆ ಹೊರತಾಗಿದೆ. ಆದರೂ, ಈ cutting-edge ತಂತ್ರಜ್ಞಾನವನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬಳಸಲು ಮತ್ತು ಅದರ ಮಿತಿಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಕೆಲವು ಪ್ರಮುಖ ಕಲ್ಪನೆಗಳ high-level ತಿಳುವಳಿಕೆ ಉಪಯುಕ್ತ.

LLMs ಅನ್ನು prompt strings (inputs) ನೀಡಿದಾಗ completion strings (outputs) ಗಳ probability distribution ಅನ್ನು ಮಾದರಿಪಡಿಸುವ ವ್ಯವಸ್ಥೆಯಾಗಿ ನೋಡಬಹುದು. LLM inference (ಉದಾ: conversational chat app ಗೆ ನೀವು query ಕೊಟ್ಟಾಗ ನಡೆಯುವುದು) ಈ probability distribution ಇಂದ sample ಮಾಡುತ್ತದೆ. LLMs ಗೆ ಸ್ಥಿರ context window ಇರುತ್ತದೆ - input ಮತ್ತು output strings ನ ಗರಿಷ್ಠ ಒಟ್ಟು ಉದ್ದ.

Conversational chat ಮತ್ತು coding agents ಮೊದಲಾದ AI tools ಈ ಮೂಲ ಘಟಕದ ಮೇಲೆ ನಿರ್ಮಿಸಲ್ಪಟ್ಟಿವೆ. Multi-turn interactions ಗಾಗಿ, chat apps ಮತ್ತು agents turn markers ಬಳಸುತ್ತವೆ ಮತ್ತು ಪ್ರತಿಯೊಂದು ಹೊಸ user prompt ಗೆ ಸಂಪೂರ್ಣ conversation history ನ್ನೇ prompt string ಆಗಿ ಕಳುಹಿಸುತ್ತವೆ; ಅಂದರೆ ಪ್ರತಿ user prompt ಗೆ LLM inference ಒಮ್ಮೆ ನಡೆಯುತ್ತದೆ. Tool-calling agents ನಲ್ಲಿ, harness ಕೆಲವು LLM outputs ಅನ್ನು tool invoke requests ಆಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತದೆ; ನಂತರ tool call ಫಲಿತಾಂಶವನ್ನು prompt string ಭಾಗವಾಗಿ model ಗೆ ಹಿಂತಿರುಗಿಸುತ್ತದೆ (ಹೀಗಾಗಿ ಪ್ರತಿಯೊಂದು tool call/response ಗೆ LLM inference ಮತ್ತೆ ನಡೆಯುತ್ತದೆ). Tool-calling agents ನ ಮೂಲ ಕಲ್ಪನೆಗಳನ್ನು 200 lines of code ನಲ್ಲಿ implement ಮಾಡಬಹುದು.

Privacy

ಬಹುತೇಕ AI coding tools ತಮ್ಮ ಸಾಮಾನ್ಯ configurations ನಲ್ಲಿ ನಿಮ್ಮ data ಯ ದೊಡ್ಡ ಭಾಗವನ್ನು cloud ಗೆ ಕಳುಹಿಸುತ್ತವೆ. ಕೆಲವೊಮ್ಮೆ harness local ನಲ್ಲಿ ನಡೆಯುತ್ತದೆ ಆದರೆ LLM inference cloud ನಲ್ಲಿ ನಡೆಯುತ್ತದೆ. ಇನ್ನು ಕೆಲವೊಮ್ಮೆ software ನ ಇನ್ನಷ್ಟು ಭಾಗ cloud ನಲ್ಲೇ ನಡೆಯಬಹುದು (ಉದಾ: service provider ಗೆ ನಿಮ್ಮ ಸಂಪೂರ್ಣ repository ನ ಪ್ರತಿಯೇ ಸಿಗುವ ಮಟ್ಟಿಗೆ, ಜೊತೆಗೆ AI tool ಜೊತೆಗಿನ interactions ಕೂಡ).

Open-source AI coding tools ಮತ್ತು open-source LLMs ಉತ್ತಮ ಮಟ್ಟದಲ್ಲಿವೆ (proprietary models ಮಟ್ಟಕ್ಕೆ ಇನ್ನೂ ಸಂಪೂರ್ಣವಾಗಿ ಸಮಾನವಲ್ಲ). ಆದರೆ ಪ್ರಸ್ತುತ ಬಹುತೇಕ ಬಳಕೆದಾರರಿಗೆ hardware ಮಿತಿಗಳ ಕಾರಣ bleeding-edge open LLMs ಅನ್ನು local ನಲ್ಲಿ ನಡೆಸುವುದು ಪ್ರಾಯೋಗಿಕವಾಗಿಲ್ಲ.

ಬಳಕೆ ಸಂದರ್ಭಗಳು

Coding agents ವಿವಿಧ ರೀತಿಯ ಕಾರ್ಯಗಳಿಗೆ ಸಹಾಯಕ. ಕೆಲವು ಉದಾಹರಣೆಗಳು:

ಮುಂದುವರಿದ agents

ಇಲ್ಲಿ coding agents ನ ಕೆಲವು ಮುಂದುವರಿದ usage patterns ಮತ್ತು ಸಾಮರ್ಥ್ಯಗಳ ಸಂಕ್ಷಿಪ್ತ ಅವಲೋಕನ:

Prompts ಬರೆಯುವ ಅಗತ್ಯವಿರುವ ಮುಂದುವರಿದ features ಗಳಲ್ಲಿ (ಉದಾ: skills, subagents), LLMs ಅನ್ನು ಆರಂಭಿಕ draft ಗಾಗಿ ಬಳಸಬಹುದು. ಕೆಲವು coding agents ನಲ್ಲಿ ಇದಕ್ಕೆ built-in support ಇರುತ್ತದೆ. ಉದಾ: Claude Code ನಲ್ಲಿ ಚಿಕ್ಕ prompt ನಿಂದ subagent ರಚಿಸಬಹುದು (/agents invoke ಮಾಡಿ ಹೊಸ agent ರಚಿಸಿ). ಈ prompt ಪ್ರಯತ್ನಿಸಿ:

A Python code checking agent that uses `mypy` and `ruff` to type-check, lint, and format *check* any files that have been modified from the last git commit.

ನಂತರ top-level agent ಗೆ “use the code checker subagent” ಎಂಬ ಸಂದೇಶ ನೀಡಿ subagent ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ invoke ಮಾಡಬಹುದು. Python files ಬದಲಾಯಿಸಿದ ನಂತರ top-level agent ಸ್ವಯಂಚಾಲಿತವಾಗಿ subagent invoke ಮಾಡುವಂತೆ ಕೂಡ ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಮಾಡಬಹುದು.

ಗಮನಿಸಬೇಕಾದ ವಿಷಯಗಳು

AI tools ತಪ್ಪು ಮಾಡುತ್ತವೆ. ಇವು LLMs ಮೇಲೆ ನಿರ್ಮಿತವಾಗಿವೆ; LLMs ಅಂದರೆ probabilistic next-token-prediction models ಮಾತ್ರ. ಇವು ಮಾನವರಂತೆ “intelligent” ಅಲ್ಲ. AI output ಅನ್ನು correctness ಮತ್ತು security bugs ದೃಷ್ಟಿಯಿಂದ ಪರಿಶೀಲಿಸಿ. ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ code verify ಮಾಡುವುದು ಅದನ್ನು ಕೈಯಿಂದ ಬರೆಯುವುದಕ್ಕಿಂತ ಕಷ್ಟವಾಗಬಹುದು. ಅತ್ಯಂತ ಪ್ರಮುಖ code ಗಾಗಿ ಕೈಯಿಂದ ಬರೆಯುವುದನ್ನು ಪರಿಗಣಿಸಿ. AI ಕೆಲವೊಮ್ಮೆ rabbit hole ಗೆ ಹೋಗಬಹುದು ಮತ್ತು ತಪ್ಪು ದಾರಿಗೆಳೆಯುವ ಉತ್ತರ ಕೊಡಬಹುದು - debugging spiral ಗಳ ಬಗ್ಗೆ ಎಚ್ಚರವಾಗಿರಿ. AI ಅನ್ನು crutch ಆಗಿ ಬಳಸಬೇಡಿ; ಅತಿಯಾದ ಅವಲಂಬನೆ ಅಥವಾ ಮೇಲ್ಮೈ ತಿಳುವಳಿಕೆ ಅಪಾಯಕಾರಿ. ಇನ್ನೂ ಅನೇಕ programming tasks ಗಳನ್ನು AI ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. Computational thinking ಇನ್ನೂ ಅತ್ಯಂತ ಮೌಲ್ಯಯುತ.

ಶಿಫಾರಸು ಮಾಡಿದ software

ಹಲವಾರು IDEs / AI coding extensions ಗಳಲ್ಲಿ coding agents ಒಳಗೊಂಡಿರುತ್ತವೆ (development environment lecture ಶಿಫಾರಸುಗಳನ್ನು ನೋಡಿ). ಇತರೆ ಜನಪ್ರಿಯ coding agents: Anthropic ನ Claude Code, OpenAI ನ Codex, ಮತ್ತು opencode ಮೊದಲಾದ open-source agents.

ವ್ಯಾಯಾಮಗಳು

  1. ಒಂದೇ programming task ಅನ್ನು ನಾಲ್ಕು ಬಾರಿ ಮಾಡಿ - ಕೈಯಿಂದ coding, AI autocomplete, inline chat, ಮತ್ತು agents ಬಳಸಿ - ಅನುಭವವನ್ನು ಹೋಲಿಸಿ. ಉತ್ತಮ ಆಯ್ಕೆ ಎಂದರೆ ನೀವು ಈಗಾಗಲೇ ಕೆಲಸ ಮಾಡುತ್ತಿರುವ project ನ ಒಂದು ಸಣ್ಣ feature. ಇನ್ನಷ್ಟು ಕಲ್ಪನೆಗಳಿಗಾಗಿ GitHub open-source projects ನಲ್ಲಿ “good first issue” ಶೈಲಿಯ tasks, ಅಥವಾ Advent of Code / LeetCode ಸಮಸ್ಯೆಗಳು ಪ್ರಯತ್ನಿಸಬಹುದು.
  2. ಅಪರಿಚಿತ codebase ಅನ್ವೇಷಿಸಲು AI coding agent ಬಳಸಿ. ಇದು ನೀವು ನಿಜವಾಗಿಯೂ ಕಾಳಜಿ ಇರುವ project ನಲ್ಲಿ bug debug ಮಾಡಬೇಕು ಅಥವಾ ಹೊಸ feature ಸೇರಿಸಬೇಕು ಎಂಬ ಸಂದರ್ಭದಲ್ಲೇ ಉತ್ತಮ. ಅಂತಹ project ನೆನಪಿಗೆ ಬರದಿದ್ದರೆ, opencode agent ನಲ್ಲಿ security-ಸಂಬಂಧಿತ features ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಎಂದು AI agent ಮೂಲಕ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ.
  3. ಸಣ್ಣ app ಅನ್ನು ಆರಂಭದಿಂದ vibe code ಮಾಡಿ. ಕೈಯಿಂದ ಒಂದು ಸಾಲು code ಕೂಡ ಬರೆಯಬೇಡಿ.
  4. ನಿಮ್ಮ ಇಷ್ಟದ coding agent ಗಾಗಿ AGENTS.md (ಅಥವಾ ಅದರ ಸಮಾನ file, ಉದಾ: CLAUDE.md) ರಚಿಸಿ ಮತ್ತು ಪರೀಕ್ಷಿಸಿ; ಜೊತೆಗೆ reusable prompt (ಉದಾ: custom slash command in Claude Code ಅಥವಾ custom prompts in Codex), skill (ಉದಾ: skill in Claude Code ಅಥವಾ skill in Codex), ಮತ್ತು subagent (ಉದಾ: subagent in Claude Code) ಪ್ರಯತ್ನಿಸಿ. ಯಾವ ಸಂದರ್ಭದಲ್ಲೇನು ಬಳಸಬೇಕು ಎಂಬುದನ್ನು ಚಿಂತಿಸಿ. ನಿಮ್ಮ ಆಯ್ಕೆ coding agent ಕೆಲವು features ಬೆಂಬಲಿಸದೇ ಇರಬಹುದು; ಅಂಥದ್ದಾದರೆ ಅವನ್ನು ಬಿಟ್ಟುಬಿಡಿ ಅಥವಾ ಬೆಂಬಲವಿರುವ ಬೇರೆ agent ಪ್ರಯತ್ನಿಸಿ.
  5. Code Quality lecture ನ Markdown bullet points regex exercise ನಲ್ಲಿ ಇರುವಂತೆಯೇ coding agent ಬಳಸಿ ಒಂದೇ ಗುರಿ ಸಾಧಿಸಿ. ಅದು task ಅನ್ನು direct file edits ಮೂಲಕ ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆಯೇ? ಆ ರೀತಿಯಲ್ಲಿ agent ನೇರವಾಗಿ file edit ಮಾಡುವುದರ ದೋಷಗಳು ಮತ್ತು ಮಿತಿಗಳು ಯಾವುವು? Direct file edits ಮಾಡದೆ task ಮುಗಿಸುವಂತೆ prompt ಹೇಗೆ ನೀಡಬೇಕು ಎಂದು ಕಂಡುಹಿಡಿಯಿರಿ. ಸೂಚನೆ: first lecture ನಲ್ಲಿ ಹೇಳಿದ command-line tools ಗಳಲ್ಲಿ ಒಂದನ್ನು ಬಳಸುವಂತೆ ಕೇಳಿ.
  6. ಹೆಚ್ಚಿನ coding agents ಗಳಲ್ಲಿ “yolo mode” ಇರುವ ಒಂದು ರೂಪ ಇರುತ್ತದೆ (ಉದಾ: Claude Code ನಲ್ಲಿ --dangerously-skip-permissions). ಈ mode ಅನ್ನು ನೇರವಾಗಿ ಬಳಸುವುದು ಸುರಕ್ಷಿತವಲ್ಲ. ಆದರೆ virtual machine ಅಥವಾ container ಮೊದಲಾದ isolated environment ನಲ್ಲಿ coding agent ನಡೆಸಿ autonomous operation ಸಕ್ರಿಯಗೊಳಿಸುವುದು ಒಪ್ಪಿಕೊಳ್ಳಬಹುದಾದ ಮಾರ್ಗವಾಗಬಹುದು. ಈ setup ಅನ್ನು ನಿಮ್ಮ ಯಂತ್ರದಲ್ಲಿ ಚಾಲನೆ ಮಾಡಿ. Claude Code devcontainers ಅಥವಾ Docker Sandboxes / Claude Code ಮೊದಲಾದ docs ಸಹಾಯಕವಾಗಬಹುದು. ಇದನ್ನು ಹೊಂದಿಸಲು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ವಿಧಾನಗಳಿವೆ.

Edit this page.

Licensed under CC BY-NC-SA.