ደረጃ በደረጃ፡ በ<Claude Code> የዩቲዩብ ምርምር ወኪል መገንባት
ከዚህ በፊት ዩቲዩብን በመጎብኘት ከሰዓት በኋላ ያሳለፉ ከሆነ፣ የትኞቹ ቪዲዮዎች እንደሚያስቀምጡ ረስተው ከሆነ፣ ብቻችሁን አይደላችሁም። አሁን ምርጥ ቪዲዮዎችን ማግኘት፣ ማጠቃለያዎችን ማውጣት፣ ቁልፍ ጥቅሶችን መሳብ፣ የጊዜ ማህተም ግንዛቤዎችን እና በፍላጎት ምንጮችን መመለስ የሚችል ደከመኝ ሰለቸኝ የማይል። ረዳትን አስቡት—በፍጥነት። የዩቲዩብ ምርምር ወኪል በትክክል ሊያደርገው የሚችለው ይህንኑ ነው። በዚህ ደረጃ-በደረጃ መመሪያ፣ ከጩኸት ይልቅ ምልክት ለሚፈልጉ ፈጣሪዎች፣ ተንታኞች፣ ተማሪዎች እና ትጉህ ተማሪዎች ተብሎ የተነደፈ ተግባራዊ የዩቲዩብ ምርምር ወኪል በ<Claude Code> እንገነባለን።
ተግባራዊ እና ቀጥተኛ መንገድ እንወስዳለን፡ አርክቴክቸር፣ ኮድ፣ ጥያቄዎች እና መመሪያዎች። በመንገድ ላይ፣ በኋላ ላይ ሊለውጧቸው የሚችሉ አስተያየቶችን እንሰጣለን። በመጨረሻ፣ ዩቲዩብን መፈለግ፣ ግልባጮችን መሰብሰብ፣ በብዙ ቪዲዮዎች ላይ ማመዛዘን እና ንጹህ የምርምር ማጠቃለያዎችን ማዘጋጀት የሚችል የስራ ወኪል ይኖርዎታል።
ምን እየገነባን ነው (እና ለምን አስፈላጊ ነው)
- ውጤቶችን በተዛማጅነት/ተሳትፎ ደረጃ ይስጡ
- ግልባጮችን ያውጡ (ራስ-ሰር መግለጫዎች ወይም የሶስተኛ ወገን)
- ባለብዙ ቪዲዮ ግንዛቤዎችን ለማዋሃድ <Claude Code> ይጠቀሙ
- የተዋቀሩ ማስታወሻዎችን ይፍጠሩ፡ ማጠቃለያ፣ የይገባኛል ጥያቄዎች፣ የጊዜ ማህተሞች፣ ጥቅሶች እና ዋቢዎች
- ዋና ቁልፍ ቃል፡ "በ<Claude Code> የዩቲዩብ ምርምር ወኪል መገንባት"
- ቅርጸት፡ በተግባር የሚሰራ ኮድ እና ጥያቄዎች ያሉት ደረጃ-በ-ደረጃ አጋዥ ስልጠና
- ውጤቶች፡ ለፕሮግራም አጠቃቀም የማርክዳውን የምርምር ማጠቃለያ + JSON
ለምን አስፈላጊ ነው፡ ዩቲዩብ ትልቁ የንግግሮች፣ ትምህርቶች፣ ማሳያዎች እና ክርክሮች የህዝብ እውቀት መሰረት ነው። ግን ጫጫታ የበዛበት ነው። በ<Claude Code> የዩቲዩብ ምርምር ወኪል መገንባት ጥቅም ይሰጥዎታል፡ በደርዘን የሚቆጠሩ ቪዲዮዎችን በደቂቃዎች ውስጥ ማዋሃድ ይችላሉ፣ በሰዓታት ውስጥ አይደለም።
በጨረፍታ የአርክቴክቸር እይታ
የመጀመሪያውን እትም ቀላል እና ጠንካራ እናደርገዋለን።
- ግብዓቶች፡ የምርምር መጠይቅ (ለምሳሌ፣ "የ<LLM> ወኪል አርክቴክቸሮች 2025")፣ አማራጭ ገደቦች (የቀን ክልል፣ ቻናል፣ የቆይታ ጊዜ)
- የዩቲዩብ ፍለጋ፡ የዩቲዩብ ዳታ API v3 (ወይም <SerpAPI> ምትኬ)
- ግልባጮች፡ የዩቲዩብ ግልባጭ API፤ በማይገኝበት ጊዜ ወደ <ASR> ምትኬ (ለምሳሌ፣ <Whisper>)
- መክፈል፡ ዓረፍተ ነገርን የሚያውቅ ክፍል (በግምት 800–1,200 ቶከኖች)
- ማካተት፡ አካባቢያዊ ወይም የተስተናገደ የማካተት ሞዴል ተጠቀም (ለምሳሌ፣
text-embedding-3-large, nomic-embed-text, ወይም bge-large)
- የቬክተር መደብር፡ ለአካባቢው
FAISS ለፍጥነት፤ ወደ Pinecone, Weaviate, ወይም Qdrant መቀየር ይቻላል
- ምክንያታዊነት፡ በቁጥጥር ስር ባለው ዑደት ውስጥ ቅንጅት፣ የመሳሪያ አጠቃቀም፣ ውህደት እና የኮድ አፈፃፀም ለማድረግ <Claude Code> ይጠቀሙ
- ውጤቶች፡ የዋቢዎች፣ የጊዜ ማህተሞች እና ነጥቦች ያሉት የማርክዳውን ሪፖርት + JSON ማውጫ
የውሂብ ፍሰት፡ መጠይቅ → ፍለጋ → የሜታዳታ ሰርስሮ ማውጣት → ግልባጭ → ክፍል → አስገባ → ከፍተኛ-K ሰርስሮ ማውጣት → <Claude Code> ውህደት → ሪፖርት።
ቅድመ ሁኔታዎች እና ማዋቀር
- የ<API> ቁልፎች፡
YOUTUBE_API_KEY, ANTHROPIC_API_KEY (ለ<Claude Code>)
- አማራጭ፡
OPENAI_API_KEY ወይም የአካባቢ ማስገቢያዎች
google-api-python-client, youtube-transcript-api
faiss-cpu, numpy, pandas, tiktoken (ወይም sentencepiece)
requests, pydantic, tenacity
pip install google-api-python-client youtube-transcript-api faiss-cpu numpy pandas requests pydantic tenacity anthropic tiktoken
የአካባቢ ተለዋዋጮች:
export YOUTUBE_API_KEY=YOUR_YT_KEY
export ANTHROPIC_API_KEY=YOUR_ANTHROPIC_KEY
ደረጃ 1፡ ማጣሪያዎች ያለው የዩቲዩብ ፍለጋ
ዩቲዩብን እንፈልጋለን እና የተዋቀረ ሜታዳታ እንመልሳለን፡ ርዕስ፣ ቻናል፣ የታተመበት ቀን፣ የቆይታ ጊዜ፣ እይታዎች (ካለ) እና videoId።
# file: yt_search.py
from googleapiclient.discovery import build
import os
YOUTUBE_API_KEY = os.environ — channel, date\n\n"
"---\n"
"JSON schema: {\"claims\":[{\"claim\":str,\"support\":[{\"video_id\":str,\"start\":float,\"end\":float}]}]}\n"
)
def call_claude(goal: str, passages: list[dict]):
passages_str = "\n\n".join(
f"[rank {p['rank']} | score {p['score']:.3f}] (vID={p.get('video_id','?')}, {p.get('start',0):.1f}-{p.get('end',0):.1f})\n{p['text']}"
for p in passages
)
msg = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=1800,
temperature=0.2,
system=SYSTEM_PROMPT,
messages=[
{"role": "user", "content": USER_TEMPLATE.format(goal=goal, passages=passages_str)}
])
return msg.content[0].text
በ<Claude Code> የዩቲዩብ ምርምር ወኪልን በሚገነቡበት ጊዜ የጥያቄ ጠቃሚ ምክሮች፡
- በሰው ሊነበብ በሚችል እና በማሽን ሊነበብ በሚችል ቅርጸቶች የተዋቀሩ ውጤቶችን ይጠይቁ
- የጊዜ ማህተም የተደረገባቸው ዋቢዎችን ያስገድዱ
- የእርግጠኝነት ይፋ ማድረጎችን እና ቅራኔዎችን ያበረታቱ
ደረጃ 6፡ ሁሉንም በአንድ ላይ ማስቀመጥ
ጥያቄ → ፍለጋ → ግልባጮች → ክፍሎች → ማስገቢያዎች → መልሶ ማግኘት → ውህደትን እናገናኝ።
# file: run_agent.py
from yt_search import search_youtube
from transcripts import fetch_transcript
from chunking import transcript_to_docs
from embeddings import VectorStore
from orchestrator import call_claude
from datetime import datetime
def build_corpus(query: str, max_videos=8):
results = search_youtube(query, max_results=max_videos)
corpus_docs = []
for r in results:
tx = fetch_transcript(r["video_id"]) or []
if not tx:
continue
docs = transcript_to_docs(tx)
for d in docs:
d.update({
"video_id": r["video_id"],
"title": r["title"],
"channel": r["channel"],
"url": r["url"],
})
corpus_docs.extend(docs)
return corpus_docs
def research(query: str, k=12):
corpus = build_corpus(query)
if not corpus:
return "No transcripts available."
vs = VectorStore
vs.add(corpus)
passages = vs.search(query, k=k)
md = call_claude(query, passages)
timestamp = datetime.utcnow.isoformat
return f"<!-- generated {timestamp} UTC -->\n\n" + md
if __name__ == "__main__":
print(research("LLM agents for YouTube research"))
ይህ ከመነሻው የ<Claude Code> የዩቲዩብ ምርምር ወኪል ስሪት ባለብዙ ቪዲዮ ግንዛቤዎችን ከዋቢዎች ጋር ይፈልጋል፣ መልሶ ያገኛል እና ያዋህዳል። ለማምረት ዝግጁ ለማድረግ ማስገቢያዎቹን ያሻሽሉ እና መሸጎጫ ያክሉ።
ታላቅ ለማድረግ ሰባት ማሻሻያዎች
- ከፍተኛ ጥራት ያላቸውን ማስገቢያዎች ይቀይሩ እና የ<BM25> ቁልፍ ቃል ፍለጋን ያክሉ። ድቅል በልዩ ቃላት ላይ የበለጠ ማስታወስ እና ረቂቅ ርዕሰ ጉዳዮች ላይ የተሻለ ትክክለኛነትን ይሰጣል።
- ለበለጠ የበለጸገ ሜታዳታ መሳሪያዎችን ያስፋፉ
- አስተያየቶችን፣ የመውደድ/የማይወደድ ጥምርታ እና የሰርጥ ስልጣንን ይጎትቱ። ለከፍተኛ 100 እጩዎች እንደገና ደረጃ ሰጪ (መስቀል-ኢንኮደር) ያክሉ።
- የምርምር እቅድ ለማቅረብ <Claude Code> ይጠቀሙ፡ ንዑስ-ጥያቄዎች፣ መላምቶች እና የሽፋን ምርመራዎች። የሽፋን ገደቦች እስኪሟሉ ድረስ በተደጋጋሚ ያስፈጽሙ።
- ለእያንዳንዱ የይገባኛል ጥያቄ ደጋፊ እና የሚቃረኑ ቁርጥራጮችን ይመዝግቡ። ሁለቱንም በሪፖርቶች ውስጥ ያቅርቡ; የእርግጠኝነት ውጤቶችን ያክሉ።
- በንዑስ ርዕሶች ወይም በ<Whisper> የቃል ጊዜዎች አማካኝነት የትዕይንት ማወቂያን ይጠቀሙ። የአውድ መሟሟትን ለማስወገድ ከአለምአቀፍ ውህደት በፊት በእያንዳንዱ ክፍል ላይ ጠቅለል አድርገው ያቅርቡ።
- በጥያቄ መሠረት ግልባጮችን፣ ማስገቢያዎችን እና ሪፖርቶችን ያከማቹ። ተጠቃሚዎች ማጣሪያዎችን ሲያስተካክሉ እንደገና ይጠቀሙ። በቪዲዮ መታወቂያ ማባዛትን ያክሉ።
- ቅርጸቶችን እና አቅርቦትን ወደ ውጭ መላክ
- ማርክዳውን፣ ፒዲኤፍ እና ጄሰንን ወደ ውጭ ይላኩ። በኢሜይል ወይም በ<Slack> ያቅርቡ። የጊዜ ማህተሞችን እንደ ጠቅ ሊደረጉ የሚችሉ
?t=mmss አገናኞች ያድርጉ።
ሊጠቀሙባቸው የሚችሉ ጥያቄዎች
በ<Claude Code> የዩቲዩብ ምርምር ወኪልን በሚገነቡበት ጊዜ እነዚህን አብነቶች ይጠቀሙ።
ስርዓት፡ እርስዎ ጥንቁቅ የምርምር ወኪል ነዎት። በብዙ የዩቲዩብ ግልባጮች ላይ ያዋህዱ። በ[vID @ mm:ss] በመስመር ላይ ይጠቅሱ፣ እና ዩአርኤሎች ያሉት የምንጮች ክፍል ያካትቱ። የማርክዳውን ማጠቃለያ እና የይገባኛል ጥያቄዎች የጊዜ ማህተም የተደገፈ JSON payload ይመልሱ።
ተጠቃሚ፡ የምርምር ግብ፡ {topic}
ገደቦች፡ በ{audience or scope} ላይ ያተኩሩ; በ{date range} ውስጥ ምንጮችን ይምረጡ; አለመግባባቶችን ያካትቱ።
እጩ ምንባቦች (ደረጃ የተሰጣቸው)፡
{retrieved_passages}
ውጤት፡ ማጠቃለያ → ቁልፍ ግንዛቤዎች (ነጥቦች) → ትኩረት የሚስቡ ጥቅሶች (ከጊዜ ማህተሞች ጋር) → ቅራኔዎች እና ክፍተቶች → ምንጮች። ከዚያ JSON {"claims": ...}
የጥበቃ መስመሮች እና ስነምግባር
- የፈጣሪ መብቶችን ያክብሩ፡ ወደ መጀመሪያዎቹ ቪዲዮዎች ያገናኙ እና ትላልቅ የተጻፉ ግልባጮችን ከማተም ይቆጠቡ።
- ግልጽ ይሁኑ፡ የይገባኛል ጥያቄዎች ከየት እንደመጡ የጊዜ ማህተሞችን እና የቪዲዮ መታወቂያዎችን በመጠቀም ያሳዩ።
- ከመጠን በላይ ማጠቃለልን ያስወግዱ፡ ልዩነትን ይጠብቁ; መግለጫ ጽሑፎች በራስ-ሰር የተፈጠሩ እና ምናልባትም ጫጫታ ያላቸው ሲሆኑ ምልክት ያድርጉ።
- ስሜታዊ የሆኑ ርዕሶችን በጥንቃቄ ይያዙ፡ እርግጠኛ አለመሆንን ያድምቁ እና የተለያዩ ምንጮችን ይፈልጉ።
መላ መፈለግ፡ የተለመዱ ችግሮች እና ጥገናዎች
- ወደ <Whisper> ምትኬ; የተለያዩ ቋንቋዎችን ይሞክሩ; ቪዲዮው በክልል የታገደ መሆኑን ያረጋግጡ።
- ማስገቢያዎችን ያሻሽሉ; <BM25> ያክሉ; የክፍል መደራረብን ይጨምሩ; ከፍተኛ-K መለኪያዎችን ያስተካክሉ።
- ጥብቅ የዋቢ መርሃግብር ያስገድዱ; ያልተደገፉ የይገባኛል ጥያቄዎችን ይቀጡ; በተገኙ ክፍሎች ውስጥ ትክክለኛ የጊዜ ማህተሞች መኖራቸውን ይጠይቁ።
- በከፍተኛ ሁኔታ መሸጎጫ;
max_results ይቀንሱ; የቡድን ጥያቄዎች; ከtenacity ጋር ወደ ኋላ መመለስን ያክሉ።
- በእያንዳንዱ ክፍል ላይ ጠቅለል አድርገው ያቅርቡ; ከፍተኛ ቶከኖችን ይገድቡ; ግልጽ ንድፍ ያላቸው የእቅድ ጥያቄዎችን ይጠቀሙ።
የጥራት መለኪያ
- ከትክክለኛ ስብስብ ጋር ሲነጻጸር የተገኙ ክፍሎች ትክክለኛነት@K
- ታማኝነት መጠን፡ የጊዜ ማህተም ድጋፍ ያላቸው የይገባኛል ጥያቄዎች መጠን
- ሽፋን፡ የተጠቀሱ ልዩ ተዛማጅ ቪዲዮዎች ብዛት
- Latency: ከጥያቄ እስከ ሪፖርት ያለው ጊዜ
ምሳሌ፡ "የቬክተር ዳታቤዞች ተብራርተዋል"ን መመርመር
- ጥያቄ፡ "ለገንቢዎች 2025 የቬክተር ዳታቤዞች ተብራርተዋል"
- ማጣሪያዎች፡ ከ2023 በኋላ ቪዲዮዎች፣ የቆይታ ጊዜ 6–30 ደቂቃዎች
- ውጤት፡ ወኪሉ 6 ቪዲዮዎችን ይጠቅሳል፣ የ<HNSW> vs <IVF-PQ> ጥቅሞችን እና ጉዳቶችን ያጎላል፣ ወጪ/ማስታወስን ይወያያል እና ወደ መለኪያዎች ያገናኛል። የአለመጣጣም ክፍል የሻጭ የይገባኛል ጥያቄዎችን ከክፍት ምንጭ ውጤቶች ጋር ያወዳድራል።
በነገራችን ላይ፡ ይህንኑ በስራ ፍሰትዎ ውስጥ በራስ ሰር ማድረግ
በሰነዶች እና በኮድ ላይ የሚሰሩ ከሆነ፣ የመጨረሻውን ምዕራፍ በራስ ሰር ማድረግ ተገቢ ነው። አንድ ትንሽ <CLI> የምሽት ጥያቄዎችን ማስኬድ እና የማርክዳውን ማጠቃለያዎችን ወደ እውቀት መሰረትዎ መጣል ይችላል። እንዲሁም ለስፕሪንት ምርምር ወደ ችግር አብነቶች ሽቦ ማድረግ ይችላሉ።
ልብ ሊባል የሚገባው፡ የስራ ፍሰትዎ አስቀድሞ በአሳሽ የጎን አሞሌ ወይም በ<AI> ረዳት ውስጥ የሚኖር ከሆነ፣ እንደ Sider.AI ያሉ መሳሪያዎች የምርምር ዙርን ማቀላጠፍ ይችላሉ—አንድ ርዕስ ይምረጡ፣ ፍለጋ ያሂዱ፣ ግልባጮችን ይቅዱ እና በ<Claude> የተጎላበተ ማጠቃለያ በሚሰሩበት ቦታው ላይ ይፍጠሩ። ይህ አውድ መቀያየርን መቆጠብ እና በ<Claude Code> የዩቲዩብ ምርምር ወኪል መገንባትን ለቡድኖች የበለጠ ተግባራዊ ያደርገዋል። ቁልፍ መውሰጃዎች
- በ<Claude Code> የዩቲዩብ ምርምር ወኪልን መገንባት ቪዲዮዎችን ወደ ተግባር ሊለወጡ የሚችሉ ማጠቃለያዎች ለመቀየር ከፍተኛ ጥቅም የሚሰጥ መንገድ ነው።
- ትንሹ ቁልል፡ የዩቲዩብ <API> + ግልባጮች + ክፍሎች + ማስገቢያዎች + <FAISS> + <Claude> ውህደት።
- የማሻሻያ መንገዶች፡ ድቅል ፍለጋ፣ እንደገና ደረጃ መስጠት፣ የእቅድ ዙሮች እና ጥብቅ የዋቢ ክትትል።
- በቀላል ይጀምሩ፣ ታማኝነትን ይለኩ እና ወደ አስተማማኝነት ይድገሙ።
ቀጣይ እርምጃዎች
- እውነተኛ የማስገቢያ ሞዴል እና ድቅል መልሶ ማግኘትን ይተግብሩ
- እንደገና ደረጃ መስጠት እርምጃ እና የጥራት መለኪያዎችን ያክሉ
- ርዕሶችን በየሳምንቱ ለማደስ የታቀደ ስራ ይፍጠሩ
- እንደ <CLI> እና ቀላል ክብደት ያለው የድር <UI> ያሽጉ
በተደጋጋሚ የሚጠየቁ ጥያቄዎች
Q1:በ<Claude Code> የዩቲዩብ ምርምር ወኪልን እንዴት መገንባት እጀምራለሁ?
በዩቲዩብ ፍለጋ ይጀምሩ፣ ግልባጮችን ያግኙ፣ ይዘትን ይከፋፍሉ፣ ወደ ቬክተር መደብር ያስገቡ እና ውጤቶችን ለማዋሃድ <Claude Code> ይጠቀሙ። ከላይ ያለው መመሪያ የሚሰራ ቧንቧ ለመሰብሰብ ደረጃ በደረጃ ኮድ ያቀርባል።
Q2:ለዩቲዩብ ምርምር ወኪል የትኞቹ ቤተ-መጻሕፍት የተሻሉ ናቸው?
ለፍለጋ የዩቲዩብ ዳታ <API>፣ ለመግለጫ ጽሑፎች youtube-transcript-api፣ ለቬክተር ፍለጋ <FAISS> እና <Claude Code> ለመጥራት የ<Anthropic SDK> ይጠቀሙ። ማስገቢያዎችን በ<OpenAI>፣ <Nomic> ወይም <BGE> መቀየር ይችላሉ።
Q3:ትክክለኛ ዋቢዎችን እና የጊዜ ማህተሞችን እንዴት ማረጋገጥ እችላለሁ?
በመከፋፈል ጊዜ የመነሻ/የመጨረሻ የጊዜ ማህተሞችን ያስቀምጡ እና <Claude Code> [video_id @ mm:ss] እንዲጠቅስ ይጠይቁ። ከመታተምዎ በፊት የተጠቀሱት የጊዜ ማህተሞች በተገኙ ክፍሎች ውስጥ መኖራቸውን ያረጋግጡ።
Q4:ይህን ወኪል ለግል ወይም ያልተዘረዘሩ ቪዲዮዎች መጠቀም እችላለሁ?
አዎ፣ መዳረሻ ካለዎት እና ግልባጮችን ማግኘት ወይም የአካባቢ <ASR> (ለምሳሌ፣ <Whisper>) ማስኬድ ይችላሉ። ሁልጊዜ ፈቃዶችን ያክብሩ እና የቅጂ መብት የተጠበቀ ይዘትን ከማሰራጨት ይቆጠቡ።
Q5:ይህን የዩቲዩብ ምርምር ወኪል ለቡድኖች እንዴት ማስፋት እችላለሁ?
መሸጎጫ፣ የጋራ ቬክተር መደብር፣ የስራ ወረፋዎች እና የታቀዱ ሩጫዎችን ያክሉ። ከ<Slack> ወይም ዊኪ ጋር ያዋህዱ፣ እና እንደ <Sider.AI> ያለ በአሳሽ ላይ የተመሰረተ ረዳትን የምርምር የስራ ፍሰቶችን ለማቀላጠፍ ያስቡበት።