虎の穴ラボ技術ブログ

虎の穴ラボ株式会社所属のエンジニアが書く技術ブログです

MENU

AIエージェント未経験者がClineを利用して分かった気をつけるべきポイント

こんにちは!虎の穴ラボエンジニアの米光です。
皆さん、AIエージェントによるコーディングは利用されていますでしょうか。私も日常的に詰まったポイントを社内のチャットAIに質問するなど、AIにコーディングを補助してもらっています。しかし、ClineのようなAIエージェントを利用し、コード全体を書いてもらう経験はまだありませんでした。
ですがAIエージェントの流行、進化のスピードは非常に目まぐるしく、すでに様々な選択肢が登場しています。今後自分も必ず使う機会が出てくるだろうと考え、今回Clineに初挑戦しました。本記事では、コーディングアシスタント初心者目線でCline利用し、今後エージェントを利用するにあたって気をつけるべきポイントをまとめます。

前提

  • Clineを初めて触る、という方向け
  • 環境はWindows・Cline・DeepSeek
    • DeepSeekのAPIは自費で購入しています。モデルを工夫してコスト0にする、という取り組みは、ある程度モデルやエージェントに慣れていないと難しいと感じました。DeepSeekも非常に軽いコストで動いてくれるため、入門目的ならば問題ないかと思います
  • Pythonを利用し、「指定したAPIからデータを取得しグラフで描画する」というコードを作成してもらう
    • 筆者はPython未経験

Clineの概要

まず、Clineをあまり触ったことのない方に向けて改めて説明すると、ClineはVSCodeなどのエディター上で動作し、AIがプログラミングをサポートしてくれる拡張機能です。
Clineに指示を出すことで、単なるコード補完に留まらず

  • コードの生成や修正
  • ターミナル操作によるファイルの編集
  • ブラウザを操作してテスト

などをCline側が自動で行ってくれるため、強力にコーディングを進めてくれるツールとなります。

環境準備

まずはClineのインストールを行います。
VSCodeの拡張機能なので、拡張機能欄から検索してインストールを行えばOKです。

その後、Clineのセットアップを行います。「API Provider」欄でDeepSeekを選択し、取得したAPIキーを入力すれば準備完了です。

実行してみる

早速コーディングを実行します。「New Task」タブからプロンプトを入力します。
「東京都の今後一週間の最高気温を折れ線グラフで表示する」というタスクを実行してもらうこととし、プロンプトは以下のように設定しました。

pythonを利用し、以下のプログラムを作成してください。

目的:東京都の一週間の気温を折れ線グラフで描画する

・グラフはMatplotlibを利用すること。その他必要なライブラリがあれば提案すること。
・気温情報は以下のAPIから取得すること
https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&daily=temperature_2m_max&timezone=Asia%2FTokyo

プロンプトは日本語のままで実行しています。
最高気温の取得APIについては、Open-Meteo APIを使用しました。
Open-Meteo APIはオープンソースの天気APIで、商用でなければ無料で利用可能、登録やAPIキーも不要と非常に試しやすいです。
公式サイト: Open-Meteo API

実行すると、Clineがタスクを分析し、必要な手順を羅列していきます。

ここで驚いたのが、ClineがAPIの座標設定ミスを感知し、修正してくれた点です。
これは純粋に筆者が設定した際のミスだったのですが、プロンプトで指示したタスクの文脈と、APIの形式から間違いを推論し、希望する形式へと修正してくれたのは非常に助かりました。
また、APIのレスポンスがどのような形式なのかもプロンプトではあえて教えずに実装が可能かを試してみたのですが、問題なくレスポンス形式を推測し、それに合うようにグラフ描画を設定してくれました。
出来上がったプログラムと、グラフの描画結果は以下のようになります!

import requests
import matplotlib.pyplot as plt
from datetime import datetime

# 東京の気温データを取得
url = "https://api.open-meteo.com/v1/forecast?latitude=35.68&longitude=139.76&daily=temperature_2m_max&timezone=Asia%2FTokyo"
response = requests.get(url)
data = response.json()

# データ抽出
dates = [datetime.strptime(d, "%Y-%m-%d") for d in data["daily"]["time"]]
temps = data["daily"]["temperature_2m_max"]

# グラフ描画
plt.figure(figsize=(10, 6))
plt.plot(dates, temps, marker="o")

