8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

社会科学研究者のためのClaude Code: ベストプラクティスの探究

8
Last updated at Posted at 2026-03-25

はじめに

本記事では、自分の理解を深めるためにも、現時点で私がどのようにClaude Codeを用いて社会科学の研究活動を進めているか共有したいと思います。

これによって、研究の煩雑な部分を効率化してプロセス全体を効率化することを目指しています(データの前処理や文書作成など)。

なお、Claude CodeをはじめとするAIの展開は日進月歩であり、本記事も数ヶ月後にはobsoleteになっているかもしれませんが、2026年3月時点でのユースケースの1つとしてごゆるりとご笑覧いただければ幸いです。

Claude Codeのボトムライン

この記事を見ていただいているということは、Claude Codeに興味がある方だろうということで、ここでは「そもそもClaude Codeって何?」みたいな説明はスキップします。

とはいえ、いくつか前提となる情報は書いておいた方がわかりやすいかなぁと思いましたので、かいつまんで書いてみたいと思います。skills/rules/MCPなどは知っている!という方は次のセクションまでスキップしていただいて全く問題ありません!

公式docs first

さて、Claude Codeの機能に親しもうとすると、大量のブログや解説記事、ポストが見つかると思います。これらの情報量に圧倒されて、わかりやすい記事を探そうとdoomscrollしてしまうのは私だけでしょうか?

もちろん役に立つ記事もたくさんあるのですが、やはり最初はAnthropicの公式ドキュメントを通読するのが確実だと思います。

公式ドキュメント:https://code.claude.com/docs/

Progressive Disclosureの原則

Claude Codeを効果的に使うための最重要原則が「Progressive Disclosure(段階的開示)」です。これは、情報を一度に全て与えるのではなく、必要に応じて段階的に開示するという考え方です。

なぜProgressive Disclosureが重要か

AIとの対話では、コンテクストウィンドウ(一度に処理できる情報量)に限界があります。最初から大量の情報を与えると:

  • コンテクスト汚染 (context rot):重要な情報が埋もれてしまう
  • 処理精度の低下:AIが本質的なタスクに集中できない
  • 出力品質の劣化:関連性の低い情報に引っ張られる

などの問題が起こることが指摘されています。よって、Claude Codeに与える情報も、原則→具体のフローを意識することが重要になります。

CLAUDE.mdファイルで原則を決める

すべての原則となるファイルで、すべてのセッションで読み込まれます。グローバル・ルートとプロジェクト・ルートだと後者が優先される、つまり、より具体的な方が優先して読み込まれるということですね。

いつも読み込まれる以上、CLAUDE.mdファイルが膨大なものになってはいけません。公式docsでは200行以下にすることが推奨されています。

また、LLMへの指示全般に言えることですが、指示は具体的で構造化されている必要があります。

  • 例:「変更をテストする」ではなく「コミット前に npm test を実行する」

rulesで細かい挙動を制御する

CLAUDE.mdを肥大させないために、項目ごとの挙動や規則はrules/にまとめることになります。YAML frontmatterにパスを指定することで、さらにスコープを限定することができるようになります。

agent skillsであなただけのClaude Codeを作る

そもそもskillsとは?

明示的に、もしくは暗黙に、必要に応じて専門知識(ドメイン・ナレッジ)を呼び起こせる機能、と理解しています。

どういうことかというと、本文であるSKILL.mdを「/」を用いて直接的に指定することもできれば、agentの文脈判断でスキルを起動することもできるのです。

それぞれのスキルはハイフンつなぎのフォルダに格納され(.claude/skills/my-skill)、

my-skill/
├── SKILL.md           # メインの指示(必須)
├── template.md        # テンプレート
├── examples/
│   └── sample.md      # 出力の具体例
└── scripts/
    └── validate.sh    # 補助的なスクリプト

最低でもYAML frontmatterにnameとdescriptionの要素を持ちます。

---
name: api-conventions
description: API design patterns for this codebase
---

