Share
Embed
明日から使える!研究効率化ツール入門
明日から使える!研究効率化ツール入門
DEIM2026 チュートリアル 2026/3/4 @神戸
浦西 友樹(大阪大学)https://www.uranishi.me/
松井 勇佑(東京大学)https://yusukematsui.me/index_jp.html
米谷 竜(株式会社サイバーエージェント)https://yonetaniryo.github.io/ja/
https://pub.confit.atlas.jp/ja/event/deim2026/content/tutorial#t1
本講座では,OverleafやGitHubといった研究活動における定番ツールから,GitHub Copilot,Cursor,Claude Codeといった最新のAIサービスまで,研究活動をより効率的に進めるための活用法を実践的に習得することを目的とします.コーディングや論文執筆の効率化に繋がる具体的な利用事例については,ライブデモなどを交えながら詳しく解説します.ご自身の研究を加速させるだけでなく,研究室の学生指導に応用できるヒントもお持ち帰りいただけます.
Yusuke Matsui
March 12, 2026
Transcript
119 slides
-
明日から使える! 研究効率化ツール入門 DEIM2026 チュートリアル 2026/3/4 浦西 友樹 (大阪大学) 松井 勇佑
(東京大学) 米谷 竜 (株式会社サイバー エージェント) -
対象 • 「研究で使っているツール環境をアップデートし,研究活動を効率化したい」 • 「話題のAIサービスに関心はあるが,多忙でなかなか試す時間がない」 • このような課題をお持ちの皆様 概要 本講座では,OverleafやGitHubといった研究活動における定番ツールから,GitHub Copilot,Cursor,Claude
Codeといった最新のAIサービスまで,研究活動をより効率的に進め るための活用法を実践的に習得することを目的とします. コーディングや論文執筆の効率化に繋がる具体的な利用事例については,ライブデモなどを交 えながら詳しく解説します. ご自身の研究を加速させるだけでなく,研究室の学生指導に応用できるヒントもお持ち帰りいた だけます. -
2 はじめに 本パートの立ち位置:AIコーディングの基本を知る • AIコーディングに至るまでの技術背景 • AIコーディングの仕組み 講演者について 米谷 竜|CyberAgent AI
Lab シニアリサーチサイエンティスト 2013: 京都大学 情報学研究科 博士後期課程修了 2014-2018: 東京大学 生産技術研究所 助教 2019-2023: オムロンサイニックエックス PI 2023-: 現職 最近の仕事:小売向け屋内測位&地図構築(UbiComp 2025) ユーザ実験のためのUIや評価スクリプトなど、 実装の大部分はAIコーディング(Cline)でやった。 論文は気合いで手で書いた。 -
9 AIコーディングの失敗例 使い方にコツが必要。勘所が分からないまま雰囲気でVibe Codingをすると大変なことになる 過剰な例外処理 過剰な後方互換性 コードは肥大化するし、 (良くも悪くも)落ちな いので、ミスが忍び込ん でも気付けない…
※それもAIが直せばいい という意見もある “I see the issue!” “Done!”とか言いながら 全然何も解決できていない -
10 AIコーディングを成功させるためには? AIコーディングの背景と仕組みをちゃんと知ったうえで使うと良い 実践編は次のパートで 背景を知ろう そもそも言語モデルとは? 言語モデルがLLMになるまで LLMが"エージェント"になるまで そもそもどうやって コマンド叩いてるの?
仕組みを知ろう エージェントのモード 典型的なワークフロー 料金・セキュリティなど ほっといたらパソコン 破壊されないの? -
12 LLM…の前に言語モデル (1/2) LLM = Large Language Model = 大規模言語モデル。大規模じゃない言語モデルもある。
言語モデルって?→文章の確からしさ(出現頻度)に関するモデル なるほどね 訓練データ (大量の文章) 訓練データ中の出現確率 • P(論文を書いた) = 30% • P(論文を書いてない)= 20% • P(論書を文たない)=0% 次の単語を予測することも: • P(書いた | 論文, を) = 70% • P(書いてない | 論文, を)= 30% 訓練データの中は こんな感じでした -
13 LLM…の前に言語モデル (2/2) 単語間の依存関係をどう扱うか モデル 分割結果 文字 Unigram い, つ,
も, 論, 文, を, 書, い, て, ば, か, り, だ 文字 Bigram いつ, つも, も論, 論文, 文を, を書, 書 い, いて, てば, ばか, かり, りだ 単語 Bigram {いつも, 論文}, {論文, を}, {を, 書い}, {書い, て}, {て, ばかり}, {ばかり, だ} 文字だと扱う入力のバリエーションは 減るけど、入力の系列長(文字数)は伸びる 単語だと入力の系列長(単語数)は短くなるが、 入力のバリエーションが増える BigramよりTrigram。条件部分の系列が長いほど、 次にくる単語を予測しやすそう でも条件部分系列が長い =条件部分のバリエーションが増える =生起確率を学習するための訓練データが大量に必要 単語Bigram 単語Trigram -
15 トークンと埋め込み (2/2) トークンは埋め込み(Embedding)ベクトルに変換される 埋め込みベクトル空間上は、似た単語が近くなるように学習される カレーの作り方 埋め込み空間 ピーマン にんじん 牛肉
研究 Token ID 39315 埋め込みベクトル P(ピーマンを切る) = 0%! そんな文章は学習しなかったので! P(ピーマンを切る) =P([25686,88716,4025, 7277,34921,6996]) =P([v1, v2, v3, v4, v5, v6])=70% ピーマンとにんじんは似ているし、 この文章もまあありえるか… -
16 LLM ただし、このままではまだコーディングタスクには使えない P(だ|いつも論文を書いてばかり) P(を書|いつも論文を) ニューラルネット P(も|いつ) 道のりは遠い… ・文章の切れ端を渡すと続きを生成できる←いまここ ・ユーザの質問に応答できる
・しっかり考えてから応答できる ・コードを書いたり実行したり、ツールを使える -
17 LLMに質問応答させる (1/3) Instruction tuning:対話コーパスでLLMを追加学習する ## Instruction 与えられたメールの内容から、打ち合わせの日時と 場所だけを抜き出してください。 ##
Input 田中様、お疲れ様です。来週の件ですが、10月15 日の14時から、弊社第3会議室にて実施させてくだ さい。プロジェクターはこちらで用意します。よろ しくお願いします。 ## Output 日時:10月15日 14:00〜 場所:弊社第3会議室 ## Instruction 与えられたPythonコードのバグを修正してください。 ## Input def add(a, b): return a - b ## Output このコードでは加算を行うべきところで減算を行って います。正しくは以下の通りです。 def add(a, b): return a + b なるべく良い(と人間が感じる) 応答ができるようLLMを更新する でも知らない質問が飛んできたら どうするの? こんな感じのデータで追加学習 -
18 LLMに質問応答させる (2/3) Retrieval Augmented Generation: 外部データベースを検索してLLMに追加入力する ## 検索された社内文書 [就業規則
p.12] 有給休暇は入社6ヶ月後から 取得可能。年間付与日数は勤続年数に応じて 10〜20日。 ## 検索された社内スキーマ定義 ORDER_SCHEMA = { "order_id": str, # 必須, UUID形式 "amount": float, # 0より大きい "status": ["pending", "paid", "cancelled"] } ## 質問 有給休暇は何日もらえますか? ## 質問 注文データのバリデーション関数を 作ってください。 外部DBを検索 入力に追加 ハルシネーション対策にも 有効 -
19 LLMに質問応答させる (3/3) In-context learning:LLMへの入力に背景情報や制約、事例を追加することで、それらを考慮させる 回答ではこれらのルールを厳守すること: 1. 漢字は小学2年生までに習うもの以外はひらがなにする。 2. 外来語(カタカナ)は極力使わない
(例:『インフラ』→『みんなが使う道や水道』)。 以下の文章を要約してください… # お手本:UserAPI class UserAPI: def __init__(self, client): self.client = client self.name = "USER_SERVICE" def get_data(self, user_id): print(f"[{self.name}] Fetching data for {user_id}...") try: response = self.client.get(f"/users/{user_id}") # 独自ルール:常に {'status': ..., 'data': ...} の辞書で返す return {"status": "success", "data": response} except Exception as e: print(f"[{self.name}] Error: {e}") return {"status": "error", "message": str(e)} ### 入力 ProductAPI を作成してください。product_id を受け取り、 /products/{product_id} にアクセスする get_info メソッドを実装してください。 実際のAIコーディングにおいても、 参照実装を渡しつつ機能追加を指示した 方が、望んだものが出てきやすい -
20 LLMにしっかり考えさせる (1/2) Chain of Thought (CoT) 現在、研究室には10本の論文(未発表)があります。そのうち3本を ジャーナルに投稿しました。その後、新たに5本の論文の草稿が書き上が りました。しかし、チェックしたところ2本が既存研究と内容が重複して
いたため、破棄することにしました。いま、手元にある「投稿可能な未 発表論文」は何本ですか?手順を追って計算してください。 いきなり即答するのではなく、 手順を追って(think step by step)計算しているね -
21 LLMにしっかり考えさせる (2/2) Chain of Thought (CoT) (3.14+7.82-1.56)*2.41/5.73+(9.67-4.21*1.35)/2.18+6.44-8.91*0.77/3.62+(5.29 +1.08)*4.36/2.57-7.63+2.84*3.19/1.46+8.55-9.02*1.27/4.83+(6.71+2.93-5.48) *3.64/1.92+4.58-7.26*2.14/5.39+9.31+1.74*6.28/3.47-8.16+2.57*4.92/1.83+7
.04-3.68*5.17/2.26+(8.79+1.45)*2.63/4.18-6.92+3.37*7.58/1.69+5.83-2.41*9. 64/3.75+(4.27+6.38-1.92)*2.85/5.16+7.73-8.48*3.26/2.97+9.14+1.63*4.75/3.2 8-5.67+2.99*6.81/1.54+8.22-7.35*1.88/4.61+(3.59+9.06-2.73)*4.44/1.37 (電卓を叩くとわかるが、答えは119.242698148) 電卓を叩けないので正確な答えが出せていない そもそもやっているのは次にくるトークンの予測なので、 計算の正しさを保証することはできない -
22 LLMにツールを使わせる (1/2) Reasoning and Acting (ReAct):LLMに"Act"(行動)させる Thought: 複雑な計算なのでPythonを実行します。 Action:
python_interpreter Action Input: print(3.14+7.82-1.56)*2.41/...) Observation: Observation... ストップ!!! Python 3.12.12 (main, Oct 31 2025, 23:21:56) [Clang 21.1.4 ] on darwin Type "help", "copyright", "credits" or "license" for more information. Cmd click to launch VS Code Native REPL >>> (3.14+7.82-1.56)*2.41/5.73+(9.67-4.21*1.35)/2.18+6.44-8.91*0.77 /3.62+(5.29+1.08)*4.36/2.57-7.63+2.84*3.19/1.46+8.55-9.02*1.27/ 4.83+(6.71+2.93-5.48)*3.64/1.92+4.58-7.26*2.14/5.39+9.31+1.74*6 .28/3.47-8.16+2.57*4.92/1.83+7.04-3.68*5.17/2.26+(8.79+1.45)*2. 63/4.18-6.92+3.37*7.58/1.69+5.83-2.41*9.64/3.75+(4.27+6.38-1.92 )*2.85/5.16+7.73-8.48*3.26/2.97+9.14+1.63*4.75/3.28-5.67+2.99*6 .81/1.54+8.22-7.35*1.88/4.61+(3.59+9.06-2.73)*4.44/1.37 119.2426981481457 Thought: 複雑な計算なのでPythonを実行します。 Action: python_interpreter Action Input: print(3.14+7.82-1.56)*2.41/...) Observation:119.2426981481457 Thought:... -
26 コーディング支援ツールの進化 コード補完(IntelliSenceなど) ソースコードや依存ライブラリ、言語仕様の静的解析に基づいてシンボル名・メソッド名、プロパティなどを補完 LLMを用いたコード補完の高度化(VS Code Copilotなど) 大規模学習されたLLMの生成に基づいてコードブロックを補完 コメントからのコード生成や対話的な修正も可能 LLMエージェントに対してコーディングそのものを一部~全部委譲(AIコーディング)
ユーザーとの対話に基づいてエージェントがコードベース全体を生成・修正 ターミナルでのコマンド実行やブラウザ等外部ツールの利用も可能 -
28 AIコーディングを使うための心構え (2/3) 以下はいずれもある面で正しく、ある面でそうではない • AIコーディングでコーディングが不要になり、勝手にモノが出来上がる。 • AIコーディングではコーディングが不要にならない。結局人間が細かくチェックする必要がある。 -> 「出来上がる」の定義は、求められる完成度によって変わってくる
• AIコーディングは▪▪のタスクが得意 / 苦手 • △△(ベースとして使うLLM)は▪▪のタスクが得意 / 苦手 -> 得手不得手はエージェントへの指示(プロンプト)によって大きく変わってくる -
29 AIコーディングを使うための心構え (3/3) やってることはほとんど対人マネジメントであり、権限委譲的な考え方が必要 • 自分でやれば早くゴールできるが、相手(AI)に任せれば遠くのゴールまでいける • コーディングの一部を委譲することで「アウトプットの量・幅を増やせる」 • 成果物の責任は人間(自分)が持つ
タスクと求められる完成度に応じて、適切なワークフローを考えるべき • 人間がコーディングして、エージェントがデバッグ • 人間が設計をして、エージェントがコーディング&デバッグ、その後人間がクオリティチェック 「最近だとこのタスクはこれくらいの指示でこれくらいの完成度になる。 今このタスクはこれくらいの完成度が求められているので、これくらいの指示を出そう」 ...という判断ができるリテラシーが必要 -
33 セッション、コンテキストとメモリー (3/3) メモリー:セッションを跨いでエージェントに提供する情報 CLAUDE.md, AGENTS.mdなど: リポジトリ下に置かれ、複数ユーザ間で共有される ~/.claude/... , ~/.codex/...
など:home下に置かれ、単一ユーザ内で共有される 作業内容をgithub issueとかpull requestとかに書き込ませるプラクティスも AIコーディングで生成したissue, PRを受け入れるかどうかは リポジトリオーナーのポリシーにもよるので注意 成果物の責任は人間(自分)が持つ。Issue、PRも同様 -
36 仕様駆動開発 (1/3) 仕様駆動開発(Spec-Driven Development; SDD) 1. エージェントとタスクの仕様を詰める。 2. エージェントがタスク遂行プランを作成、ユーザがレビュー
3. エージェントは上位プランをサブタスクに分割し、やっていく この過程でタスクの要件がLLMの コンテキストに詰め込まれていく Claude CodeやCodexではタスク仕様 をユーザにヒアリングしてくれる ツールがあって便利 -
39 AIコーディングの料金体系 (1/2) サブスクリプション or API従量課金 いずれも利用制限があるので注意 Claude Code Codex
レートリミットに到達したら? -> 諦めて別の仕事をしよう -
41 AIコーディングのセキュリティ (1/2) 入力したデータは学習される -> サービス・プランによって異なるので要確認 メジャーなサービスではユーザが選択できるようになっている(2026/03現在) Claude Code: "We
will train new models using data from Free, Pro, and Max accounts when this setting is on", "Anthropic does not train generative models using code or prompts sent to Claude Code under commercial terms, unless the customer has chosen to provide their data to us for model improvement (for example, the Developer Partner Program)." Codex: "As of March 1, 2023, data sent to the OpenAI API is not used to train or improve OpenAI models (unless you explicitly opt in to share data with us)." GitHub Copilot: "You can choose whether your prompts and Copilot's suggestions are collected and retained by GitHub, and further processed and shared with Microsoft." -
42 AIコーディングのセキュリティ (2/2) Code/License Laundering の問題 • 特定のライセンスで保護された既存コードを生成しないことを保証できない(参考:[Xu et al.
2024]) • GitHub Copilotの対策: ”If you choose to block suggestions matching public code, in most GitHub Copilot products, GitHub Copilot checks code suggestions with their surrounding code of about 150 characters against public code on GitHub. If there is a match, or a near match, the suggestion is not shown to you." • あくまで最終的な責任は自分が取るという前提で各種ツールに向き合う必要がある -
43 ユーザーがAIエージェントに指示を出し、AIエージェントがLLMを介してコーディングタスクを遂行 In-context Learning, Chain of Thought, Reasoning and Actingなど様々なLLM技術が活用されている
「仕様をちゃんと指示する」「エージェントの実行権限は適切に制限する」を守っておけば大事故はしにくい Claude Codeも仕様駆動開発をベストプラクティスとして紹介 成果物の責任は人間(自分)が持つ 成果物の責任は人間(自分)が持つ 成果物の責任は人間(自分)が持つ AIコーディングの仕組み|まとめ 大事なので 3回書きました 実践編は次のパートで -
AIコーディング実践編: Claude CodeでHPを作ろう 松井勇佑 東京大学 情報理工学系研究科 講師 http://yusukematsui.me 2026/3/4, DEIM
2026 チュートリアル 「明日から使える!研究効率化ツール入門」 1 -
2 松井勇佑 ✓ コンピュータビジョン・データ構造・機械学習 ✓ 特にベクトルデータベース・学習型データ構造 http://yusukematsui.me 講師(東京大学 情報理工学系研究科 電子情報学専攻)
@utokyo_bunny @matsui528 多様な近傍探索 [Matsui, CVPR 25] 漫画画像の領域対応関係抽出 [Li+, CVPR 26] 学習型インデクスに対する ポイズン攻撃 [Sato+, SIGMOD 26] -
3 ➢ はじめに ➢ AIコーディングのツール紹介 ✓ 有料の有名どころ:Claude Code, Codex ✓
無料(?)でお試し: ❖ Cloud Shell Editor + Gemini ❖ Codespaces + Copilot ➢ デモ:HPを作る ✓ Claude code ✓ GitHub CopilotのブラウザのAgentsタブ -
4 ➢ はじめに ➢ AIコーディングのツール紹介 ✓ 有料の有名どころ:Claude Code, Codex ✓
無料(?)でお試し: ❖ Cloud Shell Editor + Gemini ❖ Codespaces + Copilot ➢ デモ:HPを作る ✓ Claude code ✓ GitHub CopilotのブラウザのAgentsタブ -
5 本セクションの対象者と目的 ➢ 本セクションでは、AIコーディングに興味あるけど どうすればいいかわからない、という初学者を対象にします ✓ 例:ChatGPTに聞いてコピペしてる ✓ 例:CopilotのAIサジェストで止まっている (松井の以前のチュートリも参考)
➢ 既にバリバリ使っている方は、是非slackでノウハウや 経験談をシェアしていただければ幸いです。 ➢ 具体的に、HPを作るというタスクを、 実際にAIコーディングでデモします -
6 よくある誤解 ツイッタでは全然知らない新しい知識が毎日たくさん 出てきて知識の洪水で溺れてしまう 標準機能だけでOK!まず使う! 今は過渡期。ベストプラクティスはどうせ更新される 無限にツールがあってとっかかりがない ちょい課金してClaude Codeがオススメ! 無料の代替案も紹介します
何に使えばよいか(何を作ればいいか)わからない とりあえず「自分の普段のタスク」に使ってみましょう -
9 AIコーディングの歴史と現状 ➢ 無限にプロダクトがあります。追うのは無理 ➢ 極めておおざっぱに言うと ✓ あくまでエディタがあり、その横にAIがいるタイプ ❖ 代表:Claude
Code、Codex ✓ エディタもなく、完全自動 ❖ 代表:Devin、GitHubリポの「Agents」タブ ➢ 完全自動タイプが勝利するかもしれないし、 エディタタイプが結局生き残るかもしれない ➢ 今日は両方を使って同じものを作ります -
10 ➢ はじめに ➢ AIコーディングのツール紹介 ✓ 有料の有名どころ:Claude Code, Codex ✓
無料(?)でお試し: ❖ Cloud Shell Editor + Gemini ❖ Codespaces + Copilot ➢ デモ:HPを作る ✓ Claude code ✓ GitHub CopilotのブラウザのAgentsタブ -
11 Claude Code https://www.reddit.com/r/ClaudeAI/comments/1ixave9/whats_claude_code/ https://code.claude.com/docs/ja/vs-code ➢ Anthropic社製で、もともとコマンドラインツール ➢ エージェント型(AI機能だけでなく、コマンド実行なども やってくれるなんでも屋)
➢ UX的・性能的に出来が良く、全会社が真似する ➢ ターミナルから使うか、vscode連携で使うのが基本だが、最近 はDesktop型、ブラウザ型、リモートコントロールなど色々 -
12 https://claude.com/ja-jp/pricing ➢ 有料。2026/3現在、 Proプランで$20/月 ➢ まずはProプランで十分 ➢ 使いすぎる(トークンを消費しすぎる)と、動作が止まる。 数時間したら回復してまた使えるようになる
➢ トークンが切れて絶望するとき、自分はもうAI抜きでは コーディングできない体であることに気付く Claude Code -
13 Codex https://developers.openai.com/codex/changelog/ ➢ OpenAI製のAIコーディング基盤 ➢ 評判がよく、2026/3現在 「Claude Code派 vs
Codex派」を感じる ➢ vscode連携すると、Claude Codeや Copilotと同様に使える ➢ 有料だが、ChatGPT Plusプランでカバー可能 ➢ なので、ChatGPT有料契約している人(多いだろう) にとっては一番気軽な選択肢? ➢ 自分はClaude Code派なので使ったことが無いです・・・ ➢ 東大だとUTokyo Azure契約によりオトクに使える可能性あり -
14 ➢ はじめに ➢ AIコーディングのツール紹介 ✓ 有料の有名どころ:Claude Code, Codex ✓
無料(?)でお試し: ❖ Cloud Shell Editor + Gemini ❖ Codespaces + Copilot ➢ デモ:HPを作る ✓ Claude code ✓ GitHub CopilotのブラウザのAgentsタブ -
15 Cloud Shell Editor + Gemini ➢ とりあえず無設定でローカル環境も汚したくない場合 ➢ Cloud
Shell Editor ✓ https://ide.cloud.google.com/ ✓ ワンクリックで仮想マシンが立ち上がりUbuntuが使える ✓ 使い捨てられるリモート環境 ✓ あまり有名でないがとても便利 ✓ 制限はあるが、gmailがあれば(多分)使える ✓ Codespaces対抗(?) ➢ Gemini Code Assist、およびGemini CLIが標準搭載! -
17 Codespaces + Copilot ➢ 同様に、GitHub CodespacesにもCopilotがついてくる ➢ GitHubの有料アカウント相当(学生・教員はアカデミック割引 で無料で使える)であれば使えると思われる
➢ そもそもCopilotは本家。現在は資金力のある後続(?)として 流行ったプロダクトを最終的に取り込む流れ ➢ GitHub系(MS系)は「リポジトリ」「Mobile」「vscode」 といったインフラを抑えているので、その意味で体験は良い ➢ 松井は「通常Copilot + Claude Code」を普段使う -
19 ➢ はじめに ➢ AIコーディングのツール紹介 ✓ 有料の有名どころ:Claude Code, Codex ✓
無料(?)でお試し: ❖ Cloud Shell Editor + Gemini ❖ Codespaces + Copilot ➢ デモ:HPを作る ✓ Claude code ✓ GitHub CopilotのブラウザのAgentsタブ -
20 HPを作る 松井勇佑 東京大学講師 [email protected] 論文リスト {{ papers }} 松井勇佑
東京大学講師 [email protected] 論文リスト [1] Y. Matsui and T. Hoge, “Very Nice Transformer”, CVPR 2026 [2] Y. Matsui and Y. Fuga, “Agentic SIFT”, ECCV 2026 { "author": "Y. Matsui and T. Hoge", "title": "Very Nice Transformer", ... } template.html main.html build.py papers.json ➢ 論文情報をjsonで管理し、それをhtmlに変換する静的htmlジェネレータ(オレオレjinja2) ➢ これは普通オレオレで作るのは大変。AIで作ってみる ➢ こういうちょっとしたものをAIでサッと作れる時代になった -
21 自分の環境 ➢ Windows11 ➢ WSL2 ➢ vscode ➢ Copilot(AI補完)
➢ Claude Code(AIコーディング) ➢ 成果物はgithub pagesで公開します ➢ SlackでURLを今から共有します -
23 ➢ はじめに ➢ AIコーディングのツール紹介 ✓ 有料の有名どころ:Claude Code, Codex ✓
無料(?)でお試し: ❖ Cloud Shell Editor + Gemini ❖ Codespaces + Copilot ➢ デモ:HPを作る ✓ Claude code ✓ GitHub CopilotのブラウザのAgentsタブ -
24 GitHubリポのAgentsタブ ➢ かつてGitHubは「issue -> @copilotでAI発火 -> PR作成」 というような人間的な動作が基本だった ➢
最近はAgentsタブが出来てここに書くだけでPRが出来る ➢ PRと一体化しているので馴染みがあるし気持ちいい ➢ vscodeを開かずに同じことをやってみる -
講演者自己紹介 浦西 友樹 (うらにし ゆうき) 🌐 https://uranishi.me 𝕏 @yukiuranishi ▪
大阪大学 D3センター 教授 ▪ CV (3D), XR, HCI, 教育/スポーツ支援 ▪ 昔はOpenCVの人 ▪ 今は構造色とクライミングの人 2 -
このトークは誰のため? ▪ 学生とOverleafで卒論や修論など (以下,卒論等と総称) を執筆している, または本日執筆しようと思い立った方 ▪ 研究費のプロポーザルをいつも泣きながら書いている方 ▪ Overleafに課金している
(=Dropbox連携が使用可能), または本日課金しようと思い立った方 ▪ OpenAI派である方 3 -
⚠ もちろんな注意事項 ⚠ ▪ 論文誌や学会など,投稿先のAIライティングに関する規定を遵守する ▪ 近年では下記を条件とするようなところが多い ▪ 「テキストについては著者が最終的な責任を持つ」 ▪
「ツールの利用を謝辞などで明記する」 ▪ 一部論文誌はそもそも許可していないことがあり注意が必要 4 -
「AIが論文 (申請書) を書く」こと ▪ 論文は自然言語の文章と似て非なるものである ▪ 逐次的でなく,階層的・体系的な構造を有している ▪ むしろ考え方はコーディング ▪
ただし,表現が自然言語である ▪ これが一番難しい… ▪ 構造は体系的でないといけないが,表現は言語として自然でなければならない ▪ そもそも,論文とは未知の論理構造を記述するもの 7 -
他にも難しいことはたくさんあった ▪ 最新の知識をモデルが有していなかった ▪ 最近はLLMがWeb検索ができるようになった (ReAct) ので解決されつつある ▪ LaTeXのコーディングが難しかった ▪
構造化された自然言語の出力がゴールだが,加えてLaTeXの構造を被せる必要あり 8 -
Cursorとは? ▪ 簡単に言えば「Visual Studio Code (Code-OSS) 派生+AIアシスタント」 ▪ AIとのチャットが常駐 →
GitHub CopilotのChatと類似 11 -
Cursorの特徴 ▪ 様々なモデルが利用でき,使用するモデルは都度自動選択される ▪ 対話時にGUIでターゲットになるファイル/フォルダ/行を指定できる ▪ 基本的には有料での利用が前提となる ▪ ハイシーズンでもリクエスト回数は超えなかった ▪
2025年6月に課金形態がリクエスト数ベース→トークンベースに変わったので要注意 12 -
Cursorを文章書きに使う理由 ▪ GUI上での@機能はとても便利 ▪ 全般的にCursorの方が対話的な編集には有利 ▪ GUIの存在が大きい ▪ コードが絡むと話は変わりそう ▪
定型的な文章作成や「プログラムから仕様書を書く」とかはGemini CLIが向いている かも? 16 -
余談: Cursorと付き合うためのTips ▪ ルールベースの編集(例: 句読点の変更) は置換/検索機能などを使うべき ▪ LLMをドライブするとどうしても全文レビューする必要が生じる ▪ どれほど「原文を変えるな」と口酸っぱく指示しても,LLMが変えない保証がない
(何回業績リストを偽造されたか…) ▪ 業績リストの様式変更などはスクリプトを作らせて適用すると良い ▪ .docxファイルは直接読めない ▪ .mdファイルに変換するコードはパッと書いてくれるのでそれで.md化すると取り回 しが良くなる ▪ モデルは結局Gemini 2.5 Proに固定していた ▪ コンテキストウインドウが大きい (全体を取り扱えるので破綻しにくい) 17 -
卒論等: 典型的な使い方 ▪ 卒論等のとある章をまるごと英訳する ▪ “\chapter{はじめに} の内容を完全に英訳して,introduction.texというファイルを 作成してそこに記述してください.” ▪ 作成した英文の長さを調整する
▪ “英訳されたIntroductionを2000words程度に短縮してください.元のテキストは LaTeX形式でコメントアウトし,新たに作成された文章を追記してください.” その後,適宜LLMや人間がレビューして仕上げていく 24 -
余談: 某ウィザードからの上級アドバイス ▪ 一回自由なフォーマットで吐かせてから,フォーマットの修正をさせるほう が良い気がしています ▪ アイデア出し ▪ フォーマットを指示して従わせる ▪
追加指示 (足りない部分や役割分担など) ▪ 概要作成 の順で行うと良い? 28 -
余談: もっと便利にしたかったのに ▪ Cursorはローカルでのファイルの取り扱いが前提 ▪ Overleaf + VSCodeといえば Overleaf workshop*
があるが… ▪ 現時点ではCursor側がローカルに存在するファイルしか対象にしない ▪ チャットにコピペとかはできるが,ファイルの読み書きはどうやら無理 ▪ ニーズはあるので将来的に対応する可能性はあるかも? ▪ VS Code + Overleaf workshop + GitHub Copilotという解もあり得る *簡単に言えば「VSCodeからOverleafにアクセスして編集するためのVSCode拡張」 29 -
余談: データは学習に使われる?サーバに残る? ▪ データ利用に関するOpenAIの見解 ▪ https://help.openai.com/en/articles/20001050-troubleshooting-and-getting- help-in-prism ▪ https://openai.com/ja-JP/policies/row-privacy-policy/ ▪
https://help.openai.com/en/articles/8983130-what-if-i-want-to-keep-my-his tory-on-but-disable-model-training • データはサーバには残る (Prism does not currently use the “Zero Data Retention” (ZDR) API option and maintains logs for a period after requests to improve the product.) • プライバシーポリシーはChatGPTに準拠 (As noted above, we may use Content you provide us to improve our Services, for example to train the models that power ChatGPT.) • ChatGPTでのアカウントの設定により,オプトアウトが可能? 37 -
ChatGPT Atlasとは ▪ 簡単に言えば「ChatGPTのエージェントが常駐しているブラウザ」 ▪ 閲覧中のページに対してChatGPTによる支援を直接介入させられる ▪ 現状ではmacOSのみ対応 ▪ 有料ユーザは「エージェントモード」を利用可能
▪ Atlas自体はブラウジングを変える可能性を秘めている ▪ 文章書きには使えるか? 40 -
Cursorでの編集に近いように見えるが… ▪ ぱっと見はベストプラクティス? ▪ Atlasはあくまで「 閲覧している Webサイトに対するChatGPTでの支援」 ▪ エディタに直接GPTからの提案を反映させられない ▪
通常モードではコピー&ペーストの手順が発生する ▪ エージェントモードを使用すればAIがエディタに書き込める可能性があるものの, 実作業に用いるには非現実的なレスポンス 43 -
まとめ ▪ 文章作成時にもAIの支援を受けるのが現代では当たり前 ▪ 良し悪しの議論はここではしない ▪ 結局いかにAIの支援を受けるための手数を減らせるかが勝負 ▪ 執筆環境で伴走してくれるツールの存在が超重要 ▪
アプリを跨いでテキストのコピペなどを極力避けたい ▪ CursorはGUIベースの指示が楽なので,文章作成の手数が減る ▪ 論文書きにおいてはPrismが現状最強だが,コードが絡むと話は別 ▪ 心構えはAIコーディング (by 米谷さん) と同じ! 45