2026年現在、AI・LLMの活用はエンジニアの必須スキルとなっています。ChatGPT API・Claude API・Gemini APIを使いこなすことで、開発速度が3〜10倍向上するケースも珍しくありません。本記事では、実際のAPIコードとともに、ビジネスで使えるLLM活用法を徹底解説します。
主要LLMの比較(2026年版)
| モデル | 提供元 | 強み | API料金(入力/1Mトークン) |
|---|---|---|---|
| GPT-4o | OpenAI | バランス・マルチモーダル | $2.50〜$5.00 |
| Claude 4 | Anthropic | 長文・コード・安全性 | $3.00〜$15.00 |
| Gemini 2.5 Pro | 推論・コンテキスト長 | $1.25〜$2.50 | |
| Llama 4 | Meta | オープンソース・カスタマイズ | 無料(セルフホスト) |
OpenAI APIの実践活用
from openai import OpenAI
from typing import Optional
import json
client = OpenAI(api_key="your-api-key")
# 基本的なチャット
def chat(prompt: str, system: str = "You are a helpful assistant.") -> str:
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": system},
{"role": "user", "content": prompt}
],
temperature=0.7,
max_tokens=2000,
)
return response.choices[0].message.content
# 構造化出力(JSON Mode)
def extract_info(text: str) -> dict:
response = client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": f"以下のテキストからエンジニア情報を抽出してJSON形式で返してください: {text}"
}],
response_format={"type": "json_object"}
)
return json.loads(response.choices[0].message.content)
# ストリーミング(長いレスポンスを逐次表示)
def stream_chat(prompt: str):
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}],
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="", flush=True)
# Function Calling(外部ツール連携)
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "指定した都市の天気を取得する",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "都市名"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["city"]
}
}
}]
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "東京の天気は?"}],
tools=tools,
tool_choice="auto"
)
RAG(検索拡張生成)の実装
from openai import OpenAI
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.vectorstores import Chroma
from langchain.embeddings import OpenAIEmbeddings
from langchain.document_loaders import PyPDFLoader
# 1. ドキュメント読み込み・分割
loader = PyPDFLoader("company_manual.pdf")
documents = loader.load()
splitter = RecursiveCharacterTextSplitter(
chunk_size=1000,
chunk_overlap=200,
length_function=len,
)
chunks = splitter.split_documents(documents)
# 2. ベクトルDB構築
embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
vectorstore = Chroma.from_documents(
chunks,
embeddings,
persist_directory="./chroma_db"
)
# 3. 検索 + 生成
def rag_query(question: str, k: int = 3) -> str:
# 関連ドキュメントを検索
docs = vectorstore.similarity_search(question, k=k)
context = "
".join([doc.page_content for doc in docs])
# LLMで回答生成
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "以下のコンテキストのみを使って質問に答えてください。"},
{"role": "user", "content": f"コンテキスト:
{context}
質問: {question}"}
]
)
return response.choices[0].message.content
# 使用例
answer = rag_query("有給休暇の取得手続きは?")
print(answer)
AI活用で業務効率化した実例
- コードレビュー自動化:PRのdiffをAIに送信してレビューコメントを自動生成
- テストコード生成:関数を渡してテストケースを自動生成(カバレッジ80%以上達成)
- ドキュメント生成:コードから自動でREADME・APIドキュメントを生成
- バグ診断:エラーログとコードをAIに渡して原因と修正案を提示
- SQL生成:自然言語でデータ分析の要件を伝えてSQLを自動生成
まとめ:AI時代のエンジニアに求められるスキル
LLMはエンジニアの仕事を奪うのではなく、エンジニアの生産性を劇的に向上させるツールです。APIを使いこなし、RAGやFine-tuningを理解し、プロンプトエンジニアリングを身につけたエンジニアは、2026年の市場で最も高い需要を誇ります。今すぐOpenAI APIの無料枠($5分)から試してみましょう。