When writing API endpoints:
- Use RESTful naming conventions
- Return consistent error formats
- Include request validation

skillsはかなりのこだわりどころのようで、自分が定常的に行う作業をいかに効率的に実行できるようにするか、さながら秘伝のタレをつくり上げるような作業です。

skillsを作るときの注意事項

1つのskill, 1つのタスク

複数の手順を1つのスキルに詰め込みすぎると、skillの挙動が安定しなくなります。タスクが複数あるなら、なるべく分割してあげましょう。

また、トリガーしたいスキルを、意図したタイミングでトリガーできるように、スキルがカバーする範囲のオーバーラップをなくす、という目的もあります。

2. 500行以下に抑える

CLAUDE.mdのケースと同様の理由からそれぞれのskillは500行を超えないことが望ましいとされています。

3. descriptionは簡潔明確に

descriptionはclaudeがコンテクストからskillを起動するか判断するのに使用されます。よって、ここでの記述がクリアでないと、skillをトリガーしすぎ/しなさすぎ問題が発生してしまいます。

---
name: explain-code
description: Explains code with visual diagrams and analogies. Use when explaining how code works, teaching about a codebase, or when the user asks "how does this work?"
---

use whenや、「〜〜」のような質問をされた時、など明確に指示することが大切ですね。

便利な公式Plugin:skill-creator

skillの作り方のイメージがつかめない時は公式のskill-creatorプラグインを活用しましょう。

claudeと対話しながら、どのようにskillを洗練させれば良いかのイメージがわかってくると思います。

独立したコンテクストで動くsubagents

skillと似ていてややこしいですが、subagentという機能もあります。これはコンテクストを受け継がないで、所定のタスクを実行する方法です。

コンテクストがないというのは不利なようにも聞こえますが、LLMは出力意図を知っている状態だとアウトプットの評価が歪んでしまうと言われています。公式docsではコードレビューとして、具体例が紹介されていました。

MCPで外部のコンテクストを与える

最後に、MCP (Model Context Protocol)で外部のサービスと接続することもできます。例えば、Gmail, Slack, Figmaなど公式がMCPを出しているケースはたくさんあります(なかったら自作という手もある)。

導入手順は省略しますが、ワークフローに組み込みたいサービスがあれば、MCPは有力な選択肢になりますね。

リサーチワークフローの実践例

お待たせしました。ここからが本題です。

社会科学の研究における流れとしては、

というものが想定できると思います。

ゆくゆくはすべてのプロセスが自動化させる未来が来る(もしくはもう来ている?)のかもしれませんが、ここではClaude Codeに「先行研究レビュー」と「データ収集・整理」、「実証分析」の一部を手伝ってもらいましょう。

1. 先行研究の整理

良い研究アイディアを思いついたとして、次に関連する論文を読むのが必須になりますよね。もしくは普段からキャッチアップのために専門分野の論文に目を通さないといけないですよね。

とはいえ、すべての論文を精読するだけの時間はありません。。。

そこで、まずは論文を要約してくれるskillを作成しましょう!

ステップ1:論文要約

---
name: paper-summarizer
description: Summarize academic research papers (especially quantitative social science papers) into structured formats. Use this skill when the user explicitly asks to summarize, analyze, or extract key information from academic articles, research papers, journal articles, or working papers. Particularly useful for political science, economics, sociology, and other quantitative social science research.
---

ユーザーが指定した論文を読み、次の形式で要約してください:

## 基本情報
- タイトル
- 著者
- 掲載誌・年

## リサーチクエスチョン
主要なリサーチクエスチョンを3点以内で

## 方法論
- データ
- 分析手法
- 識別戦略(因果推論の場合)

## 主要な発見
箇条書きで3-5点

## 貢献と限界
学術的貢献と今後の課題

## 自分の研究への示唆
この論文から得られる知見