# グラフ装飾
plt.title("東京の1週間の最高気温", fontname="MS Gothic")
plt.xlabel("日付", fontname="MS Gothic")
plt.ylabel("気温 (°C)", fontname="MS Gothic")
plt.grid(True)
plt.xticks(rotation=45)
plt.tight_layout()

# グラフ表示
plt.show()

想定通り、一週間の最高気温が折れ線グラフで描画されていることが確認できました!
非常に簡素なプログラムではありますが、その分コスト・時間両方を最小限に抑えられること、またAIエージェントの推論の流れやファイルの扱いを見ることができるため、まず動きを知りたい、という目的ならばこういった小さなプログラムから始めてみるとより理解しやすいと思います。
また、このようなグラフ描画をエンジニア以外の方が行いたいという場合も簡潔に実装できるため使いやすいかと思います。ただし、AIエージェントにデータを与える場合、学習の対象となりうるため、機密データの扱いについては十分注意が必要です。

利用してみた気づき

以下では、実際に利用してみた結果初心者として気に掛ける必要があると感じたポイントを挙げます。

AIエージェントの能力を引き出すためには、専門の技術を学ぶ必要がある

前述の通り、1ファイルで完結するような単純なプログラミングであれば非常に簡潔に作成してくれます。ですが、モバイルアプリを作らせる、グラフアニメーションを作るなどの複雑性の高い操作を要求すると、完成品が動作しない問題が多々発生しがちです。この問題をコーディングアシスタントを使って対処するためには

  1. プロンプトの指示を具体化する(コーディングアシスタント向けのプロンプトエンジニアリング)
  2. フォルダ構成をプロンプトで指定したり、事前に用意しておくことで、意図に沿ったコーディングを行わせる
  3. よりコーディングについて正確度の高いモデルを選択する

主にこの3点の選択が考えられるかと思います。1と3については、コーディングアシスタントを実際に利用し、情報収集した上でチューニングしていく必要があります。2については、Clineはワークスペースのフォルダ構成を読み込むことでそれに合わせたコーディングを行ってくれます。そのため、利用する言語やフレームワークの知識を元に、適切な構成を与えてClineのコーディングを誘導していく必要があります。
AIエージェントを利用していくならば、今まで通り言語やフレームワークの機能を理解するのは大前提として、その上でAIエージェントをコントロールするための技術を学ぶことも必要です。使い始めるのは非常に簡単でしたが、実用性を求めるならば本腰を入れた学習が必要だと実感しました。

ファイル操作への注意

Clineの操作中はかなり大胆に既存ファイルへの変更が行われる印象がありました。
一度プログラムを組んだ後、プロンプトで別のプログラムを組むように指示したところ、「main.pyが存在するので上書きする」と選択し、迷いなく既存のプログラムを書き換えていきました。また、ワークスペースに別のファイルを配置すると「参考のために中を確認・上書きして良いですか?」と問い合わせてきます。もちろんこれらの操作はユーザー側で拒否ができるのですが、使っている言語やフレームワークに詳しくない状態だと、よくわからないまま承諾してしまうというミスも起こりそうです。また、Clineには上記の問い合わせの返答を待たず、オートで承認して実行するモードもあるのですが、少なくとも初学者のうちは手動で承諾・拒否を選ぶようにしておくべきでしょう。 消されたら困るファイルや、機密上読み込みを行ってはならないファイル等が存在する場合、プロンプトでそれらのファイル操作を制限する等の準備が必要になります。この辺りも慎重にならざるを得ないポイントでした。

終わりに

今回は初学者の目線でClineを試し、気づいたことをまとめてみました。自分がほとんど馴染みのない言語でもすぐに動かせるファイルが出来上がるのは壮観でしたが、実際に使ってみるとやはり何も知らない状態からすぐ使えるというものではないと実感できました。今回は1ファイルのみの単純なプログラムでしたが、Clineの真価は複数ファイル間で連携を行うアプリ開発などの場面で発揮できるかと思います。そういった場面でClineを使いこなせるよう、今後も練習を続けていく必要がありそうです。

Fantia開発採用情報

虎の穴ラボでは現在、一緒にFantiaを開発していく仲間を積極募集中です!
多くのユーザーに使っていただけるtoCサービスの開発をやってみたい方は、ぜひ弊社の採用情報をご覧ください。
toranoana-lab.co.jp