これに出力形式をどんどん自分なりに指定することで、自分が最も使いやすい論文要約の雛壇を作ることができます。例えば、追加したい機能として、

  • outputファイルの命名規則を一貫させる
  • 論文のメタデータをbibtex形式でまとめてもらう
  • 単語数上限を決める

などなど色々な改善方法があります。

ステップ2:QuartoまたはLaTeXでプレゼン可能な状態へ

自分だけならメモを作れていれば良いのですが、ゼミや輪読会では論文の内容を噛み砕いて、他の人にもわかるように報告する必要があります。

name: academic-slide
description: Creating a beamer slide based on the content of an academic journal article. Use this skill when the users ask to create a presentation slide for study groups, seminars, and conferences. 

今度は.texや.qmdなどのテンプレートファイル、もしくは出力のモデルケースをreferenceとして提供してあげると、claudeの出力が安定してとても良いです。

2. データ準備のパイプライン

データ分析の前処理はとても時間がかかる作業です。ここでもClaude Codeを使って効率化しましょう。

claudeに渡す指示で注意すべき点はたくさんありますが、例えば:

  1. raw dataは特定のパスに集約する
  2. 出力フォーマットを指定する
  3. 欠損値処理の方針(NAのまま残すか、代入法などを使うか)
  4. 定番のパッケージやindicatorを指定しておく

などが思いつくでしょうか。

data-wrangling skill

---
name: data-wrangling
description: >
  Data cleaning and wrangling workflow that takes raw datasets and produces
  analysis-ready outputs with a full variable codebook. Use this skill whenever
  the user wants to clean, prepare, or wrangle a dataset — even if they phrase
  it casually ("clean up this CSV", "get this data ready", "fix the types in
  my file", "there's a lot of NAs in my dataset", "prepare this for Stata").
  Also trigger when the user mentions messy data, variable recoding, missing
  value handling, or wants to export to .dta, .csv, or another analysis format.
  Always use this skill when the task is fundamentally about getting data
  into shape for analysis.
---

## step 1: load and inspect

Use the following packages to load and inspect raw datasets

```r
library(tidyverse)
library(readxl)    # for .xlsm
library(haven)     # for .dta
```

## step 2: clean up

Transform value types as indicated.

(and so on)

この辺も、各自の専門分野の慣例、もしくは自分の流儀に合わせて調整するのが良いでしょう。

ちなみに、自分は出力されるデータセットの各変数の性質をチェックするために、コードブックを自動生成するように指示しています。

Codebook — [dataset name]
Generated: [date]
Rows: N | Columns: K

| variable | type | n_missing | pct_missing | range / categories | notes |
|---|---|---|---|---|---|
| country | character | 0 | 0% | 165 categories | ISO3 country names |
| year | integer | 0 | 0% | 1990 – 2020 | |
| gdp_pc | numeric | 12 | 1.8% | 412.3 – 98,430.1 | log-transformed in analysis |
| polity | character | 0 | 0% | autocracy, anocracy, democracy | recoded from polity iv |

Save as: <dataset_name>_codebook.md


3. 分析

クリーンなデータセットができたら分析を行います。

具体的な分析は研究デザインによって異なると思いますが、記述統計量や基礎的な線形回帰を行うことは多いでしょう。

記述統計

---
name: desc-stats
description: Generate comprehensive descriptive statistics tables and visualizations for quantitative social science research
---

Using cleaned_data.csv, create the following descriptive statistics tables:

1. Summary statistics table
   - Full sample
   - By group (treatment/control)
   - Include t-test results

2. Visualizations
   - Histograms (key variables)
   - Scatterplot matrix

Output: R Markdown file (.Rmd)

回帰分析

---
name: regression-analysis
description: Conduct standard regression analyses for quantitative social science research, including simple, multiple, and fixed effects models
---

Conduct the following regression analyses:

**Models**
1. Simple regression: Y ~ X
2. Multiple regression: Y ~ X + Controls
3. Fixed effects model: Y ~ X + Controls + factor(country) + factor(year)

**Output**
- Regression table (stargazer format)
- Implementation: R script (.R)

もちろんskillを作り込んだ上で、という条件付きですが、簡単な分析ならばraw dataを用意すれば完了してしまう算段です。

Subagentの活用

Subagent機能は、レビューをさせるのに適していることをお話ししました。

上記のパイプラインで実行した結果が適切なのか、quality reportを作らせてループを回すことができれば、人間の介入を減らしながら研究の効率化が進められます。

Subagentの具体例

  • コードレビュー
  • 論文草稿のチェック
  • 統計分析の妥当性検証
  • 文献レビューの網羅性確認

論文レビュー用Subagent

---
subagent_type: methodology-reviewer
description: Check the validity of empirical methodology
tools: [Read, Grep]
model: sonnet
---

Review the draft from a methodologist's point of view:

1. Is the causality truly established?
2. Are identification assumptions valid or justified?
3. Is robustness check enough?; model specifications, missing values, different estimators

インターフェース、どれがいいのか問題

Claude Codeにはたくさんのインターフェースがあります:

  1. Web:ブラウザで使用
  2. CLI:コマンドラインツール(推奨)
  3. IDE拡張:VS Codeなどに統合

などなど。使う人の習熟度合いにもよるとは思いますが、筆者は他の多くの人と同様にCLIを推奨します。

Why CLI?

LLMと同様に、人間のコンテクスト資源も有限です。アプリの画面を一々切り替えると集中力も下がってしまいます。

そこで、VS CodeのようなIDEを開いて、ファイルを確認しつつターミナルからclaude codeを呼び出して指示出しするスタイルに落ち着きました。

ide_cli.png

参照したレポジトリなど

海外には本記事のようなclaude codeを研究に活用する試みをしている人たち(主に経済学者)がたくさんいます。彼らが公開しているskillsや設計思想に感化されて、本記事は執筆されました。

参考になった人たちのプラクティスを以下にまとめておきますので、ご興味に応じてご活用いただけると幸いです!(本リストはしばらくアップデートし続けます)

リポジトリ名 説明
AI MBA 経済学研究のためのAIエージェント活用チュートリアル
AI-research-feedback 研究におけるAIフィードバックのベストプラクティス
Awesome Econ AI Stuff 経済学研究におけるAI活用のリソース集
awesome-rstats-skills R統計解析のためのClaude Codeスキル集
Claude Blattman Chris Blattmanによるプロジェクト管理に関する実践例
claude-code-my-workflow Pedro Sant'AnnaによるClaude Codeワークフローの解説
Coding agents for data analysis データ分析のためのコーディングエージェント活用ガイド
DAAF Data Analysis Agent Framework - データ分析のためのエージェントフレームワーク
r-package-skills Rパッケージ開発のためのスキル集
social-data-analysis 社会科学データ分析のためのリソース

まとめ

本記事では、社会科学研究におけるClaude Codeの活用法を、2026年3月時点での実践例とともに紹介しました。

重要な原則

Progressive Disclosure(段階的開示) がすべての基盤です。CLAUDE.md → rules → skills → 個別の指示という階層構造で情報を整理し、コンテクスト汚染を防ぎながら効率的にタスクを遂行しましょう。

実践のポイント

  1. Skills設計:1 skill = 1 taskの原則で、再利用可能なモジュールを構築
  2. 研究パイプラインの構築:論文要約からデータ処理まで、反復的なタスクを自動化
  3. Subagentsの活用:独立したコンテクストで動くエージェントで、レビューや複雑なタスクを効率化
  4. CLI中心のワークフロー:IDEと統合し、既存の作業環境を崩さずにAIを活用

本記事で紹介したプラクティスも、あっという間に時代遅れになるかもしれません。キャッチアップだけでも大変ですが、AIを活用して意味のある研究を加速度的に行えるように頑張っていきましょう。

現在、これらのパイプラインを組み込んだレポジトリを作成中です。完成したらGithub上で公開予定です!

ひとまずお読みいただきありがとうございました。All comments are welcome!


8